{"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/message.js","services/cookies.js","services/api_service.js","services/setupGeral_service.js","helpers/formats.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","services/acesso.js","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","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","constants/Logotipo.js","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/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","index.jsx"],"names":["module","exports","setSessionCookie","session","Cookies","expires","getSessionCookie","sessionCookie","undefined","JSON","parse","setTokenCookie","React","createContext","token","getTokenCookie","tokenCookie","swall","withReactContent","Swal","showMessage","title","text","icon","function_confirmation","fire","footer","Date","getFullYear","then","showQuestion","showCancelButton","confirmButtonColor","cancelButtonColor","confirmButtonText","cancelButtonText","result","value","removeAllCookies","Object","keys","forEach","cookie","urlApi","process","tenantId","window","location","host","split","api_POST","endpoint","obj","nao_valida_token","Promise","resolve","reject","now","expiration","expired","reload","urlComplete","headers","axios","post","stringify","newResult","status","message","data","catch","error","response","newError","api_PUT","put","api_GET","get","api_GETExternal","getSetupAmibiente","callback","transformValueFloattoFormated","valor","index","toLocaleString","indexOf","substring","length","formateDate","date","moment","format","formateDateSemBarra","formateDateApi","formateDateandTimeApi","formateDateandTime","formateMonthName","month","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","setshowLoading","handleReturn","useForm","mode","register","errors","handleSubmit","setValue","setError","clearErrors","getValues","reset","useState","setup","set_setup","registro","set_registro","useEffect","loadSetup","fluxoCadastroEtapaAtual","tipo","loadOptionsEnquadramento","retorno","options_enquadramento","set_options_enquadramento","enquadramento","set_enquadramento","handleEnquadramento","handleAguardandoAnalise","aprovacao","setupSolicitacaoAcao","acao","enquadramentoObrigatorio","json_submit","requerimentoAnaliseGestor_Id","requerimento_Id","dataAnalise","usuarioAnalise_Id","usuario_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","useHistory","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","a","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","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","localStorage","getItem","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","arquivoPDF","l","nomeArquivo","linkSource","downloadLink","createElement","fileName","download","click","openGuiaCobranca","dataAceite","requerimentoCobrancaComprovantes","caminhoVirtual","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","codigoCadastro","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","set_selection","requerimentos_publicacao","set_requerimentos_publicacao","listLotePublicacao","setListLotePublicacao","setDataPublicacao","editable","cursor","handleVisualizarRequerimento","requerimentoSolicitacaoPublicacaoDiarioOficiais","marginLeft","handlePublicaoLoteRefresh","listaColumn","setListaColumn","listLoteAguardadoAnaliseRGG","setListLoteAguardadoAnaliseRGG","modalLotePublicacao","setModalLotePublicacao","toggleLotePublicacao","modalEnquadramento","setModalEnquadramento","toggleEnquadramento","handlePublicarDiarioOficial","laudaDiarioOficial_Id","requerimentoLaudaDiarioOficial","handleLoteAguardandoAnalise","some","listaRequerimentos","requerimentos_IDs","requerimentosFalha","includes","join","scrollIntoView","_tipoAcao","selectionProps","visibility","disabled","ModalHeader","margin","Form","handleChange","Enquadramento_Id","req","requerimentoSolicitacaoPublicacaoDiarioOficial_Id","onSelectionChange","rows","selectedRow","handleAcaoSectionTable","cellEditable","onCellEditApproved","newValue","oldValue","columnDef","i","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","checked","ListaDashboardRequerimento","listShow","handleReturnDashboard","showLoading","setRequerimentos","requerimentoVisualizar","setRquerimentoVisualizar","_etapa","etapa","requerimentosList","_requerimentos","ultimaAcao","dataSolicitacao","handleView","finally","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","urlCaminhoFirtual","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","handleRequerimentoRenovarCadastro","pathname","handleRetornoCancelaRequerimento","numeroProtocolo","valorGuia","removeItem","setupSolicitacaoAcaoNovoCadastro","dataFimVigencia","protocoloTransportadorClasseResiduo","tipoCertificadoTransportador","protocoloTransportadorVeiculo","protocoloTransportadorVeiculoModalidades","dataVistoria","dataValidadeVistoria","protocoloTransportadorVeiculo_Id","protocoloTransportadorLocalGuarda","protocoloTransportadorLocalDestino","protocoloTransportadorEquipamento","protocoloDocumentos","dataAceiteDeclaracao","handleOpenRequerimento","_requerimento","prop","toUpperCase","FichaGerador","console","log","protocoloGeradorCaracterizacaoResiduos","protocoloGeradorLocaisArmazenagem","protocoloGeradorLocais","protocoloGeradorLocalContratos","protocoloGeradorClasseResiduos","filtering","FichaDestino","handleRequerimentoAlterarCadastro","handleRequerimentoCancelamento","bloquearRecebimentoCapacidadeExcedida","requerComprovacaoDestinacao","observacaoManutencao","protocoloDestinoLocais","protocoloDestinoLocal_Id","protocoloDestinoClasseResiduos","protocoloDestinoTransportadores","classificacao","ValidaAcessoFuncionalidadeAcao","funcionalidadeAcao","login","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","tableData","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","mensagem","sucesso","addNovoGerador","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","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","j","funcionalidades","funcionalidadeAcoes","perfilFuncionalidadeAcao","funcionalidadeAcao_Id","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","Spinner","validadacaoSubPrefeitura","inicio","dataInicial","fim","dataFinal","autocomplete","ComponentToPrint","ComponentToExcel","forwardRef","geradores","n","key2","numero","fone","responsavelTecnico","dataValidacao","locaisColeta","key3","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","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","toLowerCase","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","logotipo","logoSecundario","ps","routes","path","component","setItem","urL_WEB_ROC","jsonSubmit","password","remove","layout","sidebar","new_password","json_post","novaSenha","confirmarSenha","password_antiga","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","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","authenticationData","_dataAcesso","dataAcesso","handleCancelarRequerimento","esqueceuSenha","set_esqueceuSenha","recuperarRequerimento","set_recuperarRequerimento","openModal","paramentros","_autenticacaoUsuario","senhaModal","getTime","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","isModal","setIsModal","list_transportadoresRGG","set_list_transportadores","visualizarTransportadores","setVisualizarTransportadoes","_enderencosLocais","localidades","setLocalidades","contratos","alt","contrato","keyContrato","flex","ImageLogo","tag","logoOpacity","qrStyle","fgColor","bgColor","logoWidth","logoheight","nomeFantasiaTransportador","logoFooterSPRegula","_classificacaoGG","capacidadeAtualizada","set_capacidadeAtualizada","capacidadeAntiga","capacidadeNova","localDestinoAtual","set_LocalDestinoAtual","edit","handleAumentoCapacidade","d","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","borderTop","bottom","Empty","External","hist","createBrowserHistory","ReactDOM","getElementById"],"mappings":"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","file":"static/js/main.0189d777.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,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\"","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 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 * 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 axios from 'axios';\r\nimport { getTokenCookie, setTokenCookie } from './session';\r\n\r\nconst urlApi = process.env.REACT_APP_API_ENDPOINT\r\nconst tenantId = window.location.host.split(':')[0].split('.')[0];\r\n\r\nconst api_POST = (endpoint, obj, nao_valida_token) => {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n\r\n if (nao_valida_token !== undefined) {\r\n var token = getTokenCookie();\r\n var now = new Date();\r\n var expiration = new Date(token.expiration);\r\n if (expiration < now) {\r\n token.expired = true;\r\n setTokenCookie(token)\r\n window.location.reload();\r\n resolve(null);\r\n }\r\n }\r\n\r\n try {\r\n const urlComplete = urlApi + endpoint;\r\n const headers = { headers: { 'Content-Type': 'application/json', 'tenantId': tenantId } };\r\n return axios.post(urlComplete, JSON.stringify(obj), headers)\r\n .then(result => {\r\n var newResult = {\r\n status: result.status,\r\n message: result.message,\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 token.expired = true;\r\n setTokenCookie(token)\r\n window.location.reload();\r\n resolve(null);\r\n }\r\n\r\n var message = \"\";\r\n if (error.response.data)\r\n message = error.response.data;\r\n else\r\n message = \"Erro inesperado\";\r\n\r\n var 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 var result = {\r\n status: 500,\r\n message: \"Erro ao conectar com api.\"\r\n }\r\n resolve(result);\r\n }\r\n });\r\n }\r\n catch (error) {\r\n var result = {\r\n status: 500,\r\n message: \"Erro no servidor.\"\r\n }\r\n resolve(result);\r\n }\r\n });\r\n\r\n return promise;\r\n};\r\n\r\nconst api_POST_File = (endpoint, obj, nao_valida_token) => {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n try {\r\n const urlComplete = urlApi + endpoint;\r\n const headers = { headers: { 'Content-Type': \"multipart/form-data\", \"Mime-Type\": \"multipart/form-data\", 'tenantId': tenantId } };\r\n return axios.post(urlComplete, obj, headers)\r\n .then(result => {\r\n var newResult = {\r\n status: result.status,\r\n message: result.message,\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 var message = \"\";\r\n if (error.response.data)\r\n message = error.response.data;\r\n\r\n var newError = {\r\n status: error.response.status,\r\n message: message\r\n }\r\n resolve(newError);\r\n }\r\n else {\r\n var result = {\r\n status: 501,\r\n message: \"Erro ao conectar com api.\"\r\n }\r\n resolve(result);\r\n }\r\n });\r\n\r\n }\r\n catch (error) {\r\n var result = {\r\n status: 501,\r\n message: \"Erro no servidor.\"\r\n }\r\n resolve(result);\r\n }\r\n\r\n });\r\n\r\n return promise;\r\n};\r\n\r\nconst api_PUT = (endpoint, obj, nao_valida_token) => {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n\r\n if (nao_valida_token !== undefined) {\r\n var token = getTokenCookie();\r\n var now = new Date();\r\n var expiration = new Date(token.expiration);\r\n if (expiration < now) {\r\n token.expired = true;\r\n setTokenCookie(token)\r\n window.location.reload();\r\n resolve(null);\r\n }\r\n }\r\n try {\r\n const urlComplete = urlApi + endpoint;\r\n const headers = { headers: { 'Content-Type': 'application/json', 'tenantId': tenantId } };\r\n return axios.put(urlComplete, JSON.stringify(obj), headers)\r\n .then(result => {\r\n var newResult = {\r\n status: result.status,\r\n message: result.message,\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 token.expired = true;\r\n setTokenCookie(token)\r\n window.location.reload();\r\n resolve(null);\r\n }\r\n\r\n var message = \"\";\r\n if (error.response.data)\r\n message = error.response.data;\r\n else\r\n message = \"Erro inesperado\";\r\n\r\n var 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 var result = {\r\n status: 500,\r\n message: \"Erro ao conectar com api.\"\r\n }\r\n resolve(result);\r\n }\r\n });\r\n\r\n }\r\n catch (error) {\r\n var result = {\r\n status: 500,\r\n message: \"Erro no servidor.\"\r\n }\r\n resolve(result);\r\n }\r\n\r\n });\r\n\r\n return promise;\r\n};\r\n\r\nconst api_DELETE = (endpoint, obj, nao_valida_token) => {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n\r\n if (nao_valida_token !== undefined) {\r\n var token = getTokenCookie();\r\n var now = new Date();\r\n var expiration = new Date(token.expiration);\r\n if (expiration < now) {\r\n token.expired = true;\r\n setTokenCookie(token)\r\n window.location.reload();\r\n resolve(null);\r\n }\r\n }\r\n try {\r\n const urlComplete = urlApi + endpoint;\r\n const headers = { headers: { 'Content-Type': 'application/json', 'tenantId': tenantId } };\r\n return axios.delete(urlComplete, JSON.stringify(obj), headers)\r\n .then(result => {\r\n var newResult = {\r\n status: result.status,\r\n message: result.message,\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 token.expired = true;\r\n setTokenCookie(token)\r\n window.location.reload();\r\n resolve(null);\r\n }\r\n\r\n var message = \"\";\r\n if (error.response.data)\r\n message = error.response.data;\r\n else\r\n message = \"Erro inesperado\";\r\n\r\n var 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 var result = {\r\n status: 500,\r\n message: \"Erro ao conectar com api.\"\r\n }\r\n resolve(result);\r\n }\r\n });\r\n\r\n }\r\n catch (error) {\r\n var result = {\r\n status: 500,\r\n message: \"Erro no servidor.\"\r\n }\r\n resolve(result);\r\n }\r\n\r\n });\r\n\r\n return promise;\r\n};\r\n\r\nconst api_GET = (endpoint, nao_valida_token) => {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n\r\n if (nao_valida_token !== undefined) {\r\n var token = getTokenCookie();\r\n var now = new Date();\r\n var expiration = new Date(token.expiration);\r\n if (expiration < now) {\r\n token.expired = true;\r\n setTokenCookie(token)\r\n window.location.reload();\r\n resolve(null);\r\n }\r\n }\r\n try {\r\n const urlComplete = urlApi + endpoint;\r\n const headers = { headers: { 'tenantId': tenantId } };\r\n return axios.get(urlComplete, headers)\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 token.expired = true;\r\n setTokenCookie(token)\r\n window.location.reload();\r\n return;\r\n }\r\n\r\n let message = \"\";\r\n if (error.response.data)\r\n message = error.response.data;\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 }\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\r\n return promise;\r\n\r\n};\r\n\r\nconst api_GETExternal = (endpoint) => {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n\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 });\r\n\r\n return promise;\r\n\r\n};\r\n\r\nexport { api_POST, api_PUT, api_DELETE, api_GET, api_GETExternal, api_POST_File };","import { api_GET } from \"services/api_service\";\r\n\r\nexport const getSetupAmibiente = (callback) => {\r\n api_GET('SetupGeral').then(result => {\r\n callback(result);\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};","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} linhas(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 } 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// style\r\nimport \"assets/css/loading.css\";\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 { getSessionCookie } from \"services/session.js\";\r\nimport { formateDateApi } from \"helpers/formats\";\r\nimport { getSetupAmibiente } from \"services/setupGeral_service.js\";\r\n\r\nexport default function AcoesGestor({ requerimento, setshowLoading, handleReturn }) {\r\n let session = getSessionCookie();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, reset, getValues } = useForm({ mode: \"onBlur\" });\r\n\r\n const [setup, set_setup] = React.useState(null);\r\n\r\n const [registro, set_registro] = React.useState(null);\r\n\r\n useEffect(() => {\r\n loadSetup();\r\n set_registro(requerimento);\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 const loadSetup = () => {\r\n getSetupAmibiente(function (retorno) {\r\n if (retorno) {\r\n set_setup(retorno.data);\r\n }\r\n });\r\n }\r\n\r\n // Enquadramento\r\n const [options_enquadramento, set_options_enquadramento] = React.useState([]);\r\n const [enquadramento, set_enquadramento] = React.useState(null);\r\n const loadOptionsEnquadramento = () => {\r\n api_GET('enquadramento').then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_options_enquadramento(result.data);\r\n }\r\n });\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 setshowLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoAnaliseGestor', json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n handleReturn();\r\n });\r\n }\r\n });\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 setshowLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoAnaliseEnquadramento', json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n handleReturn();\r\n });\r\n }\r\n });\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 setshowLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoAprovacao', json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n handleReturn();\r\n });\r\n }\r\n });\r\n }\r\n\r\n const handleAguardandoCompensacao = () => {\r\n api_GET('AnaliseRequerimento/AtualizaStatusCobranca/' + registro.requerimento_Id).then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\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 });\r\n }\r\n\r\n // const handleSolicitacaoVistoria = () => {\r\n // api_POST(`AnaliseRequerimento/PostSolicitacaoVistoria/${registro.requerimento_Id}`).then(result => {\r\n // if (result.status !== 200) {\r\n // showMessage(\"Aviso\", result.message, 'error', null);\r\n // }\r\n // else {\r\n // showMessage(\"Aviso\", \"Solicitação de vistoria realizada com sucesso.\", 'success', function () {\r\n // handleReturn();\r\n // });\r\n // }\r\n // });\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 setshowLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoPublicacaoDiarioOficial', json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n handleReturn();\r\n });\r\n }\r\n });\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 setshowLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoFiscalizacao', json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n handleReturn();\r\n });\r\n }\r\n });\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.usuario_Id : null;\r\n setshowLoading(true);\r\n\r\n api_POST(`requerimento/PostCancelaRequerimento/${registro.requerimento_Id}/` + usuario_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\r\n showMessage(\"Aviso\", \"Requerimento cancelado com sucesso!\", 'success', function () {\r\n handleReturn();\r\n });\r\n }\r\n });\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 setshowLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoCobranca', json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n handleReturn();\r\n });\r\n }\r\n });\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 setshowLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoAprovacaoPagamento', json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n handleReturn();\r\n });\r\n }\r\n });\r\n }\r\n\r\n const handleEmailCobranca = () => {\r\n setshowLoading(true);\r\n api_GET(`AnaliseRequerimento/ReenviarCobrancaEmail/${requerimento.requerimento_Id}`).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n handleReturn();\r\n });\r\n }\r\n });\r\n }\r\n\r\n const handleEmailAgendamentoVistoria = () => {\r\n setshowLoading(true);\r\n api_GET(`AnaliseRequerimento/ReenviarAgendamentoVistoriaEmail/${requerimento.requerimento_Id}`).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n handleReturn();\r\n });\r\n }\r\n });\r\n }\r\n\r\n const handleBaixaManual = () => {\r\n setshowLoading(true);\r\n api_POST(`AnaliseRequerimento/BaixaManualBoletoRequerimento/${requerimento.requerimento_Id}/${session.usuario_Id}`).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n handleReturn();\r\n });\r\n }\r\n });\r\n }\r\n\r\n return (\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 setup && setup.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 setup && setup.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 setup && setup.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} ","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 \"assets/css/loading.css\";\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\nimport { getSessionCookie } from \"services/session.js\";\r\nimport { getSetupAmibiente } from \"services/setupGeral_service.js\";\r\n\r\n// views\r\nimport AcoesGestor from \"views/Shared/AcoesGestor\";\r\nimport { api_POST } from \"services/api_service\";\r\n\r\nexport default function FichaRequerimento({ item, setshowLoading, handleReturn, showAcoesGestor }) {\r\n let session = getSessionCookie();\r\n const history = useHistory();\r\n\r\n const [setup, set_setup] = React.useState(null);\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}`).then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n return;\r\n }\r\n else {\r\n setJustificativaList(result.data);\r\n }\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).then(result => {\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\r\n setExistAcaoDocumento(result.data.solicitacaoAcoes.filter(f => f.setupSolicitacaoAcao_Id == item.setupSolicitacaoAcao_Id)[0].acaoDocumentos.length)\r\n }\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.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\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 });\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).then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_historicoAnaliseGestor(result.data);\r\n }\r\n });\r\n }\r\n\r\n const loadSetup = () => {\r\n getSetupAmibiente(function (retorno) {\r\n if (retorno) {\r\n set_setup(retorno.data);\r\n }\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n loadItem();\r\n loadSteps();\r\n loadHistoricoAnaliseGestor();\r\n loadSetup();\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).then(result => {\r\n setIsLoadingEmitirGuia(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', window.location.reload());\r\n }\r\n });\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 {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.usuario_Id != null && 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(localStorage.getItem(\"roc-virtualPath\") + 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 {setup && setup.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 {setup && setup.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 &&\r\n requerimento.status == \"Pendente\" &&\r\n requerimento.fluxoCadastroEtapaAtual != null &&\r\n requerimento.fluxoCadastroEtapaAtual.tipo == \"Emissão de Guia\" &&\r\n setup && setup.metodologiaCobranca == \"Integração PRODAM\" &&\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\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/loading.css\";\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\nimport { getSessionCookie } from \"services/session.js\";\r\nimport { getSetupAmibiente } from \"services/setupGeral_service.js\";\r\n\r\n// views\r\nimport AcoesGestor from \"../../../views/Shared/AcoesGestor\";\r\nimport { useHistory } from \"react-router\";\r\nimport { api_POST } from \"services/api_service\";\r\n\r\n\r\nexport default function FichaRequerimento({ item, setshowLoading, handleReturn, showAcoesGestor }) {\r\n let session = getSessionCookie();\r\n\r\n const history = useHistory()\r\n\r\n const [setup, set_setup] = React.useState(null);\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}`).then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n return;\r\n }\r\n else {\r\n setJustificativaList(result.data);\r\n }\r\n });\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).then(result => {\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\r\n setExistAcaoDocumento(result.data.solicitacaoAcoes.filter(f => f.setupSolicitacaoAcao_Id == item.setupSolicitacaoAcao_Id)[0].acaoDocumentos.length)\r\n }\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).then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\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 });\r\n }\r\n\r\n const [historicoAnaliseGestor, set_historicoAnaliseGestor] = useState([]);\r\n const loadHistoricoAnaliseGestor = () => {\r\n api_GET('requerimento/GetHistoricoAprovacaoRequerimento/' + item.requerimento_Id).then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_historicoAnaliseGestor(result.data);\r\n }\r\n });\r\n }\r\n\r\n const loadSetup = () => {\r\n getSetupAmibiente(function (retorno) {\r\n if (retorno) {\r\n set_setup(retorno.data);\r\n }\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n loadItem();\r\n loadSteps();\r\n loadHistoricoAnaliseGestor();\r\n loadSetup();\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).then(result => {\r\n setIsLoadingEmitirGuia(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n return;\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', window.location.reload());\r\n }\r\n });\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(localStorage.getItem(\"roc-virtualPath\") + 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.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(localStorage.getItem(\"roc-virtualPath\") + 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 {setup && setup.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.usuario_Id != null && requerimento != null && requerimento.status != \"Finalizado\" &&\r\n
\r\n \r\n
\r\n }\r\n\r\n {session == null &&\r\n requerimento.status == \"Pendente\" &&\r\n requerimento.fluxoCadastroEtapaAtual != null &&\r\n requerimento.fluxoCadastroEtapaAtual.tipo == \"Emissão de Guia\" &&\r\n setup && setup.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 \"assets/css/loading.css\";\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 { getSessionCookie } from \"services/session.js\";\r\nimport { getSetupAmibiente } from \"services/setupGeral_service.js\";\r\n\r\n// views\r\nimport AcoesGestor from \"views/Shared/AcoesGestor\";\r\nimport { useHistory } from \"react-router\";\r\nimport { api_POST } from \"services/api_service\";\r\n\r\nexport default function FichaRequerimento({ item, setshowLoading, handleReturn, showAcoesGestor }) {\r\n let session = getSessionCookie();\r\n const history = useHistory();\r\n\r\n const [setup, set_setup] = React.useState(null);\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}`).then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n return;\r\n }\r\n else {\r\n setJustificativaList(result.data);\r\n }\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).then(result => {\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\r\n setExistAcaoDocumento(result.data.solicitacaoAcoes.filter(f => f.setupSolicitacaoAcao_Id == item.setupSolicitacaoAcao_Id)[0].acaoDocumentos.length)\r\n }\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.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\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 });\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).then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_historicoAnaliseGestor(result.data);\r\n }\r\n });\r\n }\r\n\r\n const loadSetup = () => {\r\n getSetupAmibiente(function (retorno) {\r\n if (retorno) {\r\n set_setup(retorno.data);\r\n }\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n loadItem();\r\n loadSteps();\r\n loadHistoricoAnaliseGestor();\r\n loadSetup();\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).then(result => {\r\n setIsLoadingEmitirGuia(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n return;\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', window.location.reload());\r\n }\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.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

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.usuario_Id != null && 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(localStorage.getItem(\"roc-virtualPath\") + 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 \r\n {setup && setup.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 {setup && setup.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 &&\r\n requerimento.status == \"Pendente\" &&\r\n requerimento.fluxoCadastroEtapaAtual != null &&\r\n requerimento.fluxoCadastroEtapaAtual.tipo == \"Emissão de Guia\" &&\r\n setup && setup.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 \"assets/css/loading.css\";\r\nimport { table_translate } from \"../../constants/MaterialTable.js\";\r\n\r\n// helpers\r\nimport { formateDate, formateDateApi } 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 { getSessionCookie } from \"../../services/session.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\nexport default function AcompanhamentoLista({ requerimentos, handleReturn, setshowLoading }) {\r\n let session = getSessionCookie();\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 id do Requerimento\r\n const [requerimento_id, setRequerimento_id] = useState(0);\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 });\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 colocar os campos na tabela\r\n const [listaColumn, setListaColumn] = useState([\r\n {\r\n title: 'Ações', field: \"internal_action\",\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' },\r\n { title: 'Categoria', field: 'setupSolicitacaoAcao.setupSolicitacao.categoria.descricao', editable: 'never' },\r\n { title: 'Etapa', field: 'fluxoCadastroEtapaAtual.tipo', editable: 'never' },\r\n { title: 'Data da Solicitação', field: 'dataCriacaoRequerimento', render: (rowData) => formateDate(rowData.dataCriacaoRequerimento), editable: 'never' },\r\n { title: 'Última Ação', field: 'dataUltimaAcao', render: (rowData) => rowData.dataUltimaAcao != null ? formateDate(rowData.dataUltimaAcao) : \"\", editable: 'never' },\r\n { title: 'CNPJ/CPF', field: 'protocolo.cpf_Cnpj', editable: 'never' },\r\n { title: 'Solicitante', field: 'protocolo.nomeSolicitante', editable: 'never' }\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').then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_options_enquadramento(result.data);\r\n }\r\n });\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 setshowLoading(true);\r\n api_POST('AnaliseRequerimento/PostEnquadramentos', json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n toggleEnquadramento();\r\n handlePublicarDiarioOficial();\r\n }\r\n });\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 setshowLoading(true);\r\n api_POST('AnaliseRequerimento/PostLaudaDiarioOficial', json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n handleReturn();\r\n });\r\n }\r\n });\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 setshowLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoCobrancaLote', json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n showMessage(\"Aviso\", result.data, 'success', function () {\r\n handleReturn();\r\n });\r\n }\r\n });\r\n }\r\n\r\n const handleVisualizarRequerimento = (rowData) => {\r\n setshowLoading(true);\r\n api_GET('requerimento/' + rowData.requerimento_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_item_requerimento(result.data);\r\n }\r\n });\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 setshowLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoSolicitacaoPublicacaoDiarioOficial', json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n return;\r\n }\r\n else {\r\n setListLotePublicacao([])\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n handleReturn();\r\n });\r\n }\r\n });\r\n }\r\n\r\n const handlePublicaoLoteRefresh = (requerimento_Id) => {\r\n setshowLoading(true);\r\n api_POST('AnaliseRequerimento/PostProcessaPublicacaoDiarioOficial/' + requerimento_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n return;\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n handleReturn();\r\n });\r\n }\r\n });\r\n }\r\n\r\n const handleAcaoSectionTable = (rows, selectedRow) => {\r\n 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 } else if (tipoAcao.tipo == \"Aguardando Diário Oficial\") {\r\n setListLotePublicacao(rows.filter(x => x?.requerimentoSolicitacaoPublicacaoDiarioOficiais?.length == 0));\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 setshowLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentosLoteAnaliseGestor', listaRequerimentos).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Error\", \"Alguns requerimentos falharam. Por favor, verifique cada um individualmente.\", 'warning', () => handleReturn());\r\n } else {\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 });\r\n }\r\n\r\n useEffect(() => {\r\n if (ref) {\r\n ref.current.scrollIntoView();\r\n }\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 };\r\n\r\n setTipoAcao({ ..._tipoAcao });\r\n set_list_table(requerimentos);\r\n\r\n if (_tipoAcao.tipo == \"Publicar Diário Oficial\" ||\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([...listaColumn, {\r\n title: 'Quantidade de Boletos',\r\n editable: 'never',\r\n render: (rowData) => rowData.requerimentoCobrancas.length > 0 ? rowData.requerimentoCobrancas.length : 0\r\n }]);\r\n }\r\n else if (_tipoAcao.tipo == \"Aguardando Diário Oficial\") {\r\n set_selection({ ...selection, selection: true, selectionProps: rowData => ({ style: { visibility: rowData?.requerimentoSolicitacaoPublicacaoDiarioOficiais[0]?.status ? 'hidden' : 'visible' }, disabled: rowData?.requerimentoSolicitacaoPublicacaoDiarioOficiais[0]?.status ? true : false }) });\r\n setListaColumn([...listaColumn, { title: 'Status Processamento', field: 'status', render: (rowData) => rowData.requerimentoSolicitacaoPublicacaoDiarioOficiais[0]?.status ?? null, editable: 'never' }])\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, selectedRow) }}\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 \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\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\nfunction ListaDashboardRequerimento({ listShow, handleReturnDashboard }) {\r\n\r\n const [showLoading, setshowLoading] = useState(true);\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\r\n setRequerimentos(_requerimentos);\r\n }\r\n }\r\n\r\n setshowLoading(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 setshowLoading(true);\r\n api_GET('requerimento/' + requerimento[0].requerimento_Id)\r\n .then(result =>\r\n { \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(e => showMessage(\"Aviso\", e.message, 'error', null))\r\n .finally(() => setshowLoading(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\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 {showLoading &&\r\n
\r\n
\r\n \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\nimport \"assets/css/loading.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\nfunction initialStateFiltro() {\r\n return {\r\n modalidade: \"Todos\"\r\n }\r\n}\r\nfunction Dashboard() {\r\n // Estado para o botão de aparecer fitros de Data\r\n const [showLoading, setshowLoading] = useState(true);\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 api_GET('Dashboard/protocolos').then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n setDashboardAuxiliar({\r\n ...dashboardAuxiliar,\r\n dashboardProtocolo: result.data\r\n })\r\n setDashboardProtocolo(result.data);\r\n }\r\n });\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 setshowLoading(true);\r\n api_POST('Dashboard/requerimentos', json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, \"error\", null);\r\n } else {\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 });\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 setshowLoading(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 {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n {!showLoading && 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// style\r\nimport \"assets/css/loading.css\";\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\nimport { getSessionCookie } from \"services/session.js\";\r\n\r\nexport default function AgendamentoVistoria({ requerimentoAgendamento, handleReturn }) {\r\n const { handleSubmit } = useForm({ mode: \"onBlur\" });\r\n\r\n let session = getSessionCookie();\r\n\r\n const [showLoading, setshowLoading] = useState(false);\r\n const [list_agendamentos, set_list_agendamentos] = useState([]);\r\n\r\n const loadListAgendamentos = () => {\r\n setshowLoading(true);\r\n api_GET(`AgendamentoVistoria/GetAgendamentoVistoriaByRequerimento/${requerimentoAgendamento.requerimento_Id}`).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_list_agendamentos(result.data);\r\n }\r\n });\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 ? `Atualizado pelo usuário ${session.nome} (${session.usuario_Id})` : \"Atualizado pelo Transportador\"\r\n })\r\n })\r\n\r\n setshowLoading(true);\r\n api_PUT(`AgendamentoVistoria/PutRequerimentoTransportadorAgendamento`, json_submit).then(result => {\r\n if (result.status !== 200) {\r\n setshowLoading(false);\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n setshowLoading(false);\r\n showMessage(\"Aviso\", \"Agendamento atualizado com sucesso\", 'success', function () {\r\n if (handleReturn)\r\n handleReturn();\r\n });\r\n }\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\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, setshowLoading, 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 setshowLoading(true);\r\n api_GET(`AgendamentoVistoria/GetDisponibilidadeAgenda/${item.requerimentoTransportadorAgendamento_Id}/${ano}/${_mes}`).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\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 });\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 { getSessionCookie } from \"services/session.js\";\r\nimport { showMessage } from \"services/message.js\";\r\n\r\nconst urlCaminhoFirtual = localStorage.getItem(\"roc-virtualPath\")\r\n\r\nexport default function InputPDF (props) {\r\n const session = getSessionCookie();\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// style\r\nimport \"assets/css/loading.css\";\r\n\r\n// services\r\nimport { showMessage, } from \"services/message.js\";\r\nimport { api_POST } from \"services/api_service.js\";\r\nimport { getSessionCookie } from \"services/session.js\";\r\nimport { formateDateApi } from \"helpers/formats\";\r\n\r\nexport default function ConfirmacaoVistoria({ requerimentoTransportadorAgendamento_Id, placa, handleReturn, setshowLoading }) {\r\n\r\n const { register, getValues } = useForm({ mode: \"onBlur\" }); \r\n let session = getSessionCookie();\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 setshowLoading(true);\r\n api_POST(`AnaliseRequerimento/PostRequerimentoTransportadorVistoria`, json_submit).then(result => {\r\n if (result.status !== 200) {\r\n setshowLoading(false);\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n setshowLoading(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 });\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\nimport moment from \"moment\";\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\nexport default function CalendarioVistoria({handleReturn}) {\r\n\r\n const [showLoading, setshowLoading] = useState(false);\r\n const [eventosCalendario, set_eventosCalendario] = useState([]);\r\n\r\n const loadEventosCalendario = () => {\r\n setshowLoading(true);\r\n api_GET(`AgendamentoVistoria/GetFromCalendario`).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\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 });\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 {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n
\r\n \r\n \r\n \r\n \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\n\r\nexport const CancelarRequerimentoByRequerimento = (requerimento_Id, usuario_Id, callback) => {\r\n api_POST(`requerimento/PostCancelaRequerimento/${requerimento_Id}/` + usuario_Id).then(result => {\r\n callback(result);\r\n });\r\n}\r\n\r\nexport const CancelarRequerimentoByProtocolo = (protocolo_Id, callback) => {\r\n api_POST(`requerimento/CancelaRequerimentoByProtocolo/${protocolo_Id}`).then(result => {\r\n callback(result);\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 } from \"reactstrap\";\r\n\r\n// componentes\r\nimport ModalJustificativa from \"components/ModalJustificativa/ModalJustificativa\";\r\n\r\n// style\r\nimport \"../../../assets/css/loading.css\";\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 { getSessionCookie } from \"../../../services/session.js\";\r\nimport { CancelarRequerimentoByRequerimento } from \"../../../services/requerimento_service.js\";\r\nimport { getSetupAmibiente } from \"../../../services/setupGeral_service.js\";\r\n\r\n// views\r\nimport FichaRequerimento from \"./FichaRequerimento.jsx\";\r\n\r\nexport default function FichaTransportador({ history, item, showAcoesGestor }) {\r\n let session = getSessionCookie();\r\n\r\n const [showLoading, setshowLoading] = React.useState(false);\r\n\r\n const [setup, set_setup] = React.useState(null);\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).then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_list_acoes(result.data);\r\n }\r\n });\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 setshowLoading(true);\r\n api_GET('requerimento/' + rowData.requerimento_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_requerimento(result.data);\r\n }\r\n });\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.usuario_Id : 0;\r\n setshowLoading(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 setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\r\n showMessage(\"Aviso\", \"Requerimento cancelado com sucesso!\", 'success', function () {\r\n window.location.reload();\r\n });\r\n }\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 setshowLoading(true);\r\n\r\n api_POST(`requerimento/PostNovoRequerimento/${protocolo.protocolo_Id}`).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\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 });\r\n }\r\n })\r\n }\r\n\r\n const handleReturnRequerimento = () => {\r\n set_requerimento(null);\r\n }\r\n\r\n const loadSetup = () => {\r\n getSetupAmibiente(function (retorno) {\r\n if (retorno) {\r\n set_setup(retorno.data);\r\n }\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n loadSetup();\r\n set_protocolo(item);\r\n loadOptionsAcoes();\r\n\r\n\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 setshowLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoCobranca', json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', window.location.reload());\r\n }\r\n });\r\n }\r\n \r\n\r\n return (\r\n <>\r\n {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n {protocolo != null && protocolo.protocoloTransportador != null && protocolo.protocoloTransportador.length > 0 && requerimento == null &&\r\n
\r\n
\r\n {!session &&\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\" && setup && setup.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\" && setup && setup.tipoCertificadoTransportador == \"Por Veículo\" &&\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 {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla != \"RGG\" &&
\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 {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla != \"RGG\" &&\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(localStorage.getItem(\"roc-virtualPath\") + 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 {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 && \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 setup && setup.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/loading.css\";\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 { getSessionCookie } from \"services/session.js\";\r\nimport { CancelarRequerimentoByRequerimento } from \"services/requerimento_service.js\";\r\nimport { getSetupAmibiente } from \"services/setupGeral_service.js\";\r\n\r\n// views\r\nimport FichaRequerimento from \"views/Shared/Gerador/FichaRequerimento\"\r\n\r\nexport default function FichaGerador({ history, item, showAcoesGestor }) {\r\n let session = getSessionCookie();\r\n\r\n const [showLoading, setshowLoading] = useState(false);\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 [setup, set_setup] = React.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 const loadSetup = () => {\r\n getSetupAmibiente(function (retorno) {\r\n if (retorno) {\r\n set_setup(retorno.data);\r\n }\r\n });\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 loadOptionsAcoes = () => {\r\n api_GET('SetupSolicitacao/GetListByProtocolo/' + item.numeroProtocolo).then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_list_acoes(result.data);\r\n }\r\n });\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 setshowLoading(true);\r\n api_GET('requerimento/' + rowData.requerimento_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_requerimento(result.data);\r\n }\r\n });\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.usuario_Id : 0;\r\n setshowLoading(true);\r\n CancelarRequerimentoByRequerimento(_requerimento.requerimento_Id, usuario_Id, handleRetornoCancelaRequerimento);\r\n }\r\n })\r\n }\r\n const handleRetornoCancelaRequerimento = (result) => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\r\n showMessage(\"Aviso\", \"Requerimento cancelado com sucesso!\", 'success', function () {\r\n window.location.reload();\r\n });\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 setshowLoading(true);\r\n\r\n api_POST(`requerimento/PostNovoRequerimento/${protocolo.protocolo_Id}`).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\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 });\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 setshowLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoCobranca', json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', window.location.reload());\r\n }\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n set_protocolo(item);\r\n loadOptionsAcoes();\r\n loadSetup();\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 console.log(protocolo?.requerimento)\r\n return (\r\n <>\r\n
\r\n {!session &&\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(localStorage.getItem(\"roc-virtualPath\") + 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 {showLoading &&\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(localStorage.getItem(\"roc-virtualPath\") + 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 setup && setup.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 \"assets/css/loading.css\";\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 { getSessionCookie } from \"services/session.js\";\r\nimport { CancelarRequerimentoByRequerimento } from \"services/requerimento_service.js\";\r\nimport { getSetupAmibiente } from \"services/setupGeral_service.js\";\r\n\r\n// views\r\nimport FichaRequerimento from \"views/Shared/Destino/FichaRequerimento\"\r\nimport { prototype } from \"xlsx-populate/lib/FormulaError\";\r\n\r\nexport default function FichaDestino({ history, item, showAcoesGestor }) {\r\n let session = getSessionCookie();\r\n\r\n const [showLoading, setshowLoading] = useState(false);\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 [setup, set_setup] = useState(null);\r\n\r\n const [modal, setModal] = useState(false);\r\n\r\n const toggleModal = () => setModal(!modal);\r\n\r\n const loadSetup = () => {\r\n getSetupAmibiente(function (retorno) {\r\n if (retorno) {\r\n set_setup(retorno.data);\r\n }\r\n });\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 loadOptionsAcoes = () => {\r\n api_GET('SetupSolicitacao/GetListByProtocolo/' + item.numeroProtocolo).then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_list_acoes(result.data);\r\n }\r\n });\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 setshowLoading(true);\r\n api_GET('requerimento/' + rowData.requerimento_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_requerimento(result.data);\r\n }\r\n });\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.usuario_Id : 0;\r\n setshowLoading(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 setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\r\n showMessage(\"Aviso\", \"Requerimento cancelado com sucesso!\", 'success', function () {\r\n window.location.reload();\r\n });\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 setshowLoading(true);\r\n\r\n api_POST(`requerimento/PostNovoRequerimento/${protocolo.protocolo_Id}`).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\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 });\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 setshowLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoCobranca', json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', window.location.reload());\r\n }\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n set_protocolo(item);\r\n loadOptionsAcoes();\r\n loadSetup();\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\r\n return (\r\n <>\r\n {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n
\r\n {!session &&\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(localStorage.getItem(\"roc-virtualPath\") + 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 setup && setup.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 { getSessionCookie } from \"services/session.js\";\r\n\r\nexport default function ValidaAcessoFuncionalidadeAcao(funcionalidadeAcao, callback){\r\n let session = getSessionCookie(); \r\n if (session == null)\r\n {\r\n callback(false);\r\n return;\r\n }\r\n \r\n if (session.login == \"csj\")\r\n {\r\n callback(true);\r\n return;\r\n }\r\n\r\n api_GET('usuario/ValidaAcessoFuncionalidadeAcao/' + session.usuario_Id + \"/\" + funcionalidadeAcao).then(result => {\r\n if (result.status === 200) \r\n callback(result.data);\r\n else\r\n callback(false);\r\n });\r\n};","import { api_GET } from \"services/api_service.js\";\r\n\r\nconst ValidaEmail = (email, callback) => {\r\n api_GET('email/ValidaEmail/'+ email).then(result => {\r\n callback(result, email);\r\n });\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\n\r\n// style\r\nimport \"assets/css/loading.css\";\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 { getSessionCookie } from \"services/session.js\";\r\nimport { EnviaProtocoloWithProtocoloTransportador, EnviaRequerimentoTransportador } from \"services/protocolo_transportador_service.js\";\r\nimport { isValidDate } from \"helpers/valid.js\";\r\nimport { GetCEPViaCEP } from \"services/viaCep\";\r\n\r\nexport default function Identificacao({ item, tipoCadastro, permiteManutencao, handleProximoStep, handleReturn }) {\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n\r\n const [showLoading, setshowLoading] = React.useState(false);\r\n\r\n let session = getSessionCookie();\r\n const [permiteEditar, set_permiteEditar] = React.useState(true);\r\n const [modal, setModal] = useState(false);\r\n const toggleModal = () => setModal(!modal);\r\n\r\n const [identificacao, set_identificacao] = React.useState(null);\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 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').then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\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 });\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}`).then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\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 });\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)\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 setshowLoading(true);\r\n\r\n if (email == null || email.length == 0) {\r\n setshowLoading(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 setshowLoading(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 setshowLoading(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 ? data.dataFimVigencia : item.dataFimVigencia,\r\n usuarioCadastro_Id: session != null ? session.usuario_Id : null,\r\n usuarioUltimaAlteracao_Id: session != null ? 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.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 setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\r\n set_identificacao(result.data);\r\n handleProximoStep(result.data);\r\n }\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 {showLoading &&\r\n
\r\n
\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.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.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.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}\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.usuario_Id != null &&\r\n \r\n }\r\n \r\n \r\n {session != null && 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 { api_POST, api_PUT } from \"services/api_service.js\";\r\n\r\nexport const EnviaProtocoloWithProtocoloTransportador = (json, callback) => {\r\n if (json.protocolo_Id == 0)\r\n {\r\n api_POST('protocoloTransportador/PostProtocoloWithProtocoloTransportador',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n else\r\n {\r\n api_PUT('protocoloTransportador/PutProtocoloWithProtocoloTransportador',json).then(result => {\r\n callback(result);\r\n });\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloTransportadorVeiculo = (json, callback) => {\r\n if (json.protocoloTransportadorVeiculo_Id == 0)\r\n {\r\n api_POST('protocoloTransportador/PostProtocoloTransportadorVeiculo',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n else \r\n {\r\n api_PUT('protocoloTransportador/PutProtocoloTransportadorVeiculo',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloTransportadorLocalGuarda = (json, callback) => {\r\n if (json.protocoloTransportadorLocalGuarda_Id == 0)\r\n {\r\n api_POST('protocoloTransportador/PostProtocoloTransportadorLocalGuarda',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n else \r\n {\r\n api_PUT('protocoloTransportador/PutProtocoloTransportadorLocalGuarda',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloTransportadorLocalDestino = (json, callback) => {\r\n if (json.protocoloTransportadorLocalDestino_Id == 0)\r\n {\r\n api_POST('protocoloTransportador/PostProtocoloTransportadorLocalDestino',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n else \r\n {\r\n api_PUT('protocoloTransportador/PutProtocoloTransportadorLocalDestino',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloTransportadorEquipamento = (json, callback) => {\r\n if (json.protocoloTransportadorEquipamento_Id == 0)\r\n {\r\n api_POST('protocoloTransportador/PostProtocoloTransportadorEquipamento',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n else \r\n {\r\n api_PUT('protocoloTransportador/PutProtocoloTransportadorEquipamento',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloDocumentoTransportador = (json, callback) => { \r\n api_POST('protocoloTransportador/PostProtocoloDocumento',json).then(result => {\r\n callback(result); \r\n });\r\n}\r\n\r\n\r\nexport const EnviaRequerimentoTransportador = (json, callback) => {\r\n if (json.requerimentoTransportador_Id == 0)\r\n {\r\n api_POST('requerimentoTransportador/PostRequerimentoTransportador',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n else\r\n {\r\n api_PUT('requerimentoTransportador/PutRequerimentoTransportador',json).then(result => {\r\n callback(result);\r\n });\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 {\r\n api_POST('requerimentoTransportador/PostRequerimentoTransportadorVeiculo',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n else \r\n {\r\n api_PUT('requerimentoTransportador/PutRequerimentoTransportadorVeiculo',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoTransportadorLocalGuarda = (json, callback) => {\r\n if (json.requerimentoTransportadorLocalGuarda_Id == 0)\r\n {\r\n api_POST('requerimentoTransportador/PostrequerimentoTransportadorLocalGuarda ',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n else \r\n {\r\n api_PUT('requerimentoTransportador/PutrequerimentoTransportadorLocalGuarda',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoTransportadorLocalDestino = (json, callback) => {\r\n if (json.requerimentoTransportadorLocalDestino_Id == 0)\r\n {\r\n api_POST('requerimentoTransportador/PostrequerimentoTransportadorLocalDestino',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n else \r\n {\r\n api_PUT('requerimentoTransportador/PutrequerimentoTransportadorLocalDestino',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoTransportadorEquipamento = (json, callback) => {\r\n if (json.requerimentoTransportadorEquipamento_Id == 0)\r\n {\r\n api_POST('requerimentoTransportador/PostrequerimentoTransportadorEquipamento',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n else \r\n {\r\n api_PUT('requerimentoTransportador/PutrequerimentoTransportadorEquipamento',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoDocumentoTransportador = (json, callback) => {\r\n api_POST('requerimento/PostrequerimentoDocumento',json).then(result => {\r\n callback(result); \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, 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 \"assets/css/loading.css\";\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\nimport { getSessionCookie } from \"../../../services/session.js\";\r\n\r\nimport { EnviaProtocoloTransportadorVeiculo, EnviaRequerimentoTransportadorVeiculo } from \"../../../services/protocolo_transportador_service.js\";\r\nimport { formateDateApi } from \"../../../helpers/formats.js\";\r\n\r\nexport default function Veiculos({ item, tipoCadastro, permiteManutencao, totalVeiculos, handleProximoStep, handleStepAnterior }) {\r\n const { register, handleSubmit, errors, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n\r\n const [showLoading, setshowLoading] = React.useState(false);\r\n\r\n const session = getSessionCookie();\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)\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').then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\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 });\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).then(result => {\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\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 })\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(localStorage.getItem(\"roc-virtualPath\") + 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 setshowLoading(true);\r\n api_POST('requerimentoTransportador/PostRemoverVeiculoRequerimento/' + rowData.requerimentoTransportadorVeiculo_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\r\n showMessage(\"Aviso\", \"Veículo removido com sucesso!\", 'success', function () {\r\n handleReturnRemove(rowData.requerimento_Id);\r\n });\r\n }\r\n });\r\n }\r\n })\r\n }\r\n const handleReturnRemove = (reloadId) => {\r\n setshowLoading(true);\r\n\r\n api_GET('requerimentoTransportador/GetVeiculosRequerimento/' + reloadId).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_veiculos(result.data);\r\n }\r\n });\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 && (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 setshowLoading(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.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.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 setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n return;\r\n }\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 && 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 setshowLoading(true);\r\n api_POST('requerimentoTransportador/ValidacaoVeiculoRequerimento/' + item.requerimento_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n return;\r\n } else {\r\n handleProximoStep(registro);\r\n }\r\n });\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 {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\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 && 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) &&\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 \"assets/css/loading.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 } from \"services/api_service.js\";\r\nimport { getSessionCookie } from \"services/session.js\";\r\nimport { EnviaProtocoloTransportadorLocalGuarda, EnviaRequerimentoTransportadorLocalGuarda } from \"services/protocolo_transportador_service.js\";\r\nimport { GetCEPViaCEP } from \"services/viaCep\";\r\n\r\nexport default function LocaisGuarda({ item, tipoCadastro, permiteManutencao, handleProximoStep, handleStepAnterior }) {\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, reset } = useForm({ mode: \"onBlur\" });\r\n let session = getSessionCookie();\r\n\r\n const [showLoading, setshowLoading] = React.useState(false);\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 setshowLoading(true);\r\n api_POST('requerimentoTransportador/PostRemoverLocalGuardaRequerimento/' + rowData.requerimentoTransportadorLocalGuarda_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\r\n showMessage(\"Aviso\", \"Local removido com sucesso!\", 'success', function () {\r\n handleReturnRemove(rowData.requerimento_Id);\r\n });\r\n }\r\n });\r\n }\r\n })\r\n }\r\n const handleReturnRemove = (reloadId) => {\r\n setshowLoading(true);\r\n\r\n api_GET('requerimentoTransportador/GetLocaisGuardaRequerimento/' + reloadId).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_locais_guarda(result.data);\r\n }\r\n });\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 setshowLoading(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.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.usuario_Id : null\r\n }\r\n return json_submit;\r\n }\r\n const confirmaAddLocaisGuarda = (result) => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n return;\r\n }\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 && 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 \"assets/css/loading.css\";\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 { getSessionCookie } from \"services/session.js\";\r\nimport { EnviaProtocoloTransportadorLocalDestino, EnviaRequerimentoTransportadorLocalDestino } from \"services/protocolo_transportador_service.js\";\r\nimport { GetCEPViaCEP } from \"services/viaCep\";\r\n\r\nexport default function LocaisDestinacao({ item, tipoCadastro, permiteManutencao, handleProximoStep, handleStepAnterior }) {\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, reset } = useForm({ mode: \"onBlur\" });\r\n let session = getSessionCookie();\r\n\r\n const [showLoading, setshowLoading] = React.useState(false);\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 setshowLoading(true);\r\n let _usuarioId = session != null ? session.usuario_Id : 0;\r\n\r\n if (tipoCadastro == \"Protocolo\") {\r\n api_POST('protocoloTransportador/PostRemoveLocalDestinoProtocolo/' + _usuarioId + \"/\" + rowData.protocoloTransportadorLocalDestino_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\r\n showMessage(\"Aviso\", \"Local removido com sucesso!\", 'success', function () {\r\n handleReturnRemove(rowData.protocoloTransportador_Id);\r\n });\r\n }\r\n });\r\n }\r\n else {\r\n api_POST('requerimentoTransportador/PostRemoverLocalDestinoRequerimento/' + rowData.requerimentoTransportadorLocalDestino_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\r\n showMessage(\"Aviso\", \"Local removido com sucesso!\", 'success', function () {\r\n handleReturnRemove(rowData.requerimento_Id);\r\n });\r\n }\r\n });\r\n }\r\n }\r\n })\r\n }\r\n const handleReturnRemove = (reloadId) => {\r\n setshowLoading(true);\r\n\r\n if (tipoCadastro == \"Protocolo\") {\r\n api_GET('protocoloTransportador/GetLocaisDestinoProtocolo/' + reloadId).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_locais_destinacao(result.data);\r\n }\r\n });\r\n }\r\n else {\r\n api_GET('requerimentoTransportador/GetLocaisDestinoRequerimento/' + reloadId).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_locais_destinacao(result.data);\r\n }\r\n });\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 setshowLoading(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.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.usuario_Id : null\r\n }\r\n return json_submit;\r\n }\r\n const confirmaAddLocaisDestino = (result) => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n return;\r\n }\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.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 && 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 {showLoading &&\r\n
\r\n
\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 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 {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n \r\n \r\n \r\n \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 \"assets/css/loading.css\";\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 { getSessionCookie } from \"services/session.js\";\r\nimport { EnviaProtocoloTransportadorEquipamento, EnviaRequerimentoTransportadorEquipamento } from \"services/protocolo_transportador_service.js\";\r\n\r\nexport default function Equipamentos({ item, tipoCadastro, permiteManutencao, handleProximoStep, handleStepAnterior }) {\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, reset } = useForm({ mode: \"onBlur\" });\r\n let session = getSessionCookie();\r\n const [showLoading, setshowLoading] = React.useState(false);\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)\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(localStorage.getItem(\"roc-virtualPath\") + \"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 setshowLoading(true);\r\n api_POST_File(`requerimentoTransportador/PostRequerimentoTransportadorEquipamentoFile/${item.requerimento_Id}`, formData).then(result => {\r\n setshowLoading(false);\r\n if (result.status === 200) {\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 }\r\n else if (result.status === 500) {\r\n set_erros_importacao(result.message);\r\n return;\r\n }\r\n else {\r\n set_erros_importacao([{ linha: 0, erro: \"Erro na importação do arquivo.\" }]);\r\n return;\r\n }\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(\"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 setshowLoading(true);\r\n let _usuarioId = session != null ? session.usuario_Id : 0;\r\n\r\n if (tipoCadastro == \"Protocolo\") {\r\n api_POST('protocoloTransportador/PostRemoveEquipamentoProtocolo/' + _usuarioId + \"/\" + rowData.protocoloTransportadorEquipamento_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\r\n showMessage(\"Aviso\", \"Equipamento removido com sucesso!\", 'success', function () {\r\n handleReturnRemove(rowData.protocoloTransportador_Id);\r\n });\r\n }\r\n });\r\n }\r\n else {\r\n api_POST('requerimentoTransportador/PostRemoverEquipamentoRequerimento/' + rowData.requerimentoTransportadorEquipamento_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\r\n showMessage(\"Aviso\", \"Equipamento removido com sucesso!\", 'success', function () {\r\n handleReturnRemove(rowData.requerimento_Id);\r\n });\r\n }\r\n });\r\n }\r\n }\r\n })\r\n }\r\n const handleReturnRemove = (reloadId) => {\r\n setshowLoading(true);\r\n\r\n if (tipoCadastro == \"Protocolo\") {\r\n api_GET('protocoloTransportador/GetEquipamentosProtocolo/' + reloadId).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_equipamentos(result.data);\r\n }\r\n });\r\n }\r\n else {\r\n api_GET('requerimentoTransportador/GetEquipamentosRequerimento/' + reloadId).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_equipamentos(result.data);\r\n }\r\n });\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 setshowLoading(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.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.usuario_Id : null\r\n }\r\n return json_submit;\r\n }\r\n const confirmaAddEquipamento = (result) => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n return;\r\n }\r\n\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 && 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 {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\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 &&\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// style\r\nimport \"assets/css/loading.css\";\r\n\r\n// services\r\nimport { showMessage } from \"services/message.js\";\r\nimport { api_GET } from \"services/api_service.js\";\r\nimport { getSessionCookie } from \"services/session.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\nexport default function Documentos({ item, opcao, handleProximoStep, handleStepAnterior }) {\r\n\r\n let session = getSessionCookie();\r\n\r\n const [showLoading, setshowLoading] = useState(false);\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 && 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}`).then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\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 });\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 setshowLoading(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 setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n return;\r\n }\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 setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n return;\r\n }\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 setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n return;\r\n }\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 setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n return;\r\n }\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 setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n return;\r\n }\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 setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n return;\r\n }\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.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.usuario_Id : null\r\n }\r\n return json_submit;\r\n }\r\n\r\n const handleSubmitObservacoesRequerente = () => {\r\n setshowLoading(true);\r\n api_PUT('requerimento/ObservacoesRequerente', {\r\n requerimento_Id: item?.requerimento_Id,\r\n observacaoRequerente: observacoesRequerente\r\n }).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Error\", \"Error ao salvar observação.\", 'error', null);\r\n }\r\n else {\r\n let _registro = { ...registro }\r\n _registro.observacaoRequerente = result.data.observacaoRequerente;\r\n handleProximoStep(_registro);\r\n }\r\n });\r\n }\r\n\r\n const handleConcluir = () => {\r\n if (session == null && 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)\r\n handleSubmitObservacoesRequerente();\r\n else\r\n handleProximoStep(registro);\r\n }\r\n\r\n return (\r\n <>\r\n {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\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\n\r\nexport const EnviaProtocoloWithProtocoloGerador = (json, callback) => {\r\n if (json.protocolo_Id == 0)\r\n {\r\n api_POST('protocoloGerador/PostProtocoloWithProtocoloGerador',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n else\r\n {\r\n api_PUT('protocoloGerador/PutProtocoloWithProtocoloGerador',json).then(result => {\r\n callback(result);\r\n });\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloGeradorCaracterizacaoResiduo = (json, callback) => {\r\n api_POST('protocoloGerador/PostProtocoloGeradorCaracterizacaoResiduo ',json).then(result => {\r\n callback(result); \r\n });\r\n}\r\n\r\nexport const EnviaProtocoloGeradorLocal = (json, callback) => {\r\n if (json.protocoloGeradorLocal_Id == 0)\r\n {\r\n api_POST('protocoloGerador/PostProtocoloGeradorLocal',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n else \r\n {\r\n api_PUT('protocoloGerador/PutProtocoloGeradorLocal',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloGeradorLocalArmazenagem = (json, callback) => {\r\n if (json.protocoloGeradorLocalArmazenagem_Id == 0)\r\n {\r\n api_POST('protocoloGerador/PostProtocoloGeradorLocalArmazenagem',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n else \r\n {\r\n api_PUT('protocoloGerador/PutProtocoloGeradorLocalArmazenagem',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloGeradorClasseResiduo = (json, callback) => {\r\n if (json.protocoloGeradorClasseResiduo_Id == 0)\r\n {\r\n api_POST('protocoloGerador/PostProtocoloGeradorClasseResiduo',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n else \r\n {\r\n api_PUT('protocoloGerador/PutProtocoloGeradorClasseResiduo',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloDocumentoGerador = (json, callback) => { \r\n api_POST('protocoloGerador/PostProtocoloDocumento',json).then(result => {\r\n callback(result); \r\n });\r\n}\r\n\r\n\r\nexport const EnviaRequerimentoGerador = (json, callback) => {\r\n if (json.requerimentoGerador_Id == 0)\r\n {\r\n api_POST('RequerimentoGerador/PostRequerimentoGerador',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n else\r\n {\r\n api_PUT('RequerimentoGerador/PutRequerimentoGerador',json).then(result => {\r\n callback(result);\r\n });\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoGeradorCaracterizacaoResiduo = (json, callback) => {\r\n api_POST('requerimentoGerador/PostRequerimentoGeradorCaracterizacaoResiduo ',json).then(result => {\r\n callback(result); \r\n });\r\n}\r\n\r\nexport const EnviaRequerimentoGeradorLocal = (json, callback) => {\r\n if (json.requerimentoGeradorLocal_Id == 0)\r\n {\r\n api_POST('requerimentoGerador/PostRequerimentoGeradorLocal ',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n else \r\n {\r\n api_PUT('requerimentoGerador/PutRequerimentoGeradorLocal',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoGeradorLocalArmazenagem = (json, callback) => {\r\n if (json.requerimentoGeradorLocalArmazenagem_Id == 0)\r\n {\r\n api_POST('requerimentoGerador/PostRequerimentoGeradorLocalArmazenagem ',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n else \r\n {\r\n api_PUT('requerimentoGerador/PutRequerimentoGeradorLocalArmazenagem',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoGeradorClasseResiduo = (json, callback) => {\r\n if (json.requerimentoGeradorClasseResiduo_Id == 0)\r\n {\r\n api_POST('requerimentoGerador/PostRequerimentoGeradorClasseResiduo ',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n else \r\n {\r\n api_PUT('requerimentoGerador/PutRequerimentoGeradorClasseResiduo',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoDocumentoGerador = (json, callback) => {\r\n api_POST('requerimento/PostrequerimentoDocumento',json).then(result => {\r\n callback(result); \r\n });\r\n}\r\n\r\n","import { api_POST, api_PUT } from \"services/api_service.js\";\r\n\r\nexport const EnviaProtocoloWithProtocoloDestino = (json, callback) => {\r\n if (json.protocolo_Id == 0)\r\n {\r\n api_POST('protocoloDestino/PostProtocoloWithProtocoloDestino',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n else\r\n {\r\n api_PUT('protocoloDestino/PutProtocoloWithProtocoloDestino',json).then(result => {\r\n callback(result);\r\n });\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloDestinoLocal = (json, callback) => {\r\n if (json.protocoloDestinoLocal_Id == 0)\r\n {\r\n api_POST('protocoloDestino/PostProtocoloDestinoLocal',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n else \r\n {\r\n api_PUT('protocoloDestino/PutProtocoloDestinoLocal',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloDocumentoDestino = (json, callback) => { \r\n api_POST('protocoloDestino/PostProtocoloDocumento',json).then(result => {\r\n callback(result); \r\n });\r\n}\r\n\r\n\r\nexport const EnviaRequerimentoDestino = (json, callback) => {\r\n if (json.requerimentoDestino_Id == 0)\r\n {\r\n api_POST('requerimentoDestino/PostRequerimentoDestino',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n else\r\n {\r\n api_PUT('requerimentoDestino/PutRequerimentoDestino',json).then(result => {\r\n callback(result);\r\n });\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoDestinoLocal = (json, callback) => {\r\n if (json.requerimentoDestinoLocal_Id == 0)\r\n {\r\n api_POST('requerimentoDestino/PostRequerimentoDestinoLocal ',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n else \r\n {\r\n api_PUT('requerimentoDestino/PutRequerimentoDestinoLocal',json).then(result => {\r\n callback(result); \r\n });\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoDocumentoDestino = (json, callback) => {\r\n api_POST('requerimento/PostrequerimentoDocumento',json).then(result => {\r\n callback(result); \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/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\nexport default function ManutencaoTransportadorForm({ item, handleReturn }) {\r\n const [showLoading, setshowLoading] = React.useState(false);\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 setshowLoading(true);\r\n\r\n api_GET('Protocolo/VerifyExistsRequeriments/' + protocolo.protocolo_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.data.mensagem, 'error', null);\r\n }\r\n else {\r\n set_permiteManutencao(result.data.sucesso);\r\n\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 });\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 {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\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// style\r\nimport \"assets/css/loading.css\";\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 { getSessionCookie } from \"../../../services/session.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\nexport default function Identificacao({ item, opcao, permiteManutencao, handleProximoStep, handleReturn, setupSolicitacao, addNovoGerador = false }) {\r\n const { register, handleSubmit, errors, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n\r\n const history = useHistory();\r\n\r\n const [showLoading, setshowLoading] = useState(false);\r\n const [modal, setModal] = useState(false);\r\n const toggleModal = () => setModal(!modal);\r\n\r\n let session = getSessionCookie();\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 setshowLoading(true)\r\n api_GET(`Protocolo/GetOpcoesTipoCadastro/${setupSolicitacaoAcaoNovoCadastro_Id}`).then(result => {\r\n setshowLoading(false)\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n return;\r\n }\r\n else {\r\n setOpcoes_SetupSolicitacoaAcaoNovoCadastro(result.data);\r\n }\r\n });\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}`).then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n return;\r\n }\r\n else {\r\n set_setupSolicitacaoAcao(result.data);\r\n }\r\n })\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.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\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 }\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}`).then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n return;\r\n }\r\n else {\r\n set_setupSolicitacaoAcao(result.data);\r\n }\r\n })\r\n }\r\n\r\n if (!item) {\r\n api_GET(`SetupSolicitacao/GetByAcaoSegmentoCategoria/Grande Gerador/${opcao.categoria.categoria_Id}/Novo Cadastro/${value.value}`).then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n return;\r\n }\r\n else {\r\n set_setupSolicitacaoAcao(result.data);\r\n }\r\n })\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 if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\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 });\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').then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\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 });\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').then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\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 });\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').then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\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 });\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 setshowLoading(true);\r\n\r\n if (setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RCC\") {\r\n if (isValidDate(data.dataFimVigencia) == false) {\r\n setshowLoading(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 setshowLoading(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 setshowLoading(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 (session == null && classificacaoEstabelecimento == null && setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RSS\") {\r\n setshowLoading(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 }\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 && data.dataFimVigencia != null ? data.dataFimVigencia : item.dataFimVigencia,\r\n usuarioCadastro_Id: session != null ? session.usuario_Id : null,\r\n usuarioUltimaAlteracao_Id: session != null ? 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.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 setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\r\n set_identificacao(result.data);\r\n handleProximoStep(result.data);\r\n }\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 setshowLoading(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 setshowLoading(false)\r\n if (result.status !== 204) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n return;\r\n }\r\n else {\r\n showMessage(\"Sucesso\", \"Sucesso na operação.\", 'success', () => {\r\n history.push(\"/admin/Manutencao\")\r\n });\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n if (session != null && item != null)\r\n loadOpcoesTipoCadastro(item?.setupSolicitacaoAcaoNovoCadastro_Id);\r\n\r\n if (session != null && 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 {showLoading &&\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 && 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.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 === false && 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.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.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 ? 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 === false && 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.usuario_Id != null &&\r\n \r\n }\r\n \r\n \r\n {session != null && 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/loading.css\";\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 { getSessionCookie } from \"services/session.js\";\r\nimport { EnviaProtocoloGeradorLocal, EnviaRequerimentoGeradorLocal } from \"services/protocolo_gerador_service.js\";\r\nimport { GetCEPViaCEP } from \"services/viaCep\";\r\nimport { InputCNPJ } from \"services/mask\";\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 { register, handleSubmit, errors, setError, setValue, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n let session = getSessionCookie();\r\n const [showLoading, setshowLoading] = useState(false);\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 setshowLoading(true);\r\n api_GET('SetupGeral/GetMunicipio').then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_municipio(result.data);\r\n }\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 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 setshowLoading(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 setshowLoading(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 setshowLoading(true);\r\n if (tipoCadastro == \"Requerimento\") {\r\n api_POST('requerimentoGerador/PostRemoverGeradorLocalRequerimento/' + rowData.requerimentoGeradorLocal_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\r\n showMessage(\"Aviso\", \"Local removido com sucesso!\", 'success', function () {\r\n handleReturnRemove(rowData.requerimento_Id);\r\n });\r\n }\r\n });\r\n } else if (tipoCadastro == \"Protocolo\") {\r\n api_POST('protocoloGerador/PostRemoverGeradorLocalProtocolo/' + rowData.protocoloGeradorLocal_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\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 });\r\n }\r\n }\r\n })\r\n }\r\n const handleReturnRemove = (reloadId) => {\r\n setshowLoading(true);\r\n api_GET('requerimentoGerador/GetLocaisRequerimentoGerador/' + reloadId).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_locais_Coleta(result.data);\r\n }\r\n });\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 setshowLoading(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.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.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 setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n return;\r\n }\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_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').then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_listModalidadesRGG(result.data);\r\n }\r\n });\r\n }\r\n\r\n const [listaTransportadoresRGG, setListaTransportadoresRGG] = useState([]);\r\n const loadTransportadoresRGG = () => {\r\n\r\n api_GET('ProtocoloTransportador/GetListTransportadoresRGG').then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\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 }\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 && 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 {showLoading &&\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 {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// style\r\nimport \"assets/css/loading.css\";\r\n// services\r\nimport { showMessage } from \"services/message.js\";\r\nimport { api_GET } from \"services/api_service.js\";\r\nimport { getSessionCookie } from \"services/session.js\";\r\nimport { EnviaProtocoloGeradorCaracterizacaoResiduo, EnviaRequerimentoGeradorCaracterizacaoResiduo } from \"services/protocolo_gerador_service.js\";\r\n\r\nexport default function CaracterizacaoResiduos({ item, tipoCadastro, opcao, permiteManutencao, handleProximoStep, handleStepAnterior }) {\r\n const { register, handleSubmit } = useForm({ mode: \"onBlur\" });\r\n let session = getSessionCookie();\r\n const [showLoading, setshowLoading] = useState(false);\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').then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\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 });\r\n }\r\n\r\n const loadTipoAcondicionamento = () => {\r\n api_GET('TipoAcondicionamento').then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n } else {\r\n set_listTipoAcondicionamento(result.data);\r\n }\r\n })\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 setshowLoading(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.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.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 setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n return;\r\n }\r\n\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 {showLoading &&\r\n
\r\n
\r\n \r\n
\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 \"assets/css/loading.css\";\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 { getSessionCookie } from \"services/session.js\";\r\nimport { EnviaProtocoloGeradorClasseResiduo, EnviaRequerimentoGeradorClasseResiduo } from \"services/protocolo_gerador_service.js\";\r\n\r\nexport default function Residuos({ item, tipoCadastro, permiteManutencao, handleProximoStep, handleStepAnterior }) {\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, reset } = useForm({ mode: \"onBlur\" });\r\n let session = getSessionCookie();\r\n const [showLoading, setshowLoading] = React.useState(false);\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}`).then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_OptionsClassesResiduo(result.data);\r\n }\r\n });\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 setshowLoading(true);\r\n api_POST('requerimentoGerador/PostRemoverGeradorClasseResiduoRequerimento/' + rowData.requerimentoGeradorClasseResiduo_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\r\n showMessage(\"Aviso\", \"Classe removida com sucesso!\", 'success', function () {\r\n handleReturnRemove(rowData.requerimentoGerador_Id);\r\n });\r\n }\r\n });\r\n }\r\n })\r\n }\r\n const handleReturnRemove = (reloadId) => {\r\n setshowLoading(true);\r\n\r\n api_GET('requerimentoGerador/GetClasseResiduosRequerimentoGerador/' + reloadId).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_residuos(result.data);\r\n }\r\n });\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 setshowLoading(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.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 setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n return;\r\n }\r\n\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 && 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 {showLoading &&\r\n
\r\n
\r\n \r\n
\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\nexport default function ManutencaoGeradorForm({ item, handleReturn }) {\r\n\r\n const [showLoading, setshowLoading] = useState(false);\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 setshowLoading(true);\r\n\r\n api_GET('Protocolo/VerifyExistsRequeriments/' + protocolo.protocolo_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.data.mensagem, 'error', null);\r\n }\r\n else {\r\n set_permiteManutencao(result.data.sucesso);\r\n\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 });\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 {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\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/loading.css\";\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 { getSessionCookie } from \"services/session.js\";\r\nimport { EnviaProtocoloGeradorLocalArmazenagem, EnviaRequerimentoGeradorLocalArmazenagem } from \"services/protocolo_gerador_service.js\";\r\nimport { GetCEPViaCEP } from \"services/viaCep\";\r\n\r\nexport default function LocaisArmazenagem({ item, tipoCadastro, permiteManutencao, handleProximoStep, handleStepAnterior }) {\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, reset, getValues } = useForm({ mode: \"onBlur\" });\r\n let session = getSessionCookie();\r\n const [showLoading, setshowLoading] = React.useState(false);\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 {\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 setshowLoading(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 setshowLoading(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 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 setshowLoading(true);\r\n api_POST('requerimentoGerador/PostRemoverGeradorLocalArmazenagemRequerimento/' + rowData.requerimentoGeradorLocalArmazenagem_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\r\n showMessage(\"Aviso\", \"Local removido com sucesso!\", 'success', function () {\r\n handleReturnRemove(rowData.requerimento_Id);\r\n });\r\n }\r\n });\r\n }\r\n })\r\n }\r\n const handleReturnRemove = (reloadId) => {\r\n setshowLoading(true);\r\n\r\n api_GET('requerimentoGerador/GetLocaisArmazenagemRequerimentoGerador/' + reloadId).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_locais_Armazenagem(result.data);\r\n }\r\n });\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 setshowLoading(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.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.usuario_Id : null\r\n }\r\n return json_submit;\r\n }\r\n const confirmaAddLocaisArmazenagem = (result) => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n return;\r\n }\r\n\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 && 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 {showLoading &&\r\n
\r\n
\r\n \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 ? 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 [showLoading, setshowLoading] = React.useState(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 {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\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\n\r\n// reactstrap components\r\nimport { Row, Col, FormGroup, Input, Card, CardBody, Button } from \"reactstrap\";\r\n\r\n// style\r\nimport \"assets/css/loading.css\";\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// helpers\r\nimport moment from \"moment\";\r\nimport { getSessionCookie } from 'services/session';\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 { register, errors, setValue, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n const location = useLocation();\r\n const [showLoading, setshowLoading] = useState(false);\r\n\r\n const [permiteEditar, set_permiteEditar] = useState(false);\r\n\r\n const session = getSessionCookie();\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) {\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).then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_rowEdit(result.data);\r\n set_showDetail(true);\r\n }\r\n });\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 setshowLoading(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)}`).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_list_table(result.data);\r\n }\r\n });\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 {showLoading &&\r\n
\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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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// style\r\nimport \"assets/css/loading.css\";\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 { getSessionCookie } from \"services/session.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\nexport default function Identificacao({ item, tipoCadastro, permiteManutencao, handleProximoStep, handleReturn }) {\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n const [showLoading, setshowLoading] = React.useState(false);\r\n\r\n let session = getSessionCookie();\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}`).then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\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 });\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`).then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\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 });\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').then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\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 });\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\r\n if (session != null)\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 setshowLoading(true);\r\n\r\n if (email == null || email.length == 0) {\r\n setshowLoading(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 setshowLoading(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 setshowLoading(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 ? data.dataFimVigencia : item.dataFimVigencia,\r\n usuarioCadastro_Id: session != null ? session.usuario_Id : null,\r\n usuarioUltimaAlteracao_Id: session != null ? 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 ? 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 setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\r\n handleProximoStep(result.data);\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {showLoading &&\r\n
\r\n
\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 === 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.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.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.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.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.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.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/loading.css\";\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 { getSessionCookie } from \"services/session.js\";\r\nimport { EnviaProtocoloDestinoLocal, EnviaRequerimentoDestinoLocal } from \"services/protocolo_destino_service.js\";\r\nimport { GetCEPViaCEP } from \"services/viaCep\";\r\n\r\nexport default function Locais({ item, tipoCadastro, permiteManutencao, handleProximoStep, handleStepAnterior }) {\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, reset, getValues } = useForm({ mode: \"onBlur\" });\r\n let session = getSessionCookie();\r\n const [showLoading, setshowLoading] = React.useState(false);\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 setshowLoading(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 setshowLoading(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 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 setshowLoading(true);\r\n api_POST('requerimentoDestino/PostRemoverDestinoLocalRequerimento/' + rowData.requerimentoDestinoLocal_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\r\n showMessage(\"Aviso\", \"Local removido com sucesso!\", 'success', function () {\r\n handleReturnRemove(rowData.requerimento_Id);\r\n });\r\n }\r\n });\r\n }\r\n })\r\n }\r\n const handleReturnRemove = (reloadId) => {\r\n setshowLoading(true);\r\n\r\n api_GET('requerimentoDestino/GetLocaisRequerimentoDestino/' + reloadId).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_locais_Destinacao(result.data);\r\n }\r\n });\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 setshowLoading(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.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.usuario_Id : null,\r\n capacidade: data.capacidade\r\n }\r\n return json_submit;\r\n }\r\n const confirmaAddLocais = (result) => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n return;\r\n }\r\n\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 && 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 {showLoading &&\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 {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\nexport default function ManutencaoDestinoForm({ item, handleReturn }) {\r\n\r\n const [showLoading, setshowLoading] = React.useState(false);\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 setshowLoading(true);\r\n\r\n api_GET('Protocolo/VerifyExistsRequeriments/' + protocolo.protocolo_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.data.mensagem, 'error', null);\r\n }\r\n else {\r\n set_permiteManutencao(result.data.sucesso);\r\n\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 });\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 {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\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, Tooltip\r\n} from \"reactstrap\";\r\n\r\n// helpers\r\nimport { transformValueFloattoFormated } from \"helpers/formats.js\";\r\n\r\n// style\r\nimport \"assets/css/loading.css\";\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 { getSessionCookie } from \"services/session.js\";\r\n\r\nexport default function CadastroSolicitacaoForm({ item, handleReturn }) {\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n const [showLoading, setshowLoading] = React.useState(false);\r\n let session = getSessionCookie();\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}`).then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_options_categoria(result.data);\r\n }\r\n });\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').then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_optionsDocumentos(result.data);\r\n }\r\n });\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 setshowLoading(true);\r\n if (json_submit.setupSolicitacaoAcao_Id == 0) {\r\n api_POST('SetupSolicitacao/PostAcao', json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n confirmacaoAcaoAdicionada(result.data);\r\n });\r\n }\r\n });\r\n }\r\n else {\r\n api_PUT('SetupSolicitacao/PutAcao', json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n confirmacaoAcaoAdicionada(result.data);\r\n });\r\n }\r\n });\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 setshowLoading(true);\r\n api_POST('SetupSolicitacao/DeleteAcao', rowData).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\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 });\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 setshowLoading(true);\r\n if (json_submit.setupSolicitacao_Id == 0) {\r\n api_POST('SetupSolicitacao', json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n set_setupSolicitacao_Id(result.data.setupSolicitacao_Id);\r\n });\r\n }\r\n });\r\n }\r\n else {\r\n api_PUT('SetupSolicitacao', json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', null);\r\n }\r\n });\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 { Button, Card, CardBody,FormGroup,Form,Input,Row,Col,Nav,\r\n NavItem,NavLink,TabPane,TabContent ,Modal,ModalHeader,ModalBody,\r\n ModalFooter,CustomInput,Tooltip} from \"reactstrap\";\r\nimport MaterialTable from 'material-table';\r\nimport Select from 'react-select'\r\n\r\n// style\r\nimport \"assets/css/loading.css\";\r\n\r\n// services\r\nimport { showMessage, showQuestion } from \"services/message.js\";\r\nimport { api_GET, api_POST, api_PUT, api_DELETE } from \"services/api_service.js\";\r\nimport { getSessionCookie } from \"services/session.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"services/acesso.js\";\r\nimport CardHeader from \"reactstrap/lib/CardHeader\";\r\n\r\nexport default function CadastroFluxoForm({ item, handleReturn }) {\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n const [showLoading, setshowLoading] = React.useState(false);\r\n let session = getSessionCookie(); \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).then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else{\r\n set_OptionsSetupSolicitacao(result.data);\r\n }\r\n }); \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 setshowLoading(true);\r\n if(json_submit.fluxoCadastroEtapa_Id == 0){\r\n api_POST('FluxoCadastro/PostEtapa',json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n }\r\n else{\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success' , function(){\r\n confirmaEtapaAdicionada(result.data);\r\n });\r\n }\r\n });\r\n }\r\n else{\r\n api_PUT('FluxoCadastro/PutEtapa',json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n }\r\n else{\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success' , function(){\r\n confirmaEtapaAdicionada(result.data);\r\n });\r\n }\r\n });\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 setshowLoading(true);\r\n api_POST('FluxoCadastro/DeleteEtapa', rowData).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n }\r\n else{\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 });\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 setshowLoading(true);\r\n if(json_submit.fluxoCadastro_Id == 0){\r\n api_POST('FluxoCadastro',json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n }\r\n else{\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success' , function(){\r\n set_fluxoCadastro_Id(result.data.fluxoCadastro_Id);\r\n });\r\n }\r\n });\r\n }\r\n else{\r\n api_PUT('FluxoCadastro',json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n }\r\n else{\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success' , null);\r\n }\r\n });\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {showLoading && \r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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// style\r\nimport \"assets/css/loading.css\";\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 { getSessionCookie } from \"services/session.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"services/acesso.js\";\r\n\r\nexport default function CadastroClassesResiduosForm({ item, handleReturn }) {\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n\r\n const [showLoading, setshowLoading] = React.useState(false);\r\n\r\n let session = getSessionCookie();\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`).then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_options_categoria(result.data);\r\n }\r\n });\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 setshowLoading(true);\r\n if (json_submit.residuo_Id == 0) {\r\n api_POST('classeResiduo/PostResiduo', json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n confirmacaoResiduoAdicionado(result.data);\r\n });\r\n }\r\n });\r\n }\r\n else {\r\n api_PUT('classeResiduo/PutResiduo', json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n confirmacaoResiduoAdicionado(result.data);\r\n });\r\n }\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 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 setshowLoading(true);\r\n if (json_submit.classeResiduo_Id == 0) {\r\n api_POST('classeresiduo', json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n set_classeResiduo_Id(result.data.classeResiduo_Id);\r\n });\r\n }\r\n });\r\n }\r\n else {\r\n api_PUT('classeresiduo', json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', null);\r\n }\r\n });\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 { useLocation } from \"react-router-dom\";\r\nimport { useForm } from 'react-hook-form';\r\n\r\n// components\r\nimport { Button, Card, CardBody,CardHeader,FormGroup,Form,Input,Row,Col,Nav,\r\n NavItem,NavLink,TabPane,TabContent ,Modal,ModalHeader,ModalBody,\r\n ModalFooter,CustomInput,Tooltip} from \"reactstrap\";\r\nimport MaterialTable from 'material-table';\r\nimport Select from 'react-select'\r\nimport Switch from \"react-switch\";\r\n\r\n// style\r\nimport \"assets/css/loading.css\";\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 { getSessionCookie } from \"services/session.js\";\r\n\r\nexport default function PerfilForm({ item, handleReturn }) {\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n \r\n const [showLoading, setshowLoading] = React.useState(false);\r\n\r\n let session = getSessionCookie(); \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').then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else{\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 });\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 setshowLoading(true);\r\n api_POST('perfil/PostPermissoes',json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n }\r\n else{\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success' , null);\r\n }\r\n });\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').then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else{\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\r\n set_list_setupsolicitacao(setup);\r\n\r\n }\r\n });\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 setshowLoading(true);\r\n api_POST('perfil/PostSetupSolicitacaoAcoes',json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n }\r\n else{\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success' , null);\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_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 setshowLoading(true);\r\n if(json_submit.perfil_Id == 0){\r\n api_POST('perfil',json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n }\r\n else{\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success' , function(){\r\n set_perfil_Id(result.data.perfil_Id);\r\n });\r\n }\r\n });\r\n }\r\n else{\r\n api_PUT('perfil',json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n }\r\n else{\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success' , null);\r\n }\r\n });\r\n }\r\n }\r\n \r\n return (\r\n <>\r\n {showLoading && \r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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// style\r\nimport \"assets/css/loading.css\";\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 { getSessionCookie } from \"services/session.js\";\r\nimport { EnviarEmailNovoUsuario } from \"helpers/email\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"services/acesso.js\";\r\n\r\nexport default function UsuarioForm({ item, handleReturn }) {\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n const [showLoading, setshowLoading] = React.useState(false);\r\n let session = getSessionCookie(); \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').then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else{\r\n set_options_perfil(result.data);\r\n \r\n if (item != null)\r\n {\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 });\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').then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else{\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 });\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 setshowLoading(true);\r\n api_POST('usuario/PostPermissoes',json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n }\r\n else{\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success' , null);\r\n }\r\n });\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').then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else{\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\r\n set_list_setupsolicitacao(setup);\r\n\r\n }\r\n });\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 setshowLoading(true);\r\n api_POST('usuario/PostSetupSolicitacaoAcoes',json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n }\r\n else{\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success' , null);\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_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 setshowLoading(true);\r\n if(json_submit.usuario_Id == 0){ \r\n api_POST('usuario',json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n }\r\n else{\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', null);\r\n set_usuario_Id(result.data.usuario_Id);\r\n }\r\n });\r\n }\r\n else{\r\n api_PUT('usuario',json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n }\r\n else{\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success' , null);\r\n }\r\n });\r\n }\r\n }\r\n \r\n return (\r\n <>\r\n {showLoading && \r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, CardHeader, FormGroup, Form, Input, Row, Col, Spinner } from \"reactstrap\";\r\n\r\n// style\r\nimport \"assets/css/loading.css\";\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 { getSessionCookie } from \"services/session.js\";\r\nimport { showMessage } from \"services/message.js\";\r\nimport { saveAs } from 'file-saver';\r\n\r\n\r\nexport default function RelatorioFichaRequerimentoGeradorRSS({ handleReturn }) {\r\n\r\n const { register, handleSubmit, errors, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n\r\n const session = getSessionCookie();\r\n\r\n const [showLoading, setshowLoading] = useState(false);\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').then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else { \r\n set_OptionsSubPrefeitura(result.data);\r\n }\r\n });\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 setshowLoading(true);\r\n api_POST('relatorio/RelatorioRequerimentoGeradorRSS', json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\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 }\r\n\r\n useEffect(() => {\r\n if (relatorio != null) {\r\n api_POST('relatorio/ExportToExcel', relatorio).then(resultExcel => {\r\n setshowLoading(false);\r\n if (resultExcel.status !== 200) {\r\n showMessage(\"Aviso\", resultExcel.message, 'error', null);\r\n } else {\r\n set_lista(resultExcel.data);\r\n }\r\n });\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 {showLoading &&\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 != 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 {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 { getSessionCookie } from 'services/session';\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// style\r\nimport \"assets/css/loading.css\";\r\n\r\nfunction RelatorioManutecaoGeradorRSS({ handleReturn }) {\r\n const session = getSessionCookie();\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 [showLoading, setshowLoading] = useState(false);\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 setshowLoading(true);\r\n\r\n api_POST(\"relatorio/RelatorioManutencaoGeradores\", json_submit).then(result => {\r\n if (result.status !== 200) {\r\n set_showDetail(false);\r\n setshowLoading(false);\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n } else {\r\n if(result?.data?.length == 0){\r\n set_showDetail(false);\r\n setshowLoading(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 setshowLoading(false);\r\n }\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 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 showLoading && (\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\nconst relatorio = props.relatorio;\r\nconst filtro = props.filtro;\r\n\r\n\r\nfunction 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\nreturn (\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\nimport { nomeclaturas } from '../../../helpers/nomeclaturas';\r\n\r\n//Services\r\nimport { api_POST } from \"services/api_service.js\";\r\nimport { getSessionCookie } from 'services/session';\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\n\r\n// style\r\nimport \"assets/css/loading.css\";\r\n\r\nfunction RelatorioManutecaoTransportadores({ handleReturn }) {\r\n const session = getSessionCookie();\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 [showLoading, setshowLoading] = useState(false);\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 setshowLoading(true);\r\n\r\n api_POST(\"relatorio/RelatorioManutencaoTransportadores\", json_submit).then(result => {\r\n if (result.status !== 200) {\r\n set_showDetail(false);\r\n setshowLoading(false);\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n } else {\r\n if (result?.data?.length == 0) {\r\n set_showDetail(false);\r\n setshowLoading(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 setshowLoading(false);\r\n }\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 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 showLoading && (\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 { getSessionCookie } from 'services/session';\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// style\r\nimport \"assets/css/loading.css\";\r\n\r\nfunction RelatorioManutecaoDestinos({ handleReturn }) {\r\n const session = getSessionCookie();\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 [showLoading, setshowLoading] = useState(false);\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 setshowLoading(true);\r\n\r\n api_POST(\"relatorio/RelatorioManutencaoDestinos\", json_submit).then(result => {\r\n if (result.status !== 200) {\r\n set_showDetail(false);\r\n setshowLoading(false);\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n } else {\r\n if(result?.data?.length == 0){\r\n set_showDetail(false);\r\n setshowLoading(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 setshowLoading(false);\r\n }\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 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 showLoading && (\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;"," 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\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// style\r\nimport \"assets/css/loading.css\";\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 { InputCPF, InputCNPJ } from \"services/mask.js\";\r\nimport TextField from \"../../components/TextField/TextField.jsx\";\r\nimport mascaras from \"../../helpers/mascaras.js\";\r\nimport { Promise } from \"xlsx-populate\";\r\n\r\nexport default function DadosPrimarios({ opcao }) {\r\n\r\n const { register, handleSubmit, errors, setError, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n\r\n const [showLoading, setshowLoading] = React.useState(false);\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([api_GET(`setupsolicitacao/GetByAcaoSegmentoCategoria/${opcao.segmento}/${opcao.categoria_Id}/Novo Cadastro/Jurídica`),\r\n api_GET(`setupsolicitacao/GetByAcaoSegmentoCategoria/${opcao.segmento}/${opcao.categoria_Id}/Novo Cadastro/Pública`),\r\n api_GET(`setupsolicitacao/GetByAcaoSegmentoCategoria/${opcao.segmento}/${opcao.categoria_Id}/Novo Cadastro/Física`)\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].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 setshowLoading(true);\r\n api_POST('Requerimento/PostRequerimentoProtocolo', json_submit).then(result => {\r\n if (result.status !== 200) {\r\n setshowLoading(false);\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n setshowLoading(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 });\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 {showLoading &&\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

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, useState } 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// style\r\nimport \"assets/css/loading.css\";\r\n\r\n// services\r\nimport { showMessage } from \"services/message.js\";\r\nimport { api_POST, api_GET } from \"services/api_service.js\";\r\nimport { getSessionCookie } from \"services/session\";\r\n\r\nexport default function Declaracao({item, handleFinalizarCadastro, handleStepAnterior}) {\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n \r\n const [showLoading, setshowLoading] = React.useState(false);\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 const session = getSessionCookie();\r\n\r\n useEffect(() => {\r\n set_requerimento(item);\r\n api_GET('setupsolicitacao/GetByAcaoId/' + item.setupSolicitacaoAcao_Id).then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else{\r\n set_declaracao(result.data.descricaoDeclaracao);\r\n }\r\n });\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 setshowLoading(true);\r\n api_POST('requerimento/PostConfirmarDeclaracao ',json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n else{ \r\n showMessage(\"Aviso\", \"Seu cadastro foi concluído e será analisado por \" + localStorage.getItem(\"roc-identificacao\") + \". Você receberá todas as informações por email.\", 'success' , function(){\r\n handleFinalizarCadastro(requerimento);\r\n }); \r\n } \r\n }); \r\n }\r\n \r\n return (\r\n<>\r\n {showLoading && \r\n
\r\n
\r\n \r\n
\r\n
\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 { useForm } from 'react-hook-form';\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 \"assets/css/loading.css\";\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\nexport default function ListaVeiculosExclusao({ item, protocolo, handleProximoStep }) { \r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n\r\n const [showLoading, setshowLoading] = React.useState(false);\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 { \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 setshowLoading(true);\r\n api_POST(`requerimentoTransportador/PostRequerimentoTransportadorExclusaoVeiculo/${registro.requerimento_Id}`, json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200){\r\n showMessage(\"Aviso\", result.message, 'error' , null); \r\n return;\r\n }\r\n else{\r\n handleProximoStep(registro);\r\n }\r\n }); \r\n }\r\n\r\n return (\r\n<>\r\n {showLoading && \r\n
\r\n
\r\n \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 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 { useForm } from 'react-hook-form';\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 \"assets/css/loading.css\";\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\nexport default function ListaVeiculosExclusao({ item, protocolo, handleProximoStep }) { \r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n\r\n const [showLoading, setshowLoading] = React.useState(false);\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 { \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 setshowLoading(true);\r\n api_POST(`requerimentoGerador/PostRequerimentoGeradorExclusaoLocal/${registro.requerimento_Id}`, json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200){\r\n showMessage(\"Aviso\", result.message, 'error' , null); \r\n return;\r\n }\r\n else{\r\n handleProximoStep(registro);\r\n }\r\n }); \r\n }\r\n\r\n return (\r\n<>\r\n {showLoading && \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 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 \"assets/css/loading.css\";\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\nexport default function ListaLocaisExclusao({ item, protocolo, handleProximoStep }) { \r\n const [showLoading, setshowLoading] = React.useState(false);\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 { \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 setshowLoading(true);\r\n api_POST(`requerimentoDestino/PostRequerimentoDestinoExclusaoLocal/${registro.requerimento_Id}`, json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200){\r\n showMessage(\"Aviso\", result.message, 'error' , null); \r\n return;\r\n }\r\n else{\r\n handleProximoStep(registro);\r\n }\r\n }); \r\n }\r\n\r\n return (\r\n<>\r\n {showLoading && \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

\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;","export const logotipo = () => {\r\n return localStorage.getItem(\"roc-virtualPath\") + \"logo.png\"; \r\n}\r\n\r\nexport const logoSecundario = () => {\r\n return localStorage.getItem(\"roc-virtualPath\") + \"logoSecundario.png\";\r\n}\r\n\r\nexport const logotipoBranco = () => {\r\n return localStorage.getItem(\"roc-virtualPath\") + \"logoBranco.png\";\r\n}\r\n\r\nexport const logoSecretariaBranco = () => {\r\n return localStorage.getItem(\"roc-virtualPath\") + \"logoSecretariaBranco.png\";\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\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: \"/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, UncontrolledCollapse, Button } from \"reactstrap\";\r\nimport PerfectScrollbar from \"perfect-scrollbar\";\r\nimport { logotipo, logoSecundario } from \"constants/Logotipo\";\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\nimport routes from \"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 == null)\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// style\r\nimport \"assets/css/loading.css\";\r\n\r\n// services\r\nimport { removeAllCookies } from \"services/cookies.js\";\r\nimport { setSessionCookie } from \"services/session.js\";\r\nimport { api_POST } from \"services/api_service.js\";\r\nimport { getSetupAmibiente } from \"services/setupGeral_service.js\";\r\n\r\nexport default function Login({ history }) {\r\n\r\n const { register, handleSubmit } = useForm({ mode: \"onBlur\" });\r\n\r\n const [showLoading, setshowLoading] = React.useState(false);\r\n\r\n const LoadSetup = () => {\r\n getSetupAmibiente(function (retorno) {\r\n if (retorno) {\r\n localStorage.setItem(\"roc-identificacao\", retorno.data.identificacao);\r\n localStorage.setItem(\"roc-virtualPath\", retorno.data.caminhoVirtual);\r\n localStorage.setItem(\"roc-URL_WEB\", retorno.data.urL_WEB_ROC);\r\n }\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n removeAllCookies();\r\n LoadSetup();\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 setshowLoading(true);\r\n api_POST(`usuario/authenticate/`, jsonSubmit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else 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 setSessionCookie(result.data);\r\n history.push(\"/admin/inicio\");\r\n }\r\n });\r\n }\r\n return (\r\n <>\r\n {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n
\r\n
\r\n \r\n \r\n \r\n

BEM VINDO

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

Gestão de Cadastro - {localStorage.getItem(\"roc-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// style\r\nimport \"assets/css/loading.css\";\r\n\r\n// services\r\nimport { removeAllCookies } from \"services/cookies.js\";\r\nimport { api_PUT } from \"services/api_service.js\";\r\n\r\nexport default function Login({ history }) {\r\n\r\n const { register, handleSubmit } = useForm({ mode: \"onBlur\" });\r\n\r\n const [showLoading, setshowLoading] = React.useState(false);\r\n\r\n useEffect(() => {\r\n removeAllCookies();\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 setshowLoading(true);\r\n api_PUT(`usuario/EsqueceuSenha`, json_post).then(result => {\r\n if (result.status !== 200) {\r\n setshowLoading(false);\r\n showMessage(\"Atenção\", result.message, 'error', null);\r\n }\r\n else {\r\n setshowLoading(false);\r\n showMessage(\"Atenção\", \"Uma senha temporária foi enviada para seu email\", 'success', function () {\r\n history.push(\"/auth/login\");\r\n });\r\n }\r\n });\r\n }\r\n return (\r\n <>\r\n {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n
\r\n
\r\n \r\n \r\n \r\n

BEM VINDO

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

Gestão de Cadastro - {localStorage.getItem(\"roc-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// style\r\nimport \"assets/css/loading.css\";\r\n\r\n// services\r\nimport { showMessage } from \"services/message.js\";\r\nimport { api_PUT } from \"services/api_service.js\";\r\nimport { getSessionCookie } from \"services/session.js\";\r\n\r\nexport default function TrocarSenha({ history }) {\r\n const session = getSessionCookie();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n\r\n const [showLoading, setshowLoading] = React.useState(false);\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 setshowLoading(true);\r\n api_PUT(`usuario/alterarsenha/`, jsonSubmit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\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 });\r\n }\r\n\r\n return (\r\n <>\r\n {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \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// style\r\nimport \"assets/css/loading.css\";\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 { getSessionCookie } from \"services/session.js\";\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\n\r\nfunction initialStateFiltro() {\r\n return {\r\n modalidade: \"Todos\"\r\n }\r\n}\r\nexport default function Inicio({ history }) {\r\n const [showLoading, setshowLoading] = useState(false);\r\n let session = getSessionCookie();\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 setshowLoading(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\"}`).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\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 });\r\n }\r\n\r\n useEffect(() => {\r\n loadIndicadores();\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 setshowLoading(true);\r\n api_GET(`categoria/GetListByExistsSetupSolicitacaoByUsuario/${session.usuario_Id}/${value}`).then(result => {\r\n if (result.status !== 200) {\r\n setshowLoading(false);\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n setshowLoading(false);\r\n set_categorias(result.data);\r\n }\r\n });\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 setshowLoading(true);\r\n api_GET(`requerimento/GetByAcompanhamentoSetupSolicitacao/${session.usuario_Id}/${setupSolicitacao.setupSolicitacao_Id}`)\r\n .then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n } else {\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 });\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 {showLoading &&\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 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\nimport { getSessionCookie } from \"services/session.js\";\r\n\r\n// api\r\nimport { api_GET } from \"services/api_service.js\";\r\n\r\nexport default function ManutencaoForm({ history }) {\r\n\r\n let session = getSessionCookie();\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}`).then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_opcoes(result.data);\r\n }\r\n });\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 \"assets/css/loading.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 { api_GET, api_POST } from \"../../services/api_service.js\";\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { getSessionCookie } from \"../../services/session.js\";\r\nimport { getSetupAmibiente } from \"../../services/setupGeral_service.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\nexport default function ConsultaCadastro({ history }) {\r\n const { register, errors, setValue, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n\r\n const [showLoading, setshowLoading] = React.useState(false);\r\n let session = getSessionCookie();\r\n\r\n const [setup, set_setup] = React.useState(null);\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\r\n const loadSetup = () => {\r\n getSetupAmibiente(function (retorno) {\r\n if (retorno) {\r\n set_setup(retorno.data);\r\n }\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n loadSetup();\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 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}`).then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_options_categoria(result.data.filter(f => f.segmento == _segmento));\r\n }\r\n });\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 setshowLoading(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).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n set_listProtocolos([]);\r\n }\r\n else {\r\n set_listProtocolos(result.data);\r\n }\r\n });\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 {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\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 && setup && setup.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 \"../../assets/css/loading.css\";\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\r\nexport default function ConsultaVeiculo() {\r\n const { register, handleSubmit } = useForm({ mode: \"onBlur\" });\r\n\r\n const [showLoading, setshowLoading] = useState(false);\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 setshowLoading(true);\r\n api_GET(`protocoloTransportador/ConsultaVeiculoTransportador/${cpfcnpj}/${placaVeiculo}`).then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", \"Não foi localizado nenhum veiculo com dados informados\", \"error\", null);\r\n return;\r\n } else {\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 }).finally(() => setshowLoading(false))\r\n }\r\n\r\n return <>\r\n {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 } 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 \"assets/css/loading.css\";\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\n\r\nexport default function AgendamentoVistoriaLista() {\r\n const [showLoading, setshowLoading] = React.useState(false);\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 setshowLoading(true);\r\n api_GET('AgendamentoVistoria').then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_list_table(result.data);\r\n }\r\n });\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 {showLoading &&\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 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 \"assets/css/loading.css\";\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\n\r\n\r\nexport default function ExportacaoLauda() {\r\n const { register, getValues, errors } = useForm({ mode: \"onBlur\" });\r\n\r\n const [showLoading, setshowLoading] = React.useState(false);\r\n const [list_table, set_list_table] = React.useState([]);\r\n\r\n const handleExport = (rowData) => {\r\n setshowLoading(true);\r\n api_GET('lauda/' + rowData.laudaDiarioOficial_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else{\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 }); \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 setshowLoading(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).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else{\r\n set_list_table(result.data);\r\n }\r\n });\r\n }\r\n\r\n useEffect(() => { \r\n }, []);\r\n \r\n return (\r\n <>\r\n {showLoading && \r\n
\r\n
\r\n \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.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 \"assets/css/loading.css\";\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 { getSessionCookie } from \"services/session.js\";\r\nimport ManutencaoTransportadorForm from './ManutencaoTransportadorForm';\r\n\r\nexport default function ManutencaoTransportadorLista({ history }) {\r\n const location = useLocation();\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n let session = getSessionCookie();\r\n const [showLoading, setshowLoading] = React.useState(false);\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).then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_rowEdit(result.data);\r\n set_showDetail(true);\r\n }\r\n });\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 setshowLoading(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)}`).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_list_table(result.data);\r\n }\r\n });\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 {showLoading &&\r\n
\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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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, Spinner, FormGroup, Input, Card, CardBody, Button } from \"reactstrap\";\r\n\r\n// style\r\nimport \"assets/css/loading.css\";\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\nexport default function ManutencaoGeradorLista({ history }) {\r\n const { register, errors, setValue, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n const location = useLocation();\r\n\r\n const [showLoading, setshowLoading] = React.useState(false);\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 api_GET('protocoloGerador/' + rowData.protocolo_Id).then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_rowEdit(result.data);\r\n set_showDetail(true);\r\n }\r\n });\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 setshowLoading(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)}`).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_list_table(result.data);\r\n }\r\n });\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 {showLoading &&\r\n
\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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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, Spinner, FormGroup, Input, Card, CardBody, Button } from \"reactstrap\";\r\n\r\n// style\r\nimport \"assets/css/loading.css\";\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 { getSessionCookie } from \"services/session.js\";\r\nimport ManutencaoDestinoForm from './ManutencaoDestinoForm';\r\n\r\nexport default function ManutencaoDestinoLista({ history }) {\r\n const { register, errors, setValue, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n const location = useLocation();\r\n\r\n const [showLoading, setshowLoading] = React.useState(false);\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 if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_rowEdit(result.data);\r\n set_showDetail(true);\r\n }\r\n });\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 setshowLoading(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 setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_list_table(result.data);\r\n }\r\n });\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 {showLoading &&\r\n
\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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 \"assets/css/loading.css\";\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 { getSessionCookie } from \"services/session.js\";\r\n\r\nexport default function CadastroEnquadramento({ history }) {\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n const [showLoading, setshowLoading] = React.useState(false);\r\n\r\n let session = getSessionCookie(); \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 setshowLoading(true);\r\n api_GET('enquadramento').then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else{\r\n set_list_table(result.data);\r\n }\r\n }); \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 setshowLoading(true);\r\n if(json_submit.enquadramento_Id == 0){\r\n api_POST('enquadramento',json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n }\r\n else{\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success' , function(){\r\n loadList();\r\n });\r\n }\r\n });\r\n }\r\n else{\r\n api_PUT('enquadramento',json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n }\r\n else{\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success' , function(){\r\n loadList();\r\n });\r\n }\r\n });\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 {showLoading && \r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n
\r\n \r\n \r\n \r\n \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 \"assets/css/loading.css\";\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 { getSessionCookie } from \"services/session.js\";\r\n\r\nexport default function CadastroDocumentos({ history }) {\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n const [showLoading, setshowLoading] = React.useState(false);\r\n let session = getSessionCookie(); \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 setshowLoading(true);\r\n api_GET('documento').then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else{\r\n set_list_table(result.data);\r\n }\r\n }); \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 setshowLoading(true);\r\n if(json_submit.documento_Id == 0){\r\n api_POST('documento',json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n }\r\n else{\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success' , function(){\r\n loadList();\r\n });\r\n }\r\n });\r\n }\r\n else{\r\n api_PUT('documento',json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n }\r\n else{\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success' , function(){\r\n loadList();\r\n });\r\n }\r\n });\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 {showLoading && \r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n
\r\n \r\n \r\n \r\n \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 \r\n \r\n \r\n \r\n \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 \"assets/css/loading.css\";\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\nexport default function CadastroSolicitacaoLista() {\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n const [showLoading, setshowLoading] = 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 setshowLoading(true);\r\n api_GET('setupsolicitacao').then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_list_table(result.data);\r\n }\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 {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\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 \"assets/css/loading.css\";\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 CadastroFluxoForm from \"./CadastroFluxoForm.jsx\";\r\n\r\nexport default function CadastroFluxoLista() {\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n const [showLoading, setshowLoading] = 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 setshowLoading(true);\r\n api_GET('fluxocadastro').then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_list_table(result.data);\r\n }\r\n });\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 {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\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 \"assets/css/loading.css\";\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 { getSessionCookie } from \"services/session.js\";\r\n\r\nexport default function CadastroSubPrefeitura({ history }) {\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n const [showLoading, setshowLoading] = React.useState(false);\r\n let session = getSessionCookie(); \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 setshowLoading(true);\r\n api_GET('subprefeitura').then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else{\r\n set_list_table(result.data);\r\n }\r\n }); \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 setshowLoading(true);\r\n if(json_submit.subPrefeitura_Id == 0){\r\n api_POST('SubPrefeitura',json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n }\r\n else{\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success' , function(){\r\n loadList();\r\n });\r\n }\r\n });\r\n }\r\n else{\r\n api_PUT('SubPrefeitura',json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n }\r\n else{\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success' , function(){\r\n loadList();\r\n });\r\n }\r\n });\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 {showLoading && \r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n
\r\n \r\n \r\n \r\n \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 \"assets/css/loading.css\";\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\nexport default function CadastroClassesResiduosLista() {\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n const [showLoading, setshowLoading] = 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 setshowLoading(true);\r\n api_GET('classeresiduo').then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else{\r\n set_list_table(result.data);\r\n }\r\n }); \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 {showLoading && \r\n
\r\n
\r\n \r\n
\r\n
\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 \"assets/css/loading.css\";\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 { getSessionCookie } from \"services/session.js\";\r\nimport { InputHourMinutes } from \"services/mask.js\";\r\nimport {isValidHourMinute} from \"helpers/valid.js\";\r\n\r\nexport default function CadastroSetupAgendaVistoria({ history }) {\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n const [showLoading, setshowLoading] = useState(false);\r\n let session = getSessionCookie();\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 setshowLoading(true);\r\n api_GET('setupAgendaVistoria').then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_list_table(result.data);\r\n }\r\n });\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 {\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 setshowLoading(true);\r\n if (json_submit.setupAgendaVistoria_Id == 0) {\r\n api_POST('setupAgendaVistoria', json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n loadList();\r\n });\r\n }\r\n });\r\n }\r\n else {\r\n api_PUT('setupAgendaVistoria', json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n loadList();\r\n });\r\n }\r\n });\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 {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n
\r\n \r\n \r\n \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 \"assets/css/loading.css\";\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 { getSessionCookie } from \"services/session.js\";\r\nimport { InputDIAMES } from \"services/mask.js\";\r\nimport { isValidDayMonth } from \"helpers/valid.js\";\r\n\r\nexport default function CadastroDiasNaoUteis({ history }) {\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n const [showLoading, setshowLoading] = useState(false);\r\n let session = getSessionCookie();\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 setshowLoading(true);\r\n api_GET('DiaNaoUtil').then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_list_table(result.data);\r\n }\r\n });\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 setshowLoading(true);\r\n if (json_submit.diaNaoUtil_Id == 0) {\r\n api_POST('DiaNaoUtil', json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n loadList();\r\n });\r\n }\r\n });\r\n }\r\n else {\r\n api_PUT('DiaNaoUtil', json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n loadList();\r\n });\r\n }\r\n });\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 {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n
\r\n \r\n \r\n \r\n \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 \"assets/css/loading.css\";\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 PerfilForm from \"./PerfilForm.jsx\";\r\n\r\nexport default function PerfilLista() {\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n\r\n const [showLoading, setshowLoading] = 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 setshowLoading(true);\r\n api_GET('perfil').then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else{\r\n set_list_table(result.data);\r\n }\r\n }); \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 {showLoading && \r\n
\r\n
\r\n \r\n
\r\n
\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 \"assets/css/loading.css\";\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\nexport default function UsuarioLista() {\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n const [showLoading, setshowLoading] = 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 setshowLoading(true);\r\n api_GET('usuario').then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else{\r\n set_list_table(result.data);\r\n }\r\n }); \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 {showLoading && \r\n
\r\n
\r\n \r\n
\r\n
\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\n\r\nexport default function ListaRelatorios({ history }) {\r\n\r\n const list_table = [\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\nimport { getSetupAmibiente } from \"services/setupGeral_service.js\";\r\n\r\n// services\r\nimport { removeAllCookies } from \"services/cookies.js\";\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\nimport CardWhatsapp from \"./components/CardWhatsapp\";\r\n\r\nexport default function PortalOpcoes({ history }) {\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').then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_integracoes(result.data);\r\n }\r\n });\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').then(result => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_opcoes(result.data);\r\n }\r\n });\r\n }\r\n\r\n const LoadSetup = () => {\r\n getSetupAmibiente(function (retorno) {\r\n if (retorno) {\r\n localStorage.setItem(\"roc-identificacao\", retorno.data.identificacao);\r\n localStorage.setItem(\"roc-virtualPath\", retorno.data.caminhoVirtual);\r\n localStorage.setItem(\"roc-URL_WEB\", retorno.data.urL_WEB_ROC);\r\n }\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n removeAllCookies();\r\n LoadOpcoes();\r\n LoadSetup();\r\n LoadIntegracoes();\r\n }, []);\r\n\r\n\r\n const [subTitle, setSubTitle] = useState(\"\");\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 {localStorage.getItem(\"roc-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\nexport default function Duvidas() {\r\n const [manuais, setManuais] = useState([\r\n {\r\n title: \"RGG - Manual de cadastramento de Geradores\",\r\n link: localStorage.getItem(\"roc-virtualPath\") + \"ManualCadastramentoGrandeGeradorRGG.pdf\"\r\n },\r\n {\r\n title: \"RGG - Manual de cadastramento de Transportadores\",\r\n link: localStorage.getItem(\"roc-virtualPath\") + \"ManualCadastramentoTransportadorRGG.pdf\"\r\n },\r\n {\r\n title: \"RGG - Manual de cadastramento de Destinos\",\r\n link: localStorage.getItem(\"roc-virtualPath\") + \"ManualCadastramentoDestinoFinalRGG.pdf\"\r\n },\r\n {\r\n title: \"RGG - Manual de recadastramento de Destinos\",\r\n link: localStorage.getItem(\"roc-virtualPath\") + \"ManualRecadastramentoDestinoFinal_RGG.pdf\"\r\n },\r\n {\r\n title: \"RGG - Manual de recadastramento de Geradores\",\r\n link: localStorage.getItem(\"roc-virtualPath\") + \"ManualRecadastramentoGrandeGerador_RGG.pdf\"\r\n },\r\n {\r\n title: \"RGG - Manual de recadastramento de Transportadores\",\r\n link: localStorage.getItem(\"roc-virtualPath\") + \"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\nimport { setSessionCookie } from \"services/session.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\nimport { getSessionCookie } from 'services/session';\r\n\r\nexport default function TransportadorRequerimentoNovoCadastro({ history }) {\r\n const session = getSessionCookie();\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 setSessionCookie(null);\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 if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\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 });\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', 'Documentação');\r\n }\r\n\r\n\r\n return (\r\n <>\r\n {requerimento != null && opcao != null && ((step < 4 && 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 {localStorage.getItem(\"roc-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 &&\r\n : \"\"}\r\n {opcao.categoria.sigla != \"RGG\" ? step == 3 &&\r\n : \"\"}\r\n {opcao.categoria.sigla != \"RGG\" ? step == 4 &&\r\n : \"\"}\r\n\r\n {opcao.categoria.sigla != \"RGG\" ?\r\n step == 5 && \r\n :\r\n step == 1 && }\r\n\r\n {opcao.categoria.sigla != \"RGG\" ?\r\n step == 6 && \r\n :\r\n step == 2 && }\r\n
\r\n }\r\n\r\n {requerimento != null && opcao != null && (step == 7 || (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 { 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\nimport { getSessionCookie } from 'services/session';\r\n\r\nexport default function TransportadorRequerimentoRenovacaCadastro({ history }) {\r\n const [showLoading, setshowLoading] = React.useState(false);\r\n const location = useLocation();\r\n const session = getSessionCookie();\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 setshowLoading(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 setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\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 });\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\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 })\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', 'Documentação');\r\n }\r\n\r\n\r\n return (\r\n <>\r\n {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n {requerimento != null && opcao != null && (requerimento.status == \"Em Andamento\" || requerimento.status == \"Divergente\")\r\n && ((step < 4 && 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 {localStorage.getItem(\"roc-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 &&\r\n : \"\"}\r\n\r\n {opcao.categoria.sigla != \"RGG\" ? step == 3 &&\r\n : \"\"}\r\n\r\n {opcao.categoria.sigla != \"RGG\" ? step == 4 &&\r\n : \"\"}\r\n\r\n {opcao.categoria.sigla != \"RGG\" ?\r\n step == 5 &&\r\n \r\n :\r\n step == 1 && }\r\n\r\n {opcao.categoria.sigla != \"RGG\" ?\r\n step == 6 &&\r\n \r\n :\r\n step == 2 && }\r\n
\r\n }\r\n {requerimento != null && opcao != null && (step == 7 || (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.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\nimport { getSessionCookie } from 'services/session.js';\r\n\r\nexport default function TransportadorRequerimentoInclusaoVeiculo({ history }) {\r\n const [showLoading, setshowLoading] = React.useState(false);\r\n const location = useLocation();\r\n const session = getSessionCookie();\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).then(result => {\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n else{ \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 }); \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 setshowLoading(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 setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n else{ \r\n set_requerimento(result.data);\r\n set_step(0);\r\n } \r\n }); \r\n }\r\n else{\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n else{ \r\n set_requerimento(result.data);\r\n set_step(0);\r\n } \r\n }) \r\n }\r\n } \r\n\r\n const handleFinalizarRequerimento = () => {\r\n setshowLoading(true); \r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento',requerimento).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n else{ \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 });\r\n }\r\n \r\n useEffect(() => {\r\n loadSteps();\r\n loadRequerimento();\r\n }, []); \r\n\r\n return (\r\n <>\r\n {showLoading && \r\n
\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 {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {localStorage.getItem(\"roc-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\nimport { getSessionCookie } from 'services/session';\r\n\r\nexport default function TransportadorRequerimentoExclusaoVeiculo({ history }) {\r\n const [showLoading, setshowLoading] = React.useState(false);\r\n const location = useLocation();\r\n const session = getSessionCookie();\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).then(result => {\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\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 });\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 setshowLoading(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 if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\r\n set_requerimento(result.data);\r\n loadProtocolo(result.data.protocolo_Id);\r\n }\r\n });\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id).then(result => {\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\r\n set_requerimento(result.data);\r\n loadProtocolo(result.data.protocolo_Id);\r\n }\r\n })\r\n }\r\n }\r\n\r\n const loadProtocolo = (protocolo_Id) => {\r\n api_GET('ProtocoloTransportador/' + protocolo_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\r\n set_protocolo(result.data);\r\n }\r\n })\r\n }\r\n\r\n const handleFinalizarRequerimento = () => {\r\n setshowLoading(true);\r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento', requerimento).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\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 });\r\n }\r\n\r\n useEffect(() => {\r\n loadSteps();\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {showLoading &&\r\n
\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 {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {localStorage.getItem(\"roc-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\nimport { getSessionCookie } from 'services/session.js';\r\n\r\nexport default function TransportadorRequerimentoAlteracao({ history }) {\r\n const [showLoading, setshowLoading] = React.useState(false);\r\n const location = useLocation();\r\n const session = getSessionCookie();\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 setshowLoading(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).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n return;\r\n }\r\n else {\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 });\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 setshowLoading(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 setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\r\n set_requerimento(result.data);\r\n set_step(0);\r\n loadProtocolo(location.state.protocolo.protocolo_Id);\r\n }\r\n });\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\r\n set_requerimento(result.data);\r\n set_step(0);\r\n loadProtocolo(location.state.protocolo.protocolo_Id);\r\n }\r\n })\r\n }\r\n }\r\n\r\n const loadProtocolo = (protocolo_Id) => {\r\n api_GET('ProtocoloTransportador/' + protocolo_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\r\n set_protocolo(result.data);\r\n }\r\n })\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).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\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 });\r\n }\r\n\r\n useEffect(() => {\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {showLoading &&\r\n
\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 {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {localStorage.getItem(\"roc-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 \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\nimport { getSessionCookie } from 'services/session';\r\n\r\nexport default function TransportadorRequerimentoAlteracao({ history }) {\r\n const session = getSessionCookie();\r\n const [showLoading, setshowLoading] = React.useState(false);\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 setshowLoading(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 setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\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 });\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else { \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 })\r\n }\r\n }\r\n\r\n const handleFinalizarRequerimento = () => {\r\n setshowLoading(true);\r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento', requerimento).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\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 });\r\n }\r\n\r\n useEffect(() => {\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {showLoading &&\r\n
\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 {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {localStorage.getItem(\"roc-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 Container,\r\n Form,\r\n FormGroup,\r\n Input\r\n} from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\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\r\nexport default function AtualizarContato({ history }) {\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n\r\n const [showLoading, setshowLoading] = React.useState(false);\r\n const location = useLocation();\r\n\r\n const steps = ['Contato'];\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.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 const handleReturn = () => {\r\n history.goBack(-1)\r\n }\r\n \r\n const onSubmit = (data) => {\r\n setshowLoading(true);\r\n let item = location.state.protocolo;\r\n let controller = '';\r\n\r\n if (email == null || email.length == 0) {\r\n setshowLoading(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 setshowLoading(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 setshowLoading(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 setshowLoading(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 setshowLoading(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).then(result => {\r\n if (result.status !== 200) {\r\n setshowLoading(false);\r\n showMessage(\"Atenção\", result.message, 'error', null);\r\n } else {\r\n setshowLoading(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 });\r\n }\r\n\r\n return (\r\n <>\r\n {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\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\nimport { getSessionCookie } from 'services/session';\r\n\r\nexport default function TransportadorRequerimentoAlteracaoEquipamento({ history }) {\r\n const [showLoading, setshowLoading] = React.useState(false);\r\n const location = useLocation();\r\n const session = getSessionCookie();\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 setshowLoading(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 setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n else{ \r\n set_requerimento(result.data);\r\n set_step(0);\r\n } \r\n }); \r\n }\r\n else{\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n else{ \r\n set_requerimento(result.data);\r\n set_step(0);\r\n } \r\n }) \r\n }\r\n } \r\n\r\n const handleFinalizarRequerimento = () => {\r\n setshowLoading(true); \r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento',requerimento).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n else{ \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 });\r\n }\r\n \r\n useEffect(() => { \r\n loadRequerimento();\r\n }, []); \r\n\r\n return (\r\n <>\r\n {showLoading && \r\n
\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 {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {localStorage.getItem(\"roc-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// style\r\nimport \"assets/css/loading.css\";\r\n\r\n// services\r\nimport { removeAllCookies } from \"services/cookies.js\";\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\nimport { getSetupAmibiente } from \"services/setupGeral_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\nimport CardWhatsapp from \"./components/CardWhatsapp\";\r\n\r\nexport default function MeuCadastro({ history }) {\r\n const { register, errors, setError, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n\r\n const [showLoading, setshowLoading] = useState(false);\r\n\r\n const [setup, set_setup] = React.useState(null);\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 loadSetup = () => {\r\n getSetupAmibiente(function (retorno) {\r\n if (retorno) {\r\n set_setup(retorno.data);\r\n }\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n loadSetup();\r\n removeAllCookies();\r\n\r\n const authenticationData = JSON.parse(localStorage.getItem(\"AutenticacaoUsuario\"));\r\n if (authenticationData) {\r\n const _dataAcesso = new Date(authenticationData.dataAcesso || 0);\r\n const dataAtual = new Date();\r\n const diferencaComDataAtual = dataAtual - _dataAcesso;\r\n const validar24Horas = diferencaComDataAtual < 24 * 60 * 60 * 1000;\r\n if (validar24Horas) {\r\n loadProtocolo(authenticationData);\r\n } else {\r\n localStorage.removeItem(\"AutenticacaoUsuario\");\r\n }\r\n }\r\n }, []);\r\n\r\n const handleClickConsultar = () => {\r\n setshowLoading(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 setshowLoading(false);\r\n return;\r\n }\r\n\r\n api_GET('protocolo/MeuCadastro/' + data.cpf_cnpj).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_MeuCadastro(result.data);\r\n }\r\n });\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 setshowLoading(true);\r\n CancelarRequerimentoByProtocolo(item.protocolo_Id, function (result) {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\r\n showMessage(\"Aviso\", \"Requerimento cancelado com sucesso!\", 'success', function () {\r\n window.location.reload();\r\n });\r\n }\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 = () => {\r\n let paramentros = { protocolo_Id: null, senha: null }\r\n let _autenticacaoUsuario = JSON.parse(localStorage.getItem(\"AutenticacaoUsuario\"));\r\n\r\n if (_autenticacaoUsuario) {\r\n paramentros.protocolo_Id = _autenticacaoUsuario.protocolo_Id;\r\n paramentros.senha = _autenticacaoUsuario.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 setshowLoading(true);\r\n api_GET('protocolo/ByDocumentoSenha/' + paramentros.protocolo_Id + \"/\" + paramentros.senha).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n setModal(false);\r\n if (result.data.status == \"Pendente\") {\r\n if (result.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 = result.data.requerimento.filter(f => f.status == \"Em Andamento\" || f.status == \"Pendente\" || f.status == \"Divergente\")[0];\r\n history.push({ pathname: \"/auth/ConsultaRequerimento\", state: { protocolo: result.data, requerimento: _requerimento } });\r\n }, 500)\r\n }\r\n }\r\n else {\r\n localStorage.setItem(\"AutenticacaoUsuario\", JSON.stringify({\r\n protocolo_Id: paramentros.protocolo_Id,\r\n senha: paramentros.senha,\r\n dataAcesso: new Date().getTime()\r\n }));\r\n set_protocolo(result.data);\r\n }\r\n }\r\n });\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();\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 setshowLoading(true);\r\n api_POST(`protocolo/PostAtualizarSenha`, json_post).then(result => {\r\n if (result.status !== 200) {\r\n setshowLoading(false);\r\n showMessage(\"Atenção\", result.message, 'error', null);\r\n }\r\n else {\r\n setshowLoading(false);\r\n showMessage(\"Atenção\", \"Uma nova senha foi enviada para seu email.\", 'success', null);\r\n }\r\n });\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 setshowLoading(true);\r\n api_POST(`protocolo/PostRecuperarRequerimento`, json_post).then(result => {\r\n if (result.status !== 200) {\r\n setshowLoading(false);\r\n showMessage(\"Atenção\", result.message, 'error', null);\r\n }\r\n else {\r\n setshowLoading(false);\r\n showMessage(\"Atenção\", \"Enviado o Requerimento para E-Mail informado.\", 'success', null);\r\n }\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n {showLoading &&\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 {!meuCadastro &&\r\n

Meu Cadastro {localStorage.getItem(\"roc-identificacao\")}

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

Bem-vindo

\r\n }\r\n {meuCadastro && meuCadastro.segmentos.filter(f => f.statusProtocolo == \"Ativo\").length > 0 && setup && setup.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// style\r\nimport \"assets/css/loading.css\";\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\nexport default function ConsultaRequerimento({ history }) {\r\n\r\n const location = useLocation();\r\n const [showLoading, setshowLoading] = React.useState(true);\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 setshowLoading(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.status !== 200) {\r\n setshowLoading(false);\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else if (result.data.setupSolicitacaoAcao.setupSolicitacao.segmento == \"Transportador\") {\r\n api_GET('protocolotransportador/' + result.data.protocolo_Id).then(result_protocolo => {\r\n if (result_protocolo.status !== 200) {\r\n setshowLoading(false);\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n setshowLoading(false);\r\n handleOpenRequerimentoTransportador(result_protocolo.data, result.data);\r\n }\r\n });\r\n }\r\n else if (result.data.setupSolicitacaoAcao.setupSolicitacao.segmento == \"Grande Gerador\") {\r\n api_GET('protocologerador/' + result.data.protocolo_Id).then(result_protocolo => {\r\n if (result_protocolo.status !== 200) {\r\n setshowLoading(false);\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n setshowLoading(false);\r\n handleOpenRequerimentoGerador(result_protocolo.data, result.data);\r\n }\r\n });\r\n }\r\n else if (result.data.setupSolicitacaoAcao.setupSolicitacao.segmento == \"Destino Final\") {\r\n api_GET('protocolodestino/' + result.data.protocolo_Id).then(result_protocolo => {\r\n if (result_protocolo.status !== 200) {\r\n setshowLoading(false);\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n setshowLoading(false);\r\n handleOpenRequerimentoDestino(result_protocolo.data, result.data);\r\n }\r\n });\r\n }\r\n });\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 {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\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// style\r\nimport \"assets/css/loading.css\";\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 { logotipo, logoSecundario } from \"constants/Logotipo\";\r\n\r\nexport default function CarteirinhaVeiculo({ history }) {\r\n const [showLoading, setshowLoading] = useState(false);\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\r\n api_GET('protocolotransportador/ByNumeroProtocolo/' + params.protocolo).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\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 }\r\n set_dadoscarteirinha(_carteirinha);\r\n }\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n loadDados();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\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

{titleCard}

\r\n \r\n \r\n \r\n \r\n \r\n Código Cadastro - {localStorage.getItem(\"roc-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}","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, ModalHeader, 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\nimport { setSessionCookie } from \"services/session.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\nimport { getSessionCookie } from 'services/session';\r\n\r\nexport default function GeradorRequerimentoNovoCadastro({ history }) {\r\n const [requerimento, set_requerimento] = useState(null);\r\n const session = getSessionCookie();\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 if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\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 });\r\n }\r\n\r\n const loadRequerimento = () => {\r\n setSessionCookie(null);\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 if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\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 });\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 {localStorage.getItem(\"roc-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\nimport MaterialTable from 'material-table';\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col, Container, Modal, ModalHeader, 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, 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//Contants\r\nimport { getSessionCookie } from 'services/session';\r\n\r\nexport default function GeradorRequerimentoRenovacaoCadastro({ history }) {\r\n const session = getSessionCookie();\r\n const [showLoading, setshowLoading] = useState(false);\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 setshowLoading(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 setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\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 });\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\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 })\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {showLoading &&\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 {localStorage.getItem(\"roc-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\nimport { getSessionCookie } from 'services/session';\r\n\r\nexport default function GeradorRequerimentoInclusaoLocal({ history }) {\r\n const [showLoading, setshowLoading] = React.useState(false);\r\n const location = useLocation();\r\n const session = getSessionCookie();\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).then(result => {\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n else{ \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 }); \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 setshowLoading(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 setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n else{ \r\n set_requerimento(result.data);\r\n set_step(0);\r\n } \r\n }); \r\n }\r\n else{\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n else{ \r\n set_requerimento(result.data);\r\n set_step(0);\r\n } \r\n }) \r\n }\r\n } \r\n\r\n const handleFinalizarRequerimento = () => {\r\n setshowLoading(true); \r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento',requerimento).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n else{ \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 });\r\n }\r\n \r\n useEffect(() => {\r\n loadSteps();\r\n loadRequerimento();\r\n }, []); \r\n\r\n return (\r\n <>\r\n {showLoading && \r\n
\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 {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {localStorage.getItem(\"roc-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\nimport { getSessionCookie } from 'services/session';\r\n\r\nexport default function GeradorRequerimentoExclusaoLocal({ history }) {\r\n const [showLoading, setshowLoading] = React.useState(false);\r\n const location = useLocation();\r\n const session = getSessionCookie()\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).then(result => {\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n else{ \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 }); \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 setshowLoading(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 if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n else{ \r\n set_requerimento(result.data);\r\n loadProtocolo(result.data.protocolo_Id);\r\n } \r\n }); \r\n }\r\n else{\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id).then(result => { \r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n else{ \r\n set_requerimento(result.data); \r\n loadProtocolo(result.data.protocolo_Id);\r\n } \r\n }) \r\n }\r\n } \r\n\r\n const loadProtocolo = (protocolo_Id) => {\r\n api_GET('ProtocoloGerador/' + protocolo_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n else{ \r\n set_protocolo(result.data); \r\n } \r\n }) \r\n }\r\n\r\n const handleFinalizarRequerimento = () => {\r\n setshowLoading(true); \r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento',requerimento).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n else{ \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 });\r\n }\r\n \r\n useEffect(() => {\r\n loadSteps();\r\n loadRequerimento();\r\n }, []); \r\n\r\n return (\r\n <>\r\n {showLoading && \r\n
\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 {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {localStorage.getItem(\"roc-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\nimport MaterialTable from 'material-table';\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\nimport { getSessionCookie } from \"services/session\";\r\n\r\nexport default function RequerimentoAlteracaoCadastro({ history }) {\r\n const location = useLocation();\r\n\r\n const [requerimento, set_requerimento] = useState(null);\r\n\r\n const [showLoading, setshowLoading] = React.useState(false);\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 session = getSessionCookie()\r\n\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 setshowLoading(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 setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\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 });\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\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 })\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {showLoading &&\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 {localStorage.getItem(\"roc-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// style\r\nimport \"assets/css/loading.css\";\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 { logotipo, logoSecundario } from \"constants/Logotipo\";\r\n\r\nexport default function CarteirinhaGG({ history }) {\r\n const [showLoading, setshowLoading] = React.useState(false);\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 api_GET('ProtocoloGerador/ByNumeroProtocolo/' + params.protocolo).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\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 })\r\n }\r\n\r\n useEffect(() => {\r\n loadDados();\r\n }, []);\r\n \r\n return (\r\n <>\r\n {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\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\n\r\n// reactstrap components\r\nimport { Button } from \"reactstrap\";\r\n\r\n// style\r\nimport \"assets/css/loading.css\";\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\nimport { useReactToPrint } from \"react-to-print\";\r\n\r\nexport default function QrCodeLocalidadeRGG({ history }) {\r\n const [showLoading, setshowLoading] = useState(false);\r\n\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 setshowLoading(true);\r\n api_GET('ProtocoloGerador/ByNumeroProtocolo/' + params.protocolo).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\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.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\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 });\r\n } else {\r\n showMessage(\"Error\", \"Error ao consultar QrCodes do contratos.\", 'error', null);\r\n return;\r\n }\r\n }\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n loadDados();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {showLoading &&\r\n
\r\n
\r\n \"Loading\"\r\n
\r\n
\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 { useForm } from 'react-hook-form';\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\nimport { setSessionCookie } from \"services/session.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\nimport { getSessionCookie } from 'services/session';\r\n\r\nexport default function GeradorRSSRequerimentoNovoCadastro({ history }) {\r\n const session = getSessionCookie();\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 setSessionCookie(null);\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 if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\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 });\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 {localStorage.getItem(\"roc-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\nimport { getSessionCookie } from 'services/session';\r\n\r\nexport default function GeradorRSSRequerimentoNovoCadastro({ history }) {\r\n\r\n const [showLoading, setshowLoading] = React.useState(false);\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n const location = useLocation();\r\n const session = getSessionCookie();\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 setshowLoading(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 setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else { \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 });\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\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 })\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\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 {localStorage.getItem(\"roc-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\nimport { setSessionCookie } from \"services/session.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\nimport { getSessionCookie } from 'services/session';\r\n\r\nexport default function DestinoRequerimentoNovoCadastro({ history }) {\r\n const session = getSessionCookie();\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 setSessionCookie(null);\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 if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\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 });\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 {localStorage.getItem(\"roc-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\nimport { getSessionCookie } from 'services/session';\r\n\r\nexport default function DestinoRequerimentoInclusaoLocal({ history }) {\r\n const [showLoading, setshowLoading] = React.useState(false);\r\n const location = useLocation();\r\n const session = getSessionCookie();\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.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n else{ \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 }); \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 setshowLoading(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 setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n else{ \r\n set_requerimento(result.data);\r\n set_step(0);\r\n } \r\n }); \r\n }\r\n else{\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n else{ \r\n set_requerimento(result.data);\r\n set_step(0);\r\n } \r\n }) \r\n }\r\n } \r\n\r\n const handleFinalizarRequerimento = () => {\r\n setshowLoading(true); \r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento',requerimento).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n else{ \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 });\r\n }\r\n \r\n useEffect(() => {\r\n loadSteps();\r\n loadRequerimento();\r\n }, []); \r\n\r\n return (\r\n <>\r\n {showLoading && \r\n
\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 {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {localStorage.getItem(\"roc-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\nimport { getSessionCookie } from 'services/session';\r\n\r\nexport default function DestinoRequerimentoRenovacaoCadastro({ history }) {\r\n const session = getSessionCookie();\r\n const [showLoading, setshowLoading] = React.useState(false);\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 setshowLoading(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 setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\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 });\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\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 })\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 {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\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 {localStorage.getItem(\"roc-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\nimport { getSessionCookie } from 'services/session';\r\n\r\nexport default function DestinoRequerimentoExclusaoLocal({ history }) {\r\n const [showLoading, setshowLoading] = React.useState(false);\r\n const location = useLocation();\r\n const session = getSessionCookie();\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).then(result => {\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n else{ \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 }); \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 setshowLoading(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 if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n else{ \r\n set_requerimento(result.data);\r\n loadProtocolo(result.data.protocolo_Id);\r\n } \r\n }); \r\n }\r\n else{\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id).then(result => { \r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n else{ \r\n set_requerimento(result.data); \r\n loadProtocolo(result.data.protocolo_Id);\r\n } \r\n }) \r\n }\r\n } \r\n\r\n const loadProtocolo = (protocolo_Id) => {\r\n api_GET('ProtocoloDestino/' + protocolo_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n else{ \r\n set_protocolo(result.data); \r\n } \r\n }) \r\n }\r\n\r\n const handleFinalizarRequerimento = () => {\r\n setshowLoading(true); \r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento',requerimento).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n else{ \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 });\r\n }\r\n \r\n useEffect(() => {\r\n loadSteps();\r\n loadRequerimento();\r\n }, []); \r\n\r\n return (\r\n <>\r\n {showLoading && \r\n
\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 {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {localStorage.getItem(\"roc-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\nimport { getSessionCookie } from 'services/session';\r\n\r\nexport default function DestinoRequerimentoAlteracao({ history }) {\r\n const session = getSessionCookie();\r\n const [showLoading, setshowLoading] = React.useState(false);\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 setshowLoading(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 setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\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 });\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\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 })\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 {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\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 {localStorage.getItem(\"roc-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 } 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\nimport { useEffect } from 'react';\r\nimport { getSessionCookie } from 'services/session';\r\n\r\nexport default function DestinoRequerimentoAumentoCapacidade({ history }) {\r\n let session = getSessionCookie();\r\n\r\n const [showLoading, setshowLoading] = React.useState(false);\r\n const location = useLocation();\r\n\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).then(result => {\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\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 });\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 setshowLoading(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 setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\r\n set_requerimento(result.data);\r\n }\r\n });\r\n } else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\r\n set_requerimento(result.data);\r\n }\r\n })\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 setshowLoading(true);\r\n api_POST('RequerimentoDestino/PostRequerimentoDestinoAumentoCapacidade', json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\r\n if(steps.length == 1){\r\n handleFinalizarRequerimento();\r\n }else {\r\n set_step(step + 1); \r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n const handleFinalizarRequerimento = () => {\r\n setshowLoading(true);\r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento', requerimento).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\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 });\r\n }\r\n\r\n return (\r\n <>\r\n {showLoading &&\r\n
\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 {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {localStorage.getItem(\"roc-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// style\r\nimport \"assets/css/loading.css\";\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 { logotipo, logoSecundario } from \"constants/Logotipo\";\r\n\r\nexport default function CertificadoRSS({ history }) {\r\n const [showLoading, setshowLoading] = useState(false);\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 api_GET('ProtocoloGerador/ByNumeroProtocolo/' + params.protocolo).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else { \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 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 }\r\n\r\n useEffect(() => {\r\n loadDados();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\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.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\t 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// style\r\nimport \"assets/css/loading.css\";\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 { logotipo } from \"constants/Logotipo\";\r\n\r\nexport default function CertificadoTransportador({ history }) {\r\n const [showLoading, setshowLoading] = React.useState(false);\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 api_GET('protocolotransportador/GetCertificadoTransportador/' + params.protocolo).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\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 })\r\n }\r\n\r\n useEffect(() => {\r\n loadDados();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\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// style\r\nimport \"assets/css/loading.css\";\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 { logotipo } from \"constants/Logotipo\";\r\n\r\nexport default function CertificadoTransportadorUnificado({ history }) {\r\n const [showLoading, setshowLoading] = React.useState(false);\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 api_GET('protocolotransportador/GetCertificadoTransportadorUnificado/' + params.protocolo).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\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 })\r\n }\r\n\r\n useEffect(() => {\r\n loadDados();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\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// style\r\nimport \"assets/css/loading.css\";\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 { logotipo } from \"constants/Logotipo\";\r\n\r\nexport default function CertificadoDestino({ history }) {\r\n const [showLoading, setshowLoading] = useState(false);\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 api_GET('protocolodestino/ByNumeroProtocolo/' + params.protocolo).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\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 }\r\n\r\n useEffect(() => {\r\n loadDados();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\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 - {localStorage.getItem(\"roc-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// style\r\nimport \"assets/css/loading.css\";\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 { logotipo } from \"constants/Logotipo\";\r\n\r\nexport default function CertificadoDestinoRGG({ history }) {\r\n const [showLoading, setshowLoading] = useState(false);\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 api_GET('protocolodestino/ByNumeroProtocolo/' + params.protocolo).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n else {\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 console.log(protocolo.protocoloDestino[0])\r\n const {logradouro, numEndereco, bairro, razaoSocial} = protocolo.protocoloDestino[0];\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 })\r\n }\r\n\r\n useEffect(() => {\r\n loadDados();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\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 - {localStorage.getItem(\"roc-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\nimport { getSessionCookie } from 'services/session';\r\n\r\nexport default function RequerimentoCancelamento({ history }) {\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n const session = getSessionCookie();\r\n const [showLoading, setshowLoading] = React.useState(false);\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).then(result => {\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n else{ \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 }); \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 setshowLoading(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 setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n else{ \r\n set_requerimento(result.data);\r\n } \r\n }); \r\n }\r\n else{\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id).then(result => { \r\n setshowLoading(false); \r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n else{ \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 }) \r\n }\r\n } \r\n \r\n const handleFinalizarRequerimento = () => {\r\n setshowLoading(true); \r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento',requerimento).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200)\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n else{ \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 });\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 setshowLoading(true);\r\n if(json_submit.requerimentoMotivoCancelamento_Id == 0){\r\n api_POST('Requerimento/PostRequerimentoMotivoCancelamento',json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n }\r\n else{\r\n if (steps.length > 1)\r\n handleProximoStep(result.data);\r\n else\r\n handleFinalizarRequerimento();\r\n }\r\n });\r\n }\r\n else{\r\n api_PUT('Requerimento/PutRequerimentoMotivoCancelamento',json_submit).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error' , null);\r\n }\r\n else{\r\n if (steps.length > 1)\r\n handleProximoStep(result.data);\r\n else\r\n handleFinalizarRequerimento(); \r\n }\r\n });\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 {showLoading && \r\n
\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 {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado pela {localStorage.getItem(\"roc-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\nimport { getSessionCookie } from \"services/session\";\r\n\r\nexport default function AnexoComprovantePagamento({ history }) {\r\n const session = getSessionCookie();\r\n const { handleSubmit } = useForm({ mode: \"onBlur\" });\r\n\r\n const [showLoading, setshowLoading] = React.useState(false);\r\n\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 setshowLoading(true);\r\n api_GET(`Requerimento/GetRequerimentoCobranca/${params.hash}`).then(result => {\r\n if (result.status !== 200) {\r\n setshowLoading(false);\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n setshowLoading(false);\r\n set_dadosComprovantePagamento(result.data);\r\n }\r\n });\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 setshowLoading(true);\r\n api_POST(`AnaliseRequerimento/PostRequerimentoCobrancaComprovante/${dadosComprovantePagamento.requerimento_Id}`, json_submit).then(result => {\r\n if (result.status !== 200) {\r\n setshowLoading(false);\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n setshowLoading(false);\r\n showMessage(\"Aviso\", \"Comprovante enviado com sucesso\", 'success', function(){\r\n window.location.reload();\r\n });\r\n }\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\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\nexport default function AgendamentoVistoriaPortal({ history }) {\r\n\r\n const [showLoading, setshowLoading] = React.useState(false);\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 setshowLoading(true);\r\n api_GET(`AgendamentoVistoria/GetItemListByProtocoloAndRequerimento/${params.protocolo}/${params.requerimento}`).then(result => {\r\n setshowLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n }\r\n else {\r\n set_rowEdit(result.data);\r\n }\r\n });\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 {showLoading &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n {rowEdit &&\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, Container } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\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 { formateDateApi } from \"helpers/formats.js\";\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 InputGroup,\r\n InputGroupText,\r\n InputGroupAddon,\r\n Input,\r\n} from \"reactstrap\";\r\n\r\nimport { getSessionCookie } from \"services/session.js\";\r\nimport routes from \"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\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\nfunction Popover({ id = \"UncontrolledPopover\" }) {\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: localStorage.getItem(\"roc-virtualPath\") + \"ManualCadastramentoGrandeGeradorRGG.pdf\"\r\n },\r\n {\r\n title: \"RGG - Manual de cadastramento de Transportadores\",\r\n link: localStorage.getItem(\"roc-virtualPath\") + \"ManualCadastramentoTransportadorRGG.pdf\"\r\n },\r\n {\r\n title: \"RGG - Manual de cadastramento de Destinos\",\r\n link: localStorage.getItem(\"roc-virtualPath\") + \"ManualCadastramentoDestinoFinalRGG.pdf\"\r\n },\r\n {\r\n title: \"RGG - Manual de recadastramento de Destinos\",\r\n link: localStorage.getItem(\"roc-virtualPath\") + \"ManualRecadastramentoDestinoFinal_RGG.pdf\"\r\n },\r\n {\r\n title: \"RGG - Manual de recadastramento de Geradores\",\r\n link: localStorage.getItem(\"roc-virtualPath\") + \"ManualRecadastramentoGrandeGerador_RGG.pdf\"\r\n },\r\n {\r\n title: \"RGG - Manual de recadastramento de Transportadores\",\r\n link: localStorage.getItem(\"roc-virtualPath\") + \"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 { logotipoBranco, logoSecretariaBranco } from \"../../constants/Logotipo\";\r\nimport Popover from './components/Popover';\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 routes from \"routes\";\r\nimport { Container, Button, Row, Col, Modal, ModalBody, ModalFooter } from \"reactstrap\";\r\nimport { logotipo } from \"constants/Logotipo\";\r\nimport { logoSecundario } from \"constants/Logotipo\";\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 Navigation from \"components/Navbars/Navigation\";\r\nimport routes from \"routes\";\r\nimport { Container } from \"reactstrap\";\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 Navigation from \"components/Navbars/Navigation\";\r\nimport routes from \"routes\";\r\nimport { Container, Button, Row, Col, Modal, ModalBody, ModalFooter } from \"reactstrap\";\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","/*!\r\n\r\n=========================================================\r\n* Paper Dashboard React - v1.2.0\r\n=========================================================\r\n\r\n* Product Page: https://www.creative-tim.com/product/paper-dashboard-react\r\n* Copyright 2020 Creative Tim (https://www.creative-tim.com)\r\n\r\n* Licensed under MIT (https://github.com/creativetimofficial/paper-dashboard-react/blob/master/LICENSE.md)\r\n\r\n* Coded by Creative Tim\r\n\r\n=========================================================\r\n\r\n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\r\n\r\n*/\r\nimport React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { createBrowserHistory } from \"history\";\r\nimport { Router, Route, Switch, Redirect } from \"react-router-dom\";\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\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\nconst hist = createBrowserHistory();\r\n\r\nReactDOM.render(\r\n \r\n \r\n } />\r\n } />\r\n } />\r\n } />\r\n \r\n \r\n ,\r\n document.getElementById(\"root\")\r\n);\r\n"],"sourceRoot":""}