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

Ação

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

{requerimento.setupSolicitacaoAcao.setupSolicitacao.categoria.descricao}

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

Empresa

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Responsável

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

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

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

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

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

Requerimento

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

{requerimento.setupSolicitacaoAcao.acao}

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

{requerimento.numeroRequerimento}

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

{requerimento.status}

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

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

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

Motivo do Cancelamento

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

{requerimento.requerimentoMotivoCancelamento[0].motivo}

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

Veículos

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

{item.placa}

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

{item.tipo}

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

{item.modalidade}

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

{item.marca}

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

{item.anoFabricacao}

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

{item.anoFabricacaoEquipamento}

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

{item.cor}

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

{item.tara}

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

{item.capacidadeCarga}

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

{transformValueFloattoFormated(item.volume)}

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

{item.numeroRenavam}

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

{item.proprietarioOuLocado}

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

{item.status}

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

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

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

{item.requerimentoTransportadorAgendamento[0].situacao}

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

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

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

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

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

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

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

Locais de Guarda de Veículo

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

{item.cep}

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

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

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

{item.bairro}

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

{item.status}

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

Locais de Destinação

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

{item.cnpj}

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

{item.fantasia}

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

{item.razaoSocial}

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

{item.status}

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

{item.cep}

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

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

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

{item.bairro}

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

{item.cidade}

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

Equipamentos

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

{item.numeroEquipamento}

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

{item.tipo}

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

{item.dimensao}

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

{item.capacidadeVolume}

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

{item.status}

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

Documentos

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

Observações do Requerente

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

{requerimento?.observacaoRequerente}

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

Cobranças

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

Histórico de Análise Gestor

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

Comprovante de Pagamento

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

{requerimento.setupSolicitacaoAcao.setupSolicitacao.categoria.descricao}

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

Empresa

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Dados Adicionais

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

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

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

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

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

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

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

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

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

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

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

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

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

Responsável

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

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

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

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

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

Responsável Técnico

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

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

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

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

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

Requerimento

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

{requerimento.setupSolicitacaoAcao.acao}

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

{requerimento.numeroRequerimento}

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

{formateDateandTime(requerimento.dataCriacaoRequerimento)}

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

{formateDateandTime(requerimento.dataUltimaAcao)}

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

{requerimento.status}

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

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

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

Motivo do Cancelamento

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

{requerimento.requerimentoMotivoCancelamento[0].motivo}

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

Caracterização dos Resíduos

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

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

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

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

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

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

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

{item.caracterizacaoResiduosConama.descricao}

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

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

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

Locais de Armazenagem

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

{item.cep}

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

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

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

{item.bairro}

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

Locais de Coleta

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

{item.cep}

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

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

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

{item.bairro}

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

Classes de Resíduo

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

{item.classeResiduo.descricao}

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

{item.quantidadeEstimada}

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

Documentos

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

Observações do Requerente

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

{requerimento?.observacaoRequerente}

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

Cobranças

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

Histórico de Análise Gestor

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

{requerimento.setupSolicitacaoAcao.setupSolicitacao.categoria.descricao}

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

Empresa

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Responsável

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

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

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

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

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

Classes de Resíduo

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

Transportadores Liberados

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

Requerimento

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

{requerimento.setupSolicitacaoAcao.acao}

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

{requerimento.numeroRequerimento}

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

{requerimento.status}

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

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

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

Motivo do Cancelamento

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

{requerimento.requerimentoMotivoCancelamento[0].motivo}

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

Locais de Destinação

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

{item.identificacao}

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

{item.cep}

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

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

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

{item.bairro}

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

{item.capacidade}

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

Documentos

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

Observações do Requerente

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

{requerimento?.observacaoRequerente}

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

Cobranças

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

Histórico de Análise Gestor

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

Comprovante de Pagamento

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

{requerimentoAgendamento && requerimentoAgendamento.categoria_Descricao}

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

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

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

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

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

Tipo Requerimento: {requerimentoAgendamento && requerimentoAgendamento.tipoRequerimento}

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

Laudo da Vistoria

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

{protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.descricao}

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

Empresa

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

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

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

CNPJ/CPF: {protocolo.cpf_Cnpj}

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

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

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

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

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

Número Cadastro: {protocolo.codigoCadastro}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Processo Credenciamento: {protocolo.codigoSistemaPrefeitura}

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

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

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

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

Responsável

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

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

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

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

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

Veículos

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

{item.placa}

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

{item.tipo}

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

{item.modalidade}

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

{item.marca}

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

{item.anoFabricacao}

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

{item.anoFabricacaoEquipamento}

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

{item.cor}

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

{item.tara}

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

{item.capacidadeCarga}

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

{transformValueFloattoFormated(item.volume)}

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

{item.numeroRenavam}

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

{item.proprietarioOuLocado}

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

{item.status}

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

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

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

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

\r\n
\r\n {protocolo != null && protocolo.status != \"Pendente\" && setupSistema && setupSistema.tipoCertificadoTransportador == \"Por Veículo\" && item.status == \"Ativo\" &&\r\n
\r\n Carteirinha
\r\n window.open(\"/empty/CarteirinhaVeiculo?protocolo=\" + protocolo.numeroProtocolo + \"&veiculo=\" + item.protocoloTransportadorVeiculo_Id, \"_blank\")} className=\"fas fa-qrcode fa-2x\">\r\n
\r\n }\r\n {item.arquivoRenavam != null &&\r\n
\r\n Arquivo Renavam\r\n
\r\n }\r\n {item.arquivoInspecaoInmetro != null &&\r\n \r\n }\r\n {item.arquivoComprovanteTara != null &&\r\n \r\n }\r\n {item.arquivoComodato != null &&\r\n \r\n }\r\n
\r\n
\r\n
\r\n ))}\r\n\r\n {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(setupSistema?.caminhoVirtual + rowData.arquivo, '_blank')\r\n }\r\n ]}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n
\r\n
\r\n
\r\n

Requerimentos

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

{protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.descricao}

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

Empresa

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

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

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

CNPJ/CPF: {protocolo.cpf_Cnpj}

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

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

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

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

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

Número Cadastro: {protocolo.codigoCadastro}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Dados Adicionais

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

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

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

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

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

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

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

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

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

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

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

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

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

Responsável

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

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

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

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

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

Responsável Técnico

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

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

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

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

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

Caracterização dos Resíduos

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

{item.caracterizacaoResiduosConama.grupo}

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

{item.caracterizacaoResiduosConama.codigo}

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

{item.caracterizacaoResiduosConama.tipo}

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

{item.caracterizacaoResiduosConama.descricao}

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

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

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

Locais de Armazenagem

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

{item.cep}

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

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

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

{item.bairro}

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

Locais de Coleta

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

{item.cep}

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

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

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

{item.bairro}

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

Classes de Resíduo

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

{item.classeResiduo.descricao}

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

{item.quantidadeEstimada}

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

Documentos

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

Requerimentos

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

{protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.descricao}

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

Empresa

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

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

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

CNPJ/CPF: {protocolo.cpf_Cnpj}

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

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

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

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

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

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

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

Número Cadastro: {protocolo.codigoCadastro}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Responsável

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

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

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

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

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

Locais de Destinação

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

{item.identificacao}

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

{item.status}

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

{item.cep}

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

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

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

{item.bairro}

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

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

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

{item.observacao}

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

Classes de Resíduo

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

Transportadores Liberadores

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

Documentos

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

Requerimentos

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

Identificação

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

Dados de Identificação

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

Endereço

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

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

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

Veículos

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

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

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

* Inspeção INMETRO

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

Comprovante de Tara

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

Atenção

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

Locais de Guarda de Veículo

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

Locais de Destinação

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

Empresa

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

Endereço

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

Equipamentos

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

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

\r\n

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

\r\n

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

\r\n

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

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

Documentos Obrigatórios

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

{m.documento.descricao}

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

Identificação

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

Dados de Identificação

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

Dados Adicionais

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

Responsável Técnico

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

Certificado do Curso ou CRBio

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

Endereço

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

Locais de Coleta

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

Caracterização dos Resíduos

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

Geração de Resíduos

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

Locais de Armazenagem

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

Identificação

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

Dados de Identificação

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

Endereço

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

Locais de Destinação

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

Requerimento de Geradores de RSS

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

Requerimento de Geradores de RSS

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

Manutenção de Geradores

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

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

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

Manutenção de Transpordores

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

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

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

Manutenção de Destino

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

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

\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {filtro != null &&\r\n
\r\n
\r\n Período
{`${formateDate(filtro.inicio)} a ${formateDate(filtro.fim)}`}\r\n
\r\n
\r\n Gerado Por
{filtro.nome}\r\n
\r\n
\r\n }\r\n
Cadastros Atualizados
\r\n {\r\n relatorio != null && relatorio.map((value, key) => (\r\n
\r\n {value.camposEditados && value.camposEditados.length > 0 && (\r\n <>\r\n
\r\n
\r\n
\r\n Razão Social:{value.nomeFantasia === null || value.nomeFantasia === undefined ? \" Sem Razão Social\" : \" \" + value.nomeFantasia}\r\n
\r\n
\r\n CNPJ:{value.cnpj === null || value.cnpj === undefined ? \" Sem CNPJ\" : \" \" + value.cnpj}\r\n
\r\n
\r\n Usuário de Modificação:{\" \" + value.usuario}\r\n
\r\n
\r\n Data de Alteração:{\" \" + value.data}\r\n
\r\n
\r\n
\r\n {\r\n value.camposEditados && value.camposEditados.map((atualizado, key2) => (\r\n <>\r\n
\r\n \r\n {/* caso o campo venha com nome de forma inadequada, sera usado o AlteraCampos*/}\r\n {nomeclaturas[atualizado.campo] !== undefined ? nomeclaturas[atualizado.campo] : atualizado.campo}:\r\n \r\n {isDate(atualizado.texto.antigo) ? moment(atualizado.texto.antigo).format(\"DD/MM/YYYY HH:MM\") : atualizado.texto.antigo}\r\n
\r\n
\r\n \r\n {/* caso o campo venha com nome de forma inadequada, sera usado o nomeclaturas*/}\r\n {nomeclaturas[atualizado.campo] !== undefined ? nomeclaturas[atualizado.campo] : atualizado.campo}:\r\n \r\n {isDate(atualizado.texto.novo) ? moment(atualizado.texto.novo).format(\"DD/MM/YYYY HH:MM\") : atualizado.texto.novo}\r\n
\r\n \r\n ))\r\n }\r\n
\r\n
\r\n \r\n )}\r\n
\r\n ))\r\n }\r\n
\r\n );\r\n})\r\n\r\nexport default RelatorioManutecaoDestinos;"," const cpfMask = (_value, noMask = false) => {\r\n let value = _value ? _value : \"\";\r\n const num = value.replace(/[^\\d]/g, '')\r\n if (!noMask) {\r\n if (value.length <= 6) {\r\n value = num.replace(/(\\d{3})(\\d{1,3})/g, '$1.$2')\r\n } else if (value.length <= 9) {\r\n value = num.replace(/(\\d{3})(\\d{3})(\\d{1,3})/g, '$1.$2.$3')\r\n } else {\r\n value = num.replace(/(\\d{3})(\\d{3})(\\d{3})(\\d{1,2})/g, '$1.$2.$3-$4')\r\n }\r\n return value\r\n }\r\n return num\r\n}\r\nconst cnpjMask = (_value, noMask = false) => {\r\n let value = _value ? _value : \"\";\r\n const num = value.replace(/[^\\d]/g, '');\r\n if (!noMask) {\r\n if (value.length <= 5) {\r\n value = num.replace(/(\\d{2})(\\d{1,3})/g, '$1.$2')\r\n } else if (value.length <= 8) {\r\n value = num.replace(/(\\d{2})(\\d{3})(\\d{1,3})/g, '$1.$2.$3')\r\n } else if (value.length <= 12) {\r\n value = num.replace(/(\\d{2})(\\d{3})(\\d{3})(\\d{1,4})/g, '$1.$2.$3/$4')\r\n } else {\r\n value = num.replace(/(\\d{2})(\\d{3})(\\d{3})(\\d{1,4})(\\d{1,2})/g, '$1.$2.$3/$4-$5')\r\n }\r\n return value\r\n }\r\n return num\r\n}\r\nconst cpfcnpjMask = (_value = \"\", noMask = false) => {\r\n let value = _value != null ? _value : \"\";\r\n const num = value.replace(/[^\\d]/g, '');\r\n if (!noMask) {\r\n const tamanho = num.length;\r\n if (tamanho <= 11) {\r\n value = cpfMask(num);\r\n return value;\r\n } else if (tamanho <= 14) {\r\n value = cnpjMask(num);\r\n return value;\r\n } else {\r\n return value.substr(0, 18);\r\n }\r\n }\r\n return num;\r\n}\r\nconst celularMask = (_value, noMask = false) => {\r\n let value = _value ? _value : \"\";\r\n const num = value.replace(/[^\\d]/g, '')\r\n if (!noMask) {\r\n if (value.length <= 7) {\r\n value = num.replace(/(\\d{1,2})(\\d{1,5})/g, '($1)$2')\r\n } else {\r\n value = num.replace(/(\\d{2})(\\d{5})(\\d{1,4})/g, '($1)$2-$3')\r\n }\r\n return value\r\n }\r\n return num\r\n}\r\nconst telefoneMask = (_value, noMask = false) => {\r\n let value = _value ? _value : \"\";\r\n const num = value.replace(/[^\\d]/g, '')\r\n if (!noMask) {\r\n if (value.length <= 6) {\r\n value = num.replace(/(\\d{1,2})(\\d{1,4})/g, '($1)$2')\r\n } else {\r\n value = num.replace(/(\\d{2})(\\d{4})(\\d{1,4})/g, '($1)$2-$3')\r\n }\r\n return value\r\n }\r\n return num\r\n}\r\nconst cepMask = (_value, noMask = false) => {\r\n let value = _value ? _value : \"\";\r\n const num = value.replace(/[^\\d]/g, '')\r\n if (!noMask) {\r\n if (value.length <= 5) {\r\n value = num.replace(/(\\d{1,5})/g, '$1')\r\n } else {\r\n value = num.replace(/(\\d{5})(\\d{1,3})/g, '$1-$2')\r\n }\r\n return value\r\n }\r\n return num\r\n}\r\nconst horaMask = (_value, noMask = false) => {\r\n let value = _value ? _value : \"00:00\";\r\n const num = value.replace(/[^\\d]/g, '')\r\n if (!noMask) {\r\n if (value.length <= 2) {\r\n value = num.replace(/(\\d{1,2})/g, '$1')\r\n } else {\r\n value = num.replace(/(\\d{2})(\\d{1,2})/g, '$1:$2')\r\n }\r\n return value\r\n }\r\n return num\r\n}\r\nconst floatMask = (_value) => {\r\n let value = _value ? _value : \"0,00\";\r\n value = value.toString();\r\n if (value.length == 1) {\r\n value = value + \"00\"\r\n }\r\n\r\n value = value.replace(/\\D/g, '');\r\n if (value === '') {\r\n value = '0.00'\r\n }\r\n value = (parseFloat(value) / 100).toFixed(2) + '';\r\n\r\n value = value.replace(\".\", \",\");\r\n\r\n value = value.replace(/(d)(d{3})(d{3}),/g, \"$1.$2.$3,\");\r\n\r\n value = value.replace(/(d)(d{3}),/g, \"$1.$2,\");\r\n\r\n value = value;\r\n\r\n return value\r\n}\r\nconst numeroMask = (_value = \"\") => {\r\n\r\n let value = _value ? _value.toString() : \"\";\r\n if (value) {\r\n const v = value.replace(/\\D/g, \"\")\r\n value = v\r\n }\r\n\r\n return value\r\n}\r\nconst ufMask = (_value) => {\r\n let value = _value ? _value : \"\";\r\n const v = value.replace(/[^a-zA-Z]/g, '');\r\n value = v;\r\n return value;\r\n}\r\nconst placaMask = (_value) => {\r\n let value = _value ? _value : \"\";\r\n const num = value.replace(/[^0-9a-zA-Z]/g, '');\r\n if (value.length <= 3) {\r\n value = num.replace(/(\\w{1,3})/g, '$1');\r\n } else {\r\n value = num.replace(/(\\w{3})(\\w{1,4})/g, '$1-$2');\r\n }\r\n return value\r\n}\r\n\r\nexport default { cpfMask, cnpjMask, cpfcnpjMask, celularMask, telefoneMask, cepMask, horaMask, floatMask, numeroMask, ufMask, placaMask }\r\n\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport { Promise } from \"xlsx-populate\";\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, FormGroup, Form, Input, Row, Col, Nav, NavItem, NavLink, TabPane, TabContent, Container } from \"reactstrap\";\r\n\r\n\r\n// helpers\r\nimport { isValidCPF, isValidCNPJ } from \"../../helpers/valid.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../services/api_service.js\";\r\nimport { InputCNPJ } from \"../../services/mask.js\";\r\nimport TextField from \"../../components/TextField/TextField.jsx\";\r\nimport mascaras from \"../../helpers/mascaras.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth.js\";\r\n\r\nexport default function DadosPrimarios({ opcao }) {\r\n const { setLoading } = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n\r\n\r\n const [cpf_cnpj, setCpf_cnpj] = useState({\r\n valor: \"\"\r\n });\r\n\r\n const [errorCpfCnpj, setErrorCpf_cnpj] = useState(false);\r\n\r\n const [h1_tab, set_h1_tab] = useState(\"PJ\");\r\n const [setupSolicitacaoAcaoPJ, set_setupSolicitacaoAcaoPJ] = React.useState(null);\r\n const [setupSolicitacaoAcaoPF, set_setupSolicitacaoAcaoPF] = React.useState(null);\r\n const [setupSolicitacaoAcaoPB, set_setupSolicitacaoAcaoPB] = React.useState(null);\r\n const [protocolo, set_protocolo] = React.useState(null);\r\n useEffect(() => {\r\n const options_h1 = [{\r\n option: \"PJ\",\r\n set: (data) => set_setupSolicitacaoAcaoPJ(data)\r\n }, {\r\n option: \"PB\",\r\n set: (data) => set_setupSolicitacaoAcaoPB(data)\r\n }, {\r\n option: \"PF\",\r\n set: (data) => set_setupSolicitacaoAcaoPF(data)\r\n }];\r\n\r\n Promise.all([\r\n api_GET(`setupsolicitacao/GetByAcaoSegmentoCategoria/${opcao.segmento}/${opcao.categoria_Id}/Novo Cadastro/Jurídica`).catch(err => null),\r\n api_GET(`setupsolicitacao/GetByAcaoSegmentoCategoria/${opcao.segmento}/${opcao.categoria_Id}/Novo Cadastro/Pública`).catch(err => null),\r\n api_GET(`setupsolicitacao/GetByAcaoSegmentoCategoria/${opcao.segmento}/${opcao.categoria_Id}/Novo Cadastro/Física`).catch(err => null)\r\n ]).then((values) => {\r\n let index_h1 = -1;\r\n for (let index = 0; index < values.length; index++) {\r\n if (values[index] && values[index].status === 200 && values[index].data != null) {\r\n options_h1[index].set(values[index].data);\r\n if (index_h1 === -1) {\r\n index_h1 = index;\r\n }\r\n }\r\n }\r\n\r\n if (index_h1 !== -1) {\r\n set_h1_tab(options_h1[index_h1].option);\r\n }\r\n })\r\n }, []);\r\n\r\n const onSubmit = (data) => {\r\n if (data.email != data.confirmarEmail) {\r\n showMessage(\"Aviso\", \"O email e a confirmação de email não conferem!\", 'error', null);\r\n return;\r\n }\r\n\r\n if (h1_tab != \"PF\" && !isValidCNPJ(data.cnpj)) {\r\n showMessage(\"Aviso\", \"CNPJ inválido!\", 'error', null);\r\n return;\r\n }\r\n\r\n\r\n if (h1_tab == \"PF\" && cpf_cnpj.valor.trim().length == 0) {\r\n setErrorCpf_cnpj(true);\r\n return;\r\n }\r\n\r\n if (h1_tab == \"PF\" && cpf_cnpj.valor.length > 11 && !isValidCNPJ(cpf_cnpj.valor)) {\r\n showMessage(\"Aviso\", \"CNPJ inválido!\", 'error', null);\r\n setErrorCpf_cnpj(true);\r\n return;\r\n }\r\n\r\n if (h1_tab == \"PF\" && cpf_cnpj.valor.length <= 11 && !isValidCPF(cpf_cnpj.valor)) {\r\n showMessage(\"Aviso\", \"CPF inválido!!\", 'error', null);\r\n setErrorCpf_cnpj(true);\r\n return;\r\n }\r\n\r\n let json_submit = {\r\n requerimento_Id: 0,\r\n nomeSolicitante: h1_tab == \"PF\" ? data.nome : data.fantasia,\r\n email: data.email,\r\n cpf_Cnpj: h1_tab == \"PF\" ? cpf_cnpj.valor : data.cnpj.replaceAll(\"/\", \"\").replaceAll(\".\", \"\").replaceAll(\"-\", \"\"),\r\n protocolo_Id: 0,\r\n setupSolicitacaoAcao_Id: h1_tab == \"PJ\" ? setupSolicitacaoAcaoPJ.setupSolicitacaoAcao_Id : (h1_tab == \"PB\" ? setupSolicitacaoAcaoPB.setupSolicitacaoAcao_Id : setupSolicitacaoAcaoPF.setupSolicitacaoAcao_Id),\r\n tipoPessoa: h1_tab == \"PJ\" ? \"Pessoa Jurídica (Privado)\" : h1_tab == \"PB\" ? \"Pessoa Jurídica (Público)\" : \"Pessoa Física / MEI\",\r\n protocolo: {\r\n numeroProtocolo: \"\",\r\n nomeSolicitante: h1_tab == \"PF\" ? data.nome : data.fantasia,\r\n email: data.email,\r\n cpf_Cnpj: h1_tab == \"PF\" ? cpf_cnpj.valor : data.cnpj.replaceAll(\"/\", \"\").replaceAll(\".\", \"\").replaceAll(\"-\", \"\"),\r\n tipoPessoa: h1_tab == \"PJ\" ? \"Pessoa Jurídica (Privado)\" : h1_tab == \"PB\" ? \"Pessoa Jurídica (Público)\" : \"Pessoa Física / MEI\",\r\n status: \"Pendente\",\r\n senha: Math.random().toString(36).slice(-8),\r\n }\r\n }\r\n\r\n setLoading(true);\r\n api_POST('Requerimento/PostRequerimentoProtocolo', json_submit)\r\n .then(result => {\r\n setLoading(false);\r\n set_protocolo(result.data);\r\n showMessage(\"Aviso\", \"Sua solicitação de cadastro foi criada com sucesso! Enviamos um e-mail contendo o link para completar o cadastro.\", 'success', null);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const onChange = (e) => {\r\n const { name, value } = e.target;\r\n setCpf_cnpj({ [name]: value });\r\n setErrorCpf_cnpj(false)\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n {protocolo == null &&\r\n \r\n
\r\n

Dados Primários

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

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

\r\n
\r\n

Verifique sua caixa de email
para darmos continuidade no cadastro.

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

Declaração

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

Veículos

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

Locais de Coleta

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

Locais

\r\n
\r\n \r\n \r\n setLocaisExcluir(rows)}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n \r\n \r\n {handleProximoStep != null &&\r\n \r\n }\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n} ","import React, { useState } from 'react';\r\n\r\nfunction Legislacao() {\r\n const [legislacoes, setLegislacoes] = useState([\r\n {\r\n texto: () => (\r\n
\r\n

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

\r\n

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

\r\n
\r\n )\r\n }\r\n ]);\r\n\r\n return
\r\n {legislacoes.map((value, index) => {\r\n const Component = value.texto;\r\n return
\r\n \r\n
\r\n })}\r\n
\r\n}\r\n\r\nexport default Legislacao;","import { useAuth } from 'context/auth'\r\nimport React from 'react'\r\n\r\nexport default function LogoSistema({ identificacaoLogo, width, style = {}, className = \"\" }) {\r\n const { setupSistema } = useAuth();\r\n\r\n return (\r\n <>\r\n {identificacaoLogo == \"logotipo\" &&\r\n \r\n }\r\n {identificacaoLogo == \"logoSecundario\" &&\r\n \r\n }\r\n {identificacaoLogo == \"logotipoBranco\" &&\r\n \r\n }\r\n {identificacaoLogo == \"logoSecretariaBranco\" &&\r\n \r\n }\r\n \r\n )\r\n}","//Área Restrita\r\nimport Login from \"../views/Auth/Login.jsx\";\r\nimport EsqueceuSenha from \"../views/Auth/EsqueceuSenha.jsx\";\r\nimport TrocarSenha from \"../views/Auth/TrocarSenha.jsx\";\r\nimport Inicio from \"../views/Acompanhamento/Inicio.jsx\";\r\nimport Dashboard from '../views/Dashboard/Dashboard.jsx'\r\nimport ManutencaoForm from \"../views/Manutencao/ManutencaoForm.jsx\";\r\nimport AgendamentoVistoriaLista from \"../views/Acompanhamento/AgendamentoVistoriaLista.jsx\";\r\nimport ExportacaoLauda from \"../views/Acompanhamento/ExportacaoLauda.jsx\";\r\nimport ConsultaCadastro from \"../views/Consulta/ConsultaCadastro.jsx\";\r\nimport ConsultaVeiculo from \"../views/Consulta/ConsultaVeiculo.jsx\"\r\nimport ManutencaoTransportadorLista from \"../views/Manutencao/Transportador/ManutencaoTransportadorLista.jsx\";\r\nimport ManutencaoGeradorLista from \"../views/Manutencao/Gerador/ManutencaoGeradorLista.jsx\";\r\nimport ManutencaoGeradorRSSLista from \"../views/Manutencao/GeradorRSS/ManutencaoGeradorRSSLista.jsx\";\r\nimport ManutencaoDestinoLista from \"../views/Manutencao/Destino/ManutencaoDestinoLista.jsx\";\r\nimport CadastroEnquadramento from \"../views/Cadastros/CadastroEnquadramento.jsx\";\r\nimport CadastroDocumentos from \"../views/Cadastros/CadastroDocumentos.jsx\";\r\nimport CadastroSolicitacaoLista from \"../views/Cadastros/CadastroSolicitacaoLista.jsx\";\r\nimport CadastroFluxoLista from \"../views/Cadastros/CadastroFluxoLista.jsx\";\r\nimport CadastroSubPrefeitura from \"../views/Cadastros/CadastroSubPrefeitura.jsx\";\r\nimport CadastroClassesResiduosLista from \"../views/Cadastros/CadastroClassesResiduosLista.jsx\";\r\nimport CadastroSetupAgendaVistoria from \"../views/Cadastros/CadastroSetupAgendaVistoria.jsx\";\r\nimport CadastroDiasNaoUteis from \"../views/Cadastros/CadastroDiasNaoUteis.jsx\";\r\nimport PerfilLista from \"../views/Seguranca/PerfilLista.jsx\";\r\nimport UsuarioLista from \"../views/Seguranca/UsuarioLista.jsx\";\r\nimport RelatoriosLista from \"../views/Relatorios/RelatoriosLista.jsx\";\r\n\r\n// Potal\r\nimport PortalOpcoes from \"../views/Portal/Opcoes.jsx\";\r\nimport RequerimentoCancelamento from \"../views/Portal/RequerimentoCancelamento.jsx\";\r\nimport ConsultaRequerimento from \"../views/Consulta/ConsultaRequerimento.jsx\";\r\nimport AnexoComprovantePagamento from \"../views/Portal/AnexoComprovantePagamento.jsx\";\r\nimport AgendamentoVistoriaPortal from \"../views/Portal/AgendamentoVistoriaPortal.jsx\";\r\nimport ImplantacaoDatasys from \"../views/Layouts/ImplantacaoDatasys.jsx\";\r\n\r\n// Portal Transportador\r\nimport TransportadorRequerimentoNovoCadastro from \"../views/Portal/Transportador/RequerimentoNovoCadastro.jsx\";\r\nimport TransportadorRequerimentoRenovacaoCadastro from \"../views/Portal/Transportador/RequerimentoRenovacaoCadastro.jsx\";\r\nimport TransportadorRequerimentoInclusaoVeiculo from \"../views/Portal/Transportador/RequerimentoInclusaoVeiculo.jsx\";\r\nimport TransportadorRequerimentoExclusaoVeiculo from \"../views/Portal/Transportador/RequerimentoExclusaoVeiculo.jsx\";\r\nimport TransportadorRequerimentoAlteracao from \"../views/Portal/Transportador/RequerimentoAlteracao.jsx\";\r\nimport TransportadorRequerimentoAlteracaoEquipamentos from \"../views/Portal/Transportador/RequerimentoAlteracaoEquipamentos.jsx\";\r\nimport TransportadorRequerimentoAlteracaoIdentificacao from \"../views/Portal/Transportador/RequerimentoAlteracaoIdentificacao.jsx\";\r\nimport MeuCadastro from \"../views/Portal/MeuCadastro.jsx\";\r\n\r\n\r\n// Portal Gerador\r\nimport GeradorRequerimentoNovoCadastro from \"../views/Portal/Gerador/RequerimentoNovoCadastro.jsx\";\r\nimport GeradorRequerimentoRenovacaoCadastro from \"../views/Portal/Gerador/RequerimentoRenovacaoCadastro.jsx\";\r\nimport GeradorRequerimentoInclusaoLocal from \"../views/Portal/Gerador/RequerimentoInclusaoLocal.jsx\";\r\nimport GeradorRequerimentoExclusaoLocal from \"../views/Portal/Gerador/RequerimentoExclusaoLocal.jsx\";\r\nimport GeradorRequerimentoAlteracaoCadastro from \"../views/Portal/Gerador/RequerimentoAlteracaoCadastro.jsx\";\r\n\r\n// Portal Gerador RSS\r\nimport GeradorRSSRequerimentoNovoCadastro from \"../views/Portal/GeradorRSS/RequerimentoNovoCadastro.jsx\";\r\nimport GeradorRSSRequerimentoAlteracao from \"../views/Portal/GeradorRSS/RequerimentoAlteracao.jsx\";\r\n\r\n// Portal Destino\r\nimport DestinoRequerimentoNovoCadastro from \"../views/Portal/Destino/RequerimentoNovoCadastro.jsx\";\r\nimport DestinoRequerimentoInclusaoLocal from \"../views/Portal/Destino/RequerimentoInclusaoLocal.jsx\";\r\nimport DestinoRequerimentoRenovacao from \"../views/Portal/Destino/RequerimentoRenovacaoCadastro.jsx\";\r\nimport DestinoRequerimentoExclusaoLocal from \"../views/Portal/Destino/RequerimentoExclusaoLocal.jsx\";\r\nimport DestinoRequerimentoAlteracao from \"../views/Portal/Destino/RequerimentoAlteracao.jsx\";\r\nimport DestinoRequerimentoAumentoCapacidade from \"../views/Portal/Destino/RequerimentoAumentoCapacidade.jsx\";\r\n\r\nimport Duvidas from \"../views/Portal/Duvidas\";\r\nimport Legislacao from \"../views/Portal/Legislacao/index.jsx\";\r\nimport AtualizarContato from '../views/Shared/AtualizarContato.jsx';\r\n\r\n//Carterinhas\r\nimport CarteirinhaVeiculo from \"../views/Carteirinha/CarteirinhaVeiculo.jsx\";\r\nimport CarteirinhaGG from \"../views/Carteirinha/CarteirinhaGG.jsx\";\r\nimport CertificadoTransportador from \"../views/Carteirinha/CertificadoTransportador.jsx\";\r\nimport CertificadoRSS from \"../views/Carteirinha/CertificadoRSS.jsx\";\r\nimport CertificadoTransportadorUnificado from \"../views/Carteirinha/CertificadoTransportadorUnificado.jsx\";\r\nimport CertificadoDestino from \"../views/Carteirinha/CertificadoDestino.jsx\";\r\nimport CertificadoDestinoRGG from \"../views/Carteirinha/CertificadoDestinoRGG.jsx\";\r\nimport QrCodeLocalidadeRGG from \"../views/Carteirinha/QrCodelocalidadeRGG.jsx\";\r\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 } from \"reactstrap\";\r\nimport PerfectScrollbar from \"perfect-scrollbar\";\r\n\r\nimport LogoSistema from \"../../components/LogoSistema/LogoSistema\";\r\n\r\nvar ps;\r\n\r\n\r\nclass Sidebar extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.activeRoute.bind(this);\r\n this.sidebar = React.createRef();\r\n }\r\n activeRoute(routeName) {\r\n return this.props.location.pathname.indexOf(routeName) > -1 ? \"active\" : \"\";\r\n }\r\n componentDidMount() {\r\n if (navigator.platform.indexOf(\"Win\") > -1) {\r\n ps = new PerfectScrollbar(this.sidebar.current, {\r\n suppressScrollX: true,\r\n suppressScrollY: false,\r\n });\r\n }\r\n }\r\n componentWillUnmount() {\r\n if (navigator.platform.indexOf(\"Win\") > -1) {\r\n ps.destroy();\r\n }\r\n }\r\n render() {\r\n return (\r\n \r\n
\r\n \r\n \r\n
\r\n Gestão de Cadastros\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Sidebar;\r\n","import React from \"react\";\r\n// javascript plugin used to create scrollbars on windows\r\nimport PerfectScrollbar from \"perfect-scrollbar\";\r\nimport { Route, Switch } from \"react-router-dom\";\r\n\r\nimport Navbar from \"components/Navbars/Navbar\";\r\nimport Footer from \"components/Footer/Footer\";\r\nimport Sidebar from \"components/Sidebar/Sidebar\";\r\nimport { getSessionCookie } from \"services/session.js\";\r\nimport { api_GET } from \"services/api_service.js\";\r\n\r\n//Routes\r\nimport routes from \"../routes/routes\";\r\n\r\nvar ps;\r\n\r\nclass Admin extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n backgroundColor: \"black\",\r\n activeColor: \"info\",\r\n };\r\n this.mainPanel = React.createRef();\r\n }\r\n componentDidMount() {\r\n this.validaPermissaoAcesso(); \r\n if (navigator.platform.indexOf(\"Win\") > -1) {\r\n ps = new PerfectScrollbar(this.mainPanel.current);\r\n document.body.classList.toggle(\"perfect-scrollbar-on\");\r\n }\r\n }\r\n componentWillUnmount() { \r\n if (navigator.platform.indexOf(\"Win\") > -1) {\r\n ps.destroy();\r\n document.body.classList.toggle(\"perfect-scrollbar-on\");\r\n }\r\n }\r\n componentDidUpdate(e) {\r\n if (e.history.action === \"PUSH\") {\r\n this.mainPanel.current.scrollTop = 0;\r\n document.scrollingElement.scrollTop = 0;\r\n }\r\n } \r\n handleActiveClick = (color) => {\r\n this.setState({ activeColor: color });\r\n };\r\n handleBgClick = (color) => {\r\n this.setState({ backgroundColor: color });\r\n };\r\n\r\n validaPermissaoAcesso = () => { \r\n let session = getSessionCookie();\r\n if (session && session.tipoAcesso == \"Protocolo\")\r\n {\r\n this.props.history.push('/auth/login');\r\n return;\r\n } \r\n\r\n api_GET('usuario/ListaAcessoFuncionalidades/' + session.usuario_Id).then(result => {\r\n if (result.status === 200)\r\n {\r\n let newRoutes = [];\r\n //f => f.path.replace(\"/\", \"\") != \"inicio\" && f.path.replace(\"/\", \"\") != \"trocarsenha\")\r\n routes.map(m => {\r\n if (m.path == \"/inicio\" || m.path == \"/trocarsenha\")\r\n newRoutes.push(m);\r\n else if (session.login == \"csj\")\r\n newRoutes.push(m); \r\n else if (result.data.filter(f => f == m.codigoPermissaoAcesso).length > 0)\r\n newRoutes.push(m);\r\n });\r\n this.setState({routes: newRoutes});\r\n }\r\n });\r\n\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n {this.state.routes != null &&\r\n \r\n }\r\n
\r\n \r\n \r\n {this.state.routes != null && this.state.routes.map((prop, key) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Admin;\r\n","import React, { useEffect } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport Cookies from 'js-cookie';\r\n\r\n// components\r\nimport { Card, CardBody, Row, Col, Container, FormGroup, Form, Input, Button } from \"reactstrap\";\r\nimport { showMessage } from \"services/message.js\";\r\n\r\n// services\r\nimport { api_POST } from \"services/api_service.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function Login({ history }) {\r\n\r\n const { register, handleSubmit } = useForm({ mode: \"onBlur\" });\r\n\r\n const { signIn, signOut, setLoading, setupSistema } = useAuth()\r\n\r\n useEffect(() => {\r\n signOut(false, null);\r\n }, []);\r\n\r\n const onSubmit = (data) => {\r\n if (data.login == \"\" || data.senha == \"\") {\r\n showMessage(\"Aviso\", \"Informe o login e senha!\", 'warning', null);\r\n return;\r\n }\r\n\r\n let jsonSubmit = {\r\n login: data.login,\r\n password: data.senha\r\n }\r\n\r\n setLoading(true);\r\n api_POST(`Authenticate/AutenticarUsuarioInterno/`, jsonSubmit)\r\n .then(result => {\r\n if (result.data == null) {\r\n showMessage(\"Aviso\", \"Usuário/Senha não encontrado\", 'warning', null);\r\n }\r\n else {\r\n Cookies.remove(\"filtroModalidade\");\r\n signIn(result.data);\r\n history.push(\"/admin/inicio\");\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n

BEM VINDO

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

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

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

BEM VINDO

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

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

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

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

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

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

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

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

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

ATENÇÃO

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

CADASTRE-SE

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

Cadastro de {subTitle}

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

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

\r\n

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

\r\n

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

\r\n

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

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

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

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

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

\r\n

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

\r\n

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

\r\n

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

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

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

\r\n

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

\r\n

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

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

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

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

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

\r\n

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

\r\n

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

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

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

\r\n

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

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

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

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

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

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

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

\r\n

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

\r\n

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

\r\n

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

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

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

\r\n
\r\n
\r\n }\r\n {step == 0 &&\r\n }\r\n {opcao.categoria.sigla != \"RGG\" ? step == 1 &&\r\n : \"\"}\r\n {opcao.categoria.sigla != \"RGG\" ? step == 2 &&\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\n\r\nimport { useAuth } from 'context/auth';\r\n\r\nexport default function TransportadorRequerimentoRenovacaCadastro({ history }) {\r\n const { session, setLoading, setupSistema } = useAuth();\r\n\r\n const location = useLocation();\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n const [opcao, set_opcao] = React.useState(null);\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n if ((step == 7 && opcao.categoria.sigla != \"RGG\") || (step == 4 && opcao.categoria.sigla == \"RGG\")) {\r\n history.push(\"opcoes\");\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento ', json_submit)\r\n .then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Transportador\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id)\r\n .then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Transportador\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });;\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadRequerimento();\r\n }, []);\r\n\r\n const steps = [];\r\n\r\n if (opcao != null) {\r\n if (opcao.categoria.sigla != \"RGG\")\r\n steps.push('Identificação', 'Veiculos', 'Guarda de Veiculos', 'Destinação', 'Equipamentos', 'Documentação');\r\n else\r\n steps.push('Identificação', 'Documentação');\r\n }\r\n\r\n\r\n return (\r\n <>\r\n {requerimento != null && opcao != null && (requerimento.status == \"Em Andamento\" || requerimento.status == \"Divergente\")\r\n && ((step < 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 {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

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

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

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

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

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

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

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

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

Lista de Veículos

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

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

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

Dados de Contato

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

Senha de Acesso

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

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

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

Meu Cadastro {setupSistema?.identificacao}

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

Bem-vindo

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

{titleCard}

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

{titleCard}

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

Você já possui contrato de coleta privada?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

{contrato.modalidade}

\r\n

Gerador: {local.identificacao}

\r\n

Transportador: {contrato.nomeFantasiaTransportador}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Certificado de Cadastramento

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

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

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

Exigências Mínimas:

\r\n

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

\r\n

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

\r\n

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

\r\n

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

\r\n

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

\r\n

6. Respeito aos funcionários da coleta.

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

CERTIFICADO DE CREDENCIAMENTO PARA TRANSPORTE DE RESÍDUOS

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

Protocolo: {dadoscarteirinha.protocolo}

\r\n

Validade: {formateDate(dadoscarteirinha.validadeCadastro)}

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

CNPJ: {dadoscarteirinha.cnpj}

\r\n

Razão Social: {dadoscarteirinha.razaoSocial}

\r\n

Endereço: {dadoscarteirinha.enderecoCompleto}

\r\n

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

\r\n

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

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

Quadro Demonstrativo da Frota

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {dadoscarteirinha.veiculos.map((m, key) => {\r\n return \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n })}\r\n \r\n
PlacaPróprio ou LocadoMarca e Modelo do ChassiAno de Fab. do ChassiCap. de Carga (KG)Tara (KG)Tipo de EquipamentoAno de Fab. do Equip.CorVolume (m³)
{m.placa}{m.proprioOuLocado}{m.marcaModelo}{m.anoFabricacao}{m.capacidadeCarga}{m.tara}{m.tipoEquipamento}{m.anoFabricacaoEquipamento}{m.cor}{transformValueFloattoFormated(m.volume)}
\r\n
\r\n
\r\n



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

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

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

Processo de Credenciamento: {dadoscarteirinha.codigoSistemaPrefeitura}

\r\n

Validade: {formateDate(dadoscarteirinha.validadeCadastro)}

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

CNPJ: {dadoscarteirinha.cnpj}

\r\n

Razão Social: {dadoscarteirinha.razaoSocial}

\r\n

Endereço: {dadoscarteirinha.enderecoCompleto}

\r\n

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

\r\n

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

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

{m.categoria_Descricao}

\r\n
Quadro Demonstrativo da Frota
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {m.veiculos.map((m, key2) => {\r\n return \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n })}\r\n \r\n
PlacaPróprio ou LocadoMarca e Modelo do ChassiAno de Fab. do ChassiCap. de Carga (KG)Tara (KG)Tipo de EquipamentoAno de Fab. do Equip.CorVolume
{m.placa}{m.proprioOuLocado}{m.marcaModelo}{m.anoFabricacao}{m.capacidadeCarga}{m.tara}{m.tipoEquipamento}{m.anoFabricacaoEquipamento}{m.cor}{transformValueFloattoFormated(m.volume)}
\r\n
\r\n
\r\n ))}\r\n



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

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

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

Motivo do Cancelamento

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

Dados do Requerimento

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

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

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

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

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

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

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

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

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

Seu comprovante de pagamento já foi enviado.

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

Anexar Comprovante de Pagamento

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

Cadastro de Lojas

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

Cadastro de Usuários

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

Cadastro de Fornecedores

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

Cadastro de Produtos

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

Cadastro de Clientes

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

Importação de Saldo

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

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

\r\n\r\n

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

\r\n\r\n

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

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

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

\r\n\r\n

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

\r\n\r\n

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

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

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

\r\n\r\n

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

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

Dúvidas?

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