{"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","constants/MaterialTable.js","components/ProgressBar/StepperProgress.jsx","views/Shared/AcoesGestor.jsx","views/Shared/Transportador/FichaRequerimento.jsx","views/Shared/Gerador/FichaRequerimento.jsx","views/Shared/Destino/FichaRequerimento.jsx","views/Acompanhamento/Lista.jsx","components/TextField/TextField.jsx","views/Dashboard/ListaDashboardRequerimento.jsx","views/Dashboard/Dashboard.jsx","views/Shared/Transportador/AgendamentoVistoria.jsx","components/Input/InputPDF.jsx","views/Shared/Transportador/ConfirmacaoVistoria.jsx","views/Shared/Transportador/CalendarioVistoria.jsx","services/mask.js","services/viaCep.js","components/ModalJustificativa/ModalJustificativa.jsx","services/requerimento_service.js","views/Shared/Transportador/FichaTransportador.jsx","views/Shared/Gerador/FichaGerador.jsx","views/Shared/Destino/FichaDestino.jsx","services/acesso.js","helpers/email.js","helpers/valid.js","views/Shared/Transportador/Identificacao.jsx","services/protocolo_transportador_service.js","views/Shared/Transportador/Veiculos.jsx","views/Shared/Transportador/LocaisGuarda.jsx","views/Shared/Transportador/LocaisDestinacao.jsx","views/Shared/Transportador/Equipamentos.jsx","views/Shared/Documentos.jsx","services/protocolo_gerador_service.js","services/protocolo_destino_service.js","views/Manutencao/Transportador/ManutencaoTransportadorForm.jsx","views/Shared/Gerador/Identificacao.jsx","views/Shared/Gerador/LocaisColeta.jsx","views/Shared/Gerador/CaracterizacaoResiduos.jsx","views/Shared/Gerador/Residuos.jsx","views/Manutencao/Gerador/ManutencaoGeradorForm.jsx","views/Shared/Gerador/LocaisArmazenagem.jsx","views/Manutencao/GeradorRSS/ManutencaoGeradorRSSForm.jsx","views/Manutencao/GeradorRSS/ManutencaoGeradorRSSLista.jsx","views/Shared/Destino/Identificacao.jsx","views/Shared/Destino/Locais.jsx","views/Manutencao/Destino/ManutencaoDestinoForm.jsx","views/Cadastros/CadastroSolicitacaoForm.jsx","views/Cadastros/CadastroFluxoForm.jsx","views/Cadastros/CadastroClassesResiduosForm.jsx","views/Seguranca/PerfilForm.jsx","views/Seguranca/UsuarioForm.jsx","views/Relatorios/Fichas/RelatorioFichaRequerimentoGeradorRSS.jsx","helpers/nomeclaturas.js","views/Relatorios/Fichas/RelatorioManutecaoGeradorRSS.jsx","views/Relatorios/Fichas/RelatorioManutecaoTransportadores.jsx","views/Relatorios/Fichas/RelatorioManutecaoDestinos.jsx","helpers/mascaras.js","views/Shared/DadosPrimarios.jsx","views/Portal/components/CardOpcaoCadastro.jsx","views/Portal/components/CardIntegracao.jsx","views/Shared/Declaracao.jsx","views/Shared/Transportador/ListaVeiculosExclusao.jsx","views/Shared/Gerador/ListaLocaisColetaExclusao.jsx","views/Shared/Destino/ListaLocaisExclusao.jsx","views/Portal/Legislacao/index.jsx","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","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","usuario_Id","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","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","tipoAcesso","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","handleRequerimentoRenovarCadastro","pathname","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","ValidaAcessoFuncionalidadeAcao","funcionalidadeAcao","login","ValidaEmail","isValidCNPJ","Number","isInteger","Array","isArray","match","numbers","Set","calc","slice","factor","sum","digits","isValidDate","input_date","year","isValid","isValidHourMinute","onlyNumber","input_text","onlyAlphaNumericAndSpace","Identificacao","tipoCadastro","permiteManutencao","handleProximoStep","permiteEditar","set_permiteEditar","set_identificacao","set_status","options_status","set_email","handleRetornoValidaEmail","optionsTipoTransportador","tipoTransportador","set_tipoTransportador","optionsSubPrefeitura","set_OptionsSubPrefeitura","subPrefeitura","set_subPrefeitura","tipoIndustria","set_tipoIndustria","ramo","set_ramo","classesResiduo","set_classesResiduo","optionsClassesResiduo","set_OptionsClassesResiduo","loadOptionsClassesResiduo","categoria_Id","_classes","classeResiduo_Id","requerimentoTransportadorClasseResiduo","set_categoria","loadDefaultValues","nomeSolicitante","pessoa","uf","carregaJsonRequerimento","requerimentoTransportadorClasseResiduo_Id","requerimentoTransportador_Id","subPrefeitura_Id","cpf","responsavel","cCM","cEP","uF","replaceAll","carregaJsonProtocolo","protocoloTransportadorClasseResiduo_Id","usuarioCadastro_Id","usuarioUltimaAlteracao_Id","protocoloTransportador_Id","protocoloJustificativas_Id","UsuarioJustificativa","handleRetornoSubmit","usuarioJustificativa","CardHeader","json","EnviaProtocoloWithProtocoloTransportador","EnviaRequerimentoTransportador","padding","handleTipoTransportador","autoComplete","UncontrolledTooltip","placement","onKeyUp","inputRef","readOnly","trim","localidade","Veiculos","totalVeiculos","handleStepAnterior","veiculos","set_veiculos","tooltipOpen","setTooltipOpen","LoadTiposVeiculo","loadItemProtocolo","loadItemRequerimento","_actionRenavam","handleVisualizaRENAVAM","set_actions","_action","handleRemove","handleEdit","handleDataVigencia","optionsTipoVeiculo","set_optionsTipoVeiculo","tipos","tipoVeiculo","set_tipoVeiculo","modalidades","set_modalidades","optionsModalidades","set_OptionsModalidades","loadModalidades","handleModalidades","veiculoStatus","setVeiculoStatus","file_renavam","set_file_renavam","file_inmetro","set_file_inmetro","file_comprovantetara","set_file_comprovantetara","file_comodato","set_file_comodato","handleFileComodato","set_proprietarioOuLocado","options_proprietarioOuLocado","rowEdit","set_rowEdit","_modalidades","handleReturnRemove","reloadId","protocoloTransportadorVeiculoModalidade","protocoloTransportadorVeiculoModalidade_Id","renavam","arquivoRenavamBase64","arquivoInspecaoInmetroBase64","arquivoComprovanteTaraBase64","arquivoComodatoBase64","requerimentoTransportadorVeiculoModalidade_Id","placaAntiga","confirmaAddVeiculo","_registro","veiculo","new_list","_veiculos","Alteracao","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","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.5084d6e7.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};","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 } 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\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] = React.useState(null);\r\n\r\n useEffect(() => {\r\n set_registro(requerimento);\r\n if (requerimento?.fluxoCadastroEtapaAtual?.tipo == \"Aguardando Enquadramento\" || requerimento?.fluxoCadastroEtapaAtual?.tipo == \"Aguardando Análise\")\r\n loadOptionsEnquadramento();\r\n }, []);\r\n\r\n\r\n // Enquadramento\r\n const [options_enquadramento, set_options_enquadramento] = React.useState([]);\r\n const [enquadramento, set_enquadramento] = React.useState(null);\r\n const loadOptionsEnquadramento = () => {\r\n api_GET('enquadramento')\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 {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} ","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 {showAcoesGestor == false && (protocolo.status == \"Ativo\" || protocolo.status == \"Pendente\") && list_acoes != null && list_acoes.map((prop, key) => {\r\n if (prop.acao == \"Alteração\") {\r\n return ();\r\n }\r\n\r\n if (prop.acao == \"Alteração de Identificação\") {\r\n return ();\r\n }\r\n\r\n if (prop.acao == \"Alteração de Equipamentos\") {\r\n return ();\r\n }\r\n\r\n if (prop.acao == \"Inclusão\") {\r\n return ();\r\n }\r\n\r\n if (prop.acao == \"Exclusão\") {\r\n return ();\r\n }\r\n\r\n if (prop.acao == \"Renovação\") {\r\n return ();\r\n }\r\n })}\r\n\r\n {showAcoesGestor == false && (protocolo.status == \"Vencido\" || protocolo.status == \"Inativo\") && list_acoes != null && list_acoes.map((prop, key) => {\r\n if (prop.acao == \"Renovação\") {\r\n return ();\r\n }\r\n })}\r\n\r\n {showAcoesGestor == false && protocolo.status == \"Cancelado\" && list_acoes != null && list_acoes.map((prop, key) => {\r\n if (prop.acao == \"Novo Cadastro\") {\r\n return ();\r\n }\r\n })}\r\n\r\n {showAcoesGestor == false &&\r\n protocolo?.requerimento?.filter(x =>\r\n x.status == \"Pendente\" &&\r\n x.fluxoCadastroEtapaAtual !== null &&\r\n x.fluxoCadastroEtapaAtual.tipo?.toUpperCase() == \"EMISSÃO DE GUIA\").length > 0 &&\r\n 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 { 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};","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] = React.useState(true);\r\n const [modal, setModal] = useState(false);\r\n const toggleModal = () => setModal(!modal);\r\n\r\n const [identificacao, set_identificacao] = React.useState(null);\r\n\r\n // Status\r\n const [status, set_status] = React.useState(\"\");\r\n const [options_status] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Cancelado\", label: \"Cancelado\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n { value: \"Pendente\", label: \"Pendente\" },\r\n { value: \"Vencido\", label: \"Vencido\" }\r\n ]);\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n // E-Mail\r\n const [email, set_email] = React.useState(\"\");\r\n const handleEmail = (event) => {\r\n\r\n if (event.target.value.length == 0)\r\n return;\r\n\r\n set_email(event.target.value);\r\n\r\n ValidaEmail(event.target.value, handleRetornoValidaEmail);\r\n }\r\n const handleRetornoValidaEmail = (result) => {\r\n if (!result.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}\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.observacaoRequerente;\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\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\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 }, []);\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 &&\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":""}