{"version":3,"sources":["Enumerations/ModoEnum.ts","Components/RedirectTo/index.tsx","Context/InitialValues.ts","Context/index.tsx","Enumerations/UsuarioGrupoTipoEnum.ts","config/idComponente.ts","Components/HeaderApp/index.tsx","Enumerations/EntidadeSistemaEnum.ts","Helpers/usuarios.ts","Routes/authentication.routes.ts","config/microServices.ts","Services/handleErrors.ts","Services/ApiService.ts","Services/handleToken.ts","Services/WS_DOCAS/autenticacao.ts","Views/Auth/ChangePassword/index.tsx","Assets/Images/logo-compulog.svg","Components/Form/Checkbox.tsx","Components/Form/Select.tsx","Components/Form/Text.tsx","Components/Loading/index.tsx","Views/Auth/Login/index.tsx","Hooks/useMask/cpf.tsx","Services/UAA/index.ts","Views/Auth/styles.ts","Views/Auth/RecoverPassword/index.tsx","Assets/Images/login_bg.png","Assets/Images/login_bg_box.png","Layouts/Auth/styles.ts","Layouts/Auth/index.tsx","Assets/Brand/logo.png","Assets/detalhes.svg","Assets/macro.svg","config/macroCodigo.ts","config/tipoMacro.ts","Enumerations/TipoArmazemEnum.ts","Hooks/usePermissions/Claims.ts","Helpers/agendamentoMultiplo.ts","Enumerations/TipoCotaEnum.ts","Hooks/usePermissions/usePermissions.ts","Helpers/QueryStringFilter.ts","Services/WS_DOCAS/agenda.ts","Services/WS_DOCAS/alerta.ts","Services/WS_DOCAS/armazem.ts","Services/WS_DOCAS/armazemCota.ts","Helpers/arrays.ts","Services/WS_DOCAS/candidatos.ts","Services/WS_DOCAS/checklist.ts","Services/WS_DOCAS/listaChegadas.ts","Services/WS_DOCAS/log.ts","Services/WS_DOCAS/macros.ts","Services/WS_DOCAS/misc.ts","Services/WS_DOCAS/sms.ts","Services/WS_DOCAS/usuario.ts","Services/WS_DOCAS/veiculo.ts","Services/WS_DOCAS/index.ts","Services/WS_DOCAS/modoCompacto.ts","Types/SnackbarTypes.ts","Assets/Sounds/beep.mp3","Models/docas/IHorario.ts","Views/Docas/Context/InitialValues.ts","Views/Docas/Context/context.tsx","Helpers/classificacaoHorarios.ts","Components/Form/TextBox.tsx","Views/Docas/Modais/ModalAlterarHorario.tsx","Services/WS_CHAT/mensagens.ts","Services/WS_CHAT/usuarios.ts","Services/WS_CHAT/index.ts","Views/Docas/Detalhes/ChatDetalhes.tsx","Views/Docas/Detalhes/HorarioDetalhes.tsx","config/tipoUsuario.ts","Views/Docas/Detalhes/MacrosDetalhes.tsx","Views/Docas/Modais/ModalJustificativaAlerta.tsx","Views/Docas/Modais/ModalVisualizacaoAlertas.tsx","Views/Docas/Modais/ModalAlertas.tsx","Views/Docas/Modais/ModalDetalhes.tsx","Views/Docas/Agenda/CardAgendamento.tsx","Views/Docas/Agenda/Janela.tsx","Views/Docas/Agenda/Totais.tsx","Views/Docas/Agenda/index.tsx","Views/Docas/Modais/ModalAjuda.tsx","Components/Form/DateSelector.tsx","Services/WS_CADASTRO/areasGeograficas.ts","Services/WS_CADASTRO/empresas.ts","Services/WS_CADASTRO/geo.ts","Services/WS_CADASTRO/menu.ts","Services/WS_CADASTRO/motoristas.ts","Services/WS_CADASTRO/rastreadores.ts","Services/WS_CADASTRO/usuarios.ts","Services/WS_CADASTRO/validadores.ts","Services/WS_CADASTRO/veiculos.ts","Services/WS_CADASTRO/index.ts","Components/Form/InputPlaca.tsx","Components/Form/ResultadoPesquisa.ts","Components/Form/PesquisaVeiculo.tsx","Views/Docas/Modais/ModalBuscaPorPlaca.tsx","Hooks/useMask/cnpj.tsx","Views/Docas/Modais/ModalCandidatos.tsx","Views/Docas/Modais/ModalAjudaConfiguracaoArmazem.tsx","Views/Docas/Modais/ModalConfigurarAlertas.tsx","Views/Docas/Armazem/BloqueioAgenda.tsx","Views/Docas/Armazem/CadastroEdicaoArmazem.tsx","Views/Docas/Armazem/LiberacaoAgenda.tsx","Views/Docas/Modais/ModalConfigurarArmazem.tsx","Views/Docas/Modais/ModalConfiguracoes.tsx","Views/Docas/Modais/ModalDetalhesCandidato.tsx","Views/Docas/Modais/ModalImportarCandidatos.tsx","Helpers/Veiculos.ts","Views/Docas/Modais/ModalListaChegadas.tsx","Components/Form/DateRange.tsx","Views/Docas/Modais/ModalLogs.tsx","Views/Docas/Modais/ModalMacrosCandidato.tsx","Views/Docas/Modais/ModalPesquisaInclusaoMacros.tsx","Views/Docas/Modais/ModalRemocaoCandidato.tsx","Views/Docas/Modais/ModalStatusTransportadoras.tsx","Views/Docas/ModoCompacto.tsx","Views/Docas/ModoCompactoAdamiBiomassa.tsx","Views/Docas/AgendamentoDocas.tsx","Views/Docas/ModoCompactoIraniFob.tsx","Views/Docas/AgendamentoDocasIraniFob.tsx","Views/Docas/styles.ts","Views/Docas/index.tsx","Layouts/Docas/index.tsx","Views/Cadastros/AreasGeograficas/Form.tsx","Hooks/useExportReport.ts","Views/Cadastros/AreasGeograficas/List.tsx","Views/Cadastros/AreasGeograficas/index.tsx","Views/Cadastros/Empresas/Form.tsx","Views/Cadastros/Empresas/List.tsx","Views/Cadastros/Empresas/index.tsx","Views/Cadastros/Motoristas/Form.tsx","Views/Cadastros/Motoristas/List.tsx","Views/Cadastros/Motoristas/index.tsx","Views/Cadastros/Modais/EmpresaAssociada.tsx","Views/Cadastros/Rastreadores/Form.tsx","Views/Cadastros/Rastreadores/List.tsx","Views/Cadastros/Rastreadores/index.tsx","Layouts/InnerContent/index.tsx","Layouts/LayoutMisto/index.tsx","Views/Auth/SessionClosed/index.tsx","index.tsx"],"names":["ModoEnum","RedirectTo","to","navigate","useNavigate","useEffect","ApplicationContextInitialValues","theme","loading","ApplicationContext","createContext","applicationContext","setApplicationContext","value","ApplicationProvider","children","initialValues","window","sessionStorage","getItem","initialValuesCTX","JSON","parse","useState","state","setState","Provider","setItem","stringify","updateContext","UsuarioGrupoTipoEnum","ID_COMPONENTE","DOCAS","sessaoRenovada","EntidadeSistemaEnum","usuarios","verificaTransportadorasUsuario","usuario","cdsTransportadorasUsuario","undefined","perfis","length","tipo","id","Transportadora","cdsTransportadoras","verificaTipoGrupoUsuario","tipoGrupoUsuario","perfil","root","authentication","login","recoveryPassword","changePassword","hosts","UAA_URL","env","WS_DOCAS","WS_CADASTRO","WS_CHAT","handleErrors","error","response","status","console","ApiService","props","token","anonymous","handleToken","getToken","service","axios","create","headers","csrf","interceptors","request","use","config","a","Accept","upload","rest","Authorization","idComponente","Promise","reject","data","statusCode","location","assign","get","url","post","put","delete","isValid","decodeToken","setToken","newToken","renewToken","result","id_token","cleanToken","removeItem","atob","split","Date","now","exp","autenticacao","senha","lembrarMe","buscaDados","ChangePassword","CheckboxItem","methods","name","label","scope","labelColor","register","errors","formState","Item","className","valuePropName","style","color","message","Option","Select","SelectFieldAnt","defaultValue","items","onChangeValue","onSearch","searchValue","showSearch","filterOption","mode","rules","disabled","emptyValue","onClick","handleChange","useCallback","onChange","input","option","toUpperCase","includes","key","map","InputText","mask","type","Password","Loading","height","justify","align","size","Login","setErrorLogin","React","createRef","botaoLogin","setBotaoLogin","loginResponse","setLoginResponse","processandoLogin","setProcessandoLogin","pagina","setPagina","useContext","hookForm","yup","shape","CPF","required","Senha","useForm","currentURL","href","autorizacao","cdArmazem","cdArmazemString","parseInt","substring","indexOf","nomeArmazem","replaceAll","dataArmazem","alternativeOnSubmit","onSubmit","values","rememberMe","cdEntidade","entidade","cdEntidadeSistema","cdUsuario","nome","permissoes","verificaPermissoes","mestreSistema","usuarioAtual","textoDocumentoViagem","cdArmazemPreSelecionado","nomeArmazemPreSelecionado","dataPreSelecionada","tempoSessao","tempoSessaoMs","inicioSessao","dataInicioSessao","toString","iPerfil","iPermissao","permissaoPerfil","some","permissao","push","log","document","addEventListener","event","click","e","onFinish","layout","span","width","preview","src","logo","isSubmitting","htmlType","ref","node","marginLeft","cpf","apply","replace","clean","substr","AuthService","authRequest","username","Me","RecoverPasswordInit","email","GetRoles","FormAuth","styled","Form","RecoverPassword","cpfOuEmail","subTitle","extra","handleSubmit","LayoutBackground","Row","bg","Container","Card","ColLeft","Col","bg_box","ColRight","AuthLayout","MODO_DEBUG","modoDebug","mensagemErro","setMensagemErro","carregaPortalDocas","alert","textAlign","fontSize","path","element","fontWeight","marginTop","Header","Layout","HeaderApp","Menu","SubMenu","Countdown","Statistic","urlPortalMisto","setUrlPortalMisto","setTempoSessaoMs","verificaUrlPortalMisto","dataAtual","getTime","calculaTempoSessaoMs","position","zIndex","background","gutter","alt","cursor","display","marginRight","tempoRestanteMs","swal","title","text","icon","buttons","dangerMode","then","renovarSessao","valueStyle","MACRO_CODIGO","CHEGADA_NA_PORTARIA","ENTRADA_AUTORIZADA","ENTRADA_NA_UNIDADE","ENTRADA_NA_DOCA","SAIDA_DA_DOCA","SAIDA_DA_UNIDADE","OUTROS","PESAGEM_BALANCA_SAIDA","ANALISE_DA_DOCUMENTACAO","DOCUMENTACAO_OK","DOCUMENTACAO_NAO_OK","INICIO_CARREGAMENTO","FIM_CARREGAMENTO","TIPO_MACRO","SIMPLES","PORTARIA","EXPEDICAO","AVANCADO","TipoArmazemEnum","Claims","buscaAgendamentoMultiplo","horario","agendamentosMultiplos","find","f","motorista","nomeMotorista","placa","TipoCotaEnum","usePermissions","userPermissions","isAuthorized","claim","x","isSystemMaster","QueryStringFilter","filter","params","obj","i","Object","keys","reduce","str","delimiter","keyAux","encodeURIComponent","val","join","agenda","getList","getAgendaSimplificada","cdArmazemConfig","getAgendaModoCompacto","getDetalhes","cdHorario","executaAcao","liberarAgenda","liberaAgendaTodosArmazens","dataInicial","dataFinal","bodyRequisicao","format","resultado","getAtualizacoes","CdArmazem","DataUltBusca","DataAgenda","bloqueiaAgendaByArmazem","dataInicio","dataFim","bloqueiaAgendaByDoca","cdDoca","bloqueiaAgendaByJanela","cdJanela","agendaTrocaHorario","cdAgendamentoDocasHorarioOrigem","cdAgendamentoDocasHorarioDestino","justificativa","placaVeiculo","transportadora","cdVeiculo","agendamentoMultiplo","qtdJanelas","tamanhoJanela","pesquisaPorPlaca","localFilters","alerta","cdAgendamentoDocasHorario","alertaJustificativa","getListConfiguracao","createConfiguracao","updateConfiguracao","cdAlertaTipoConfiguracao","tempo","ativaDesativaConfiguracao","getListTipo","createTipo","updateTipo","deleteTipo","armazem","getListTypes","apenasAtivos","details","update","getFutureConfigurations","armazemCota","buscaCotas","filtros","resposta","atualizaCota","dados","criaAgendamentoBiomassa","editaAgendamentoBiomassa","arrays","converteParaParametroGET","array","parametro","nomeParametro","nomeParametroJoin","candidatos","endpoint","parametros","cdCandidatoAgendamento","importar","arquivoBase64String","downloadModelo","candidato","atualizaObservacao","observacao","checklist","cdEmpresa","getChecklist","ID","saveChecklist","listaChegadas","cdChegada","buscaChegadas","body","visualizado","placas","tipoOperacao","armazens","visualizaChegada","cdIntegracaoCameraPlaca","descartaChegada","buscaImagens","atualizaPlaca","contaChegadasNaoCadastradas","export","macro","executaMacro","buscaMacrosEmitidas","cdCandidato","getTiposMacro","getTiposMacroViagem","getTiposMacroViagemPesquisa","buscaRegistrosMacroViagem","chavePesquisa","valorPesquisa","tipoIdentificador","identificador","registraMacroViagem","macroViagem","dtAcao","cdViagem","cdMacro","misc","getAcoes","getUsuariosGrupos","sms","getConfiguracao","configuracao","veiculo","buscaVeiculo","cdTransportadora","item","criaVeiculo","modoCompacto","verificaSeAtivo","ativo","ativaOuDesativa","MsgSuccessOptions","backgroundColor","border","fontFamily","closeStyle","STATUS_HORARIOS","DocasContextInitialValues","moment","janelaAtual","selecionados","selecaoContinua","btnAprovarSelecionados","btnBloquearSelecionados","executing","macros","macrosParaAvisar","avisoPiscante","atualizarAvisoPiscante","alertas","alertasSonoros","DocasContext","docasContext","setDocasContext","DocasProvider","classificacaoHorarios","comparaHorariosAsc","horario1","horario2","dtHora1","dtHora","dtHora2","isBefore","comparaHorariosDesc","isAfter","buscaUltimoHorario","horarios","horariosJanela","cdAgendamentoDocasJanela","sort","this","ordenaHorarios","asc","horariosOrdenados","verificaHorariosConsecutivos","tamanhoJanelaSecundariaMinutos","cdAgendamendoDocasDocas","diff","TextBox","rows","minimumLength","setLength","target","ModalAlterarHorario","atualizaAgenda","setResult","resultError","setResultError","setValue","options","setOptions","submiting","setSubmiting","tamanhoJustificativa","setTamanhoJustificativa","tamanhoMinimoJustificativa","setAgendamentoMultiplo","selectTempoTotal","setSelectTempoTotal","tempoTotal","setTempoTotal","agendamento","opcoesTempo","armazemAtual","tamanhoJanelaSecundaria","tempoAtual","horas","minutos","opcao","optionsAux","agendamentoDocasJanelas","janela","docasAux","agendamentoDocasDocas","doca","cdAgendamentoDocasDocas","horariosAux","horarioStatus","nomeDoca","nomeJanela","handleSave","texto","nomeEntidade","statusText","ghost","valor","mensagens","getMensagemByHorario","postMensagem","mensagem","cdDestinatario","cdAgendamentoDocasArmazem","cdAgendamentoDocasArmazemConfig","destinatariosAux","cdDestinatarios","getUsuario","ChatDetalhes","usuariosSelected","setUsuariosSelected","setMensagem","setMensagens","setUsuarios","messagesEndRef","useRef","userDeselectDropDown","usersAux","menu","selectable","multiple","onSelect","userSelect","onDeselect","defaultSelectedKeys","user","getMensagens","leituras","ItemGroup","dtRecebido","dtLeitura","leitura","setInterval","scrollToBottom","current","scrollIntoView","behavior","enviaMensagem","mensagensAux","nomeOrigem","comentario","overflowY","index","md","offset","padding","flex","author","content","datetime","dtCadastro","fromNow","placeholder","onKeyPress","slugify","overlay","placement","arrow","count","UsergroupAddOutlined","SendOutlined","HorarioDetalhes","horarioDetalhes","observacaoCandidato","setObservacao","salvandoObservacao","setSalvandoObservacao","salvaObservacao","WsDocasService","bordered","column","xxl","xl","lg","sm","xs","documento","peso","TIPO_USUARIO","GESTOR_DOCAS","TRANSPORTADORA","MacrosDetalhes","setHorarioDetalhes","setLoading","cdMacroTipo","formulario","envia","setEnvia","setMacro","listaMacros","setListaMacros","selectMacroItens","setSelectMacroItens","setJustificativa","justificativaObrigatoria","setJustificativaObrigatoria","temMacro","setTemMacro","emitindoMacro","setEmitindoMacro","macrosCandidato","proximasMacros","gruposUsuario","role","ultimaMacro","getUltimaMacro","listCdMacroProxima","primeiraMacro","removeMacro","j","listIdRolesEmissao","horarioPrincipal","cdArmazemAtual","corMacro","detalhes","atualizacaoHorarios","atualizaCorMacroAgendamentoMultiplo","m","atualizacaoHorario","cdMacroExcetoOutros","cdMacroUsuarioExcetoOutros","cdMacroUsuario","findIndex","atualizacaoDocasContext","cdHorarios","form","tooltip","justObrigatoria","minLength","trimStart","s","columns","dataIndex","render","dataSource","pagination","sticky","scroll","y","ModalJustificativaAlerta","cdAlertaOcorrencia","nomeAlerta","setJustificarAlerta","justificativaAnterior","setFieldsValue","justificaAlerta","ModalVisualizacaoAlertas","setCdAlertaOcorrencia","setNomeAlerta","setJustificativaAnterior","setAlertas","carregandoAlertas","setCarregandoAlertas","getAlertas","active","FormOutlined","ModalAlertas","justificarAlerta","TabPane","Tabs","ModalDetalhes","Input","TextArea","Footer","Content","startTab","setHorarioPrincipal","setCandidatoDetalhes","activeTab","setActiveTab","setMacros","activeKey","onTabClick","tab","Paragraph","Typography","CardAgendamento","setSelected","showModalAlterarHorario","setShowModalAlterarHorario","stoped","setStoped","useSnackbar","openSnackbarSuccess","idModal","setIdModal","horarioSelecionado","setHorarioSelecionado","piscar","setPiscar","avisar","setAvisar","mostrarTooltip","setMostrarTooltip","alertaJustificado","temAlerta","every","justificado","MENU_ID","principal","tocarSom","notificar","cdAlertaTipo","idsRoles","roles","k","atualizaDados","setTimeout","word","acaoHorario","willDelete","itens","nomeTransportadora","arr","h","reservaHorario","candidatoSelecionado","horariosSelecionados","verificaQuantidadeHorarios","quantidadeHorarios","verificaHorariosOcupados","b","ultimoHorario","proximoHorario","pop","isPast","dataHorario","dayOfYear","hour","verificaSeAgendamentoPertenceOutraTransportadora","verificaSeDesabilitaOpcaoTransportadora","VerDetalhesTodasTransportadoras","isSelectable","abreModal","preparaModal","visualizaAlertas","alertasNaoJustificados","ajustaTexto","titulo","tamanhoMaximo","ReservarHorario","AprovarHorario","ReservarAprovarHorario","BloquearHorario","CancelarHorario","LiberarHorario","NoShowHorario","AlterarHorario","VerDetalhes","Chat","isSelected","trigger","removeu","selecionadosAux","hora","toggleSelect","StopOutlined","overflow","visibility","documentoViagem","origemViagem","destinoViagem","MoreOutlined","ultimasMacros","anchorId","html","usuarioNome","place","temComentario","MacrosIcon","resumo","geraResumoMacros","WarningOutlined","CommentOutlined","centered","forceRender","visible","onCancel","afterClose","footer","Janela","setHorarios","innerWidth","janelaMovel","setJanelaMovel","removeEventListener","maxHeight","overflowX","wrap","agendamentoDocasHorarios","paddingBottom","minWidth","getHours","margin","Totais","totais","livres","aprovados","bloqueados","reservados","cancelados","noShows","total","memo","Agenda","dataSelecionada","janelaSelecionada","setJanelaSelecionada","selecionaJanelaHorarioAtual","horaAtual","horaInicio","selecionaJanela","tabBarExtraContent","ModalAjuda","DateSelector","showTime","currentTime","initialValue","validRange","set","minute","second","millisecond","disabledDate","areasGeograficas","exportFields","empresas","geo","getListNominatim","getItens","motoristas","rastreadores","getListRastreadores","getListFabricantes","getListGerenciadoresPosicoes","getListModosCobrancas","verificaMestreSistema","validadores","cnpj","from","veiculos","situacao","veiculo1","veiculo2","InputPlaca","setPlaca","maxLength","textTransform","ResultadoPesquisa","sucesso","cor","PesquisaVeiculo","setVeiculoSelecionado","veiculoSelecionado","selecionarPrimeiroVeiculoEncontrado","obrigatorioSelecionarTransportadora","setTransportadoraSelecionada","transportadoraSelecionada","transportadoras","setTransportadoras","selectTransportadoraItens","setSelectTransportadoraItens","cdTransportadoraSelecionada","setCdTransportadoraSelecionada","setVeiculos","selectVeiculoItens","setSelectVeiculoItens","cdVeiculoSelecionado","setCdVeiculoSelecionado","carregandoPesquisa","setCarregandoPesquisa","setResultado","buscaTransportadoras","pageSize","pageNumber","WsCadastroService","mostraResultado","validaPlaca","test","buscaVeiculos","selecionaTransportadora","removerVeiculoSelecionado","mensagemEmCasoDeErro","verificaSeMostraSelectVeiculos","verificaSeMostraSelectTransportadoras","resetFields","preparaVeiculoSelecionado","localeCompare","preparaVeiculos","cdVeiculoStr","cdTransportadoraStr","SearchOutlined","CheckOutlined","CloseOutlined","ModalBuscaPorPlaca","setAgenda","pesquisaAgenda","dataInicioMoment","dataFimMoment","confirmado","ModalCandidatos","setModal","updateGridCandidatos","setCarregandoInclusao","selectMotoristaItens","setSelectMotoristaItens","setMotoristas","carregandoMotoristas","setCarregandoMotoristas","mostrarFormulario","setMostrarFormulario","CDS_ENTIDADES_SISTEMA_PODEM_CRIAR_CANDIDATOS_SEM_MOTORISTA","podeCriarCandidatosSemMotorista","getMotoristas","selectMotoristasData","sobrenome","cadastraCandidato","previsaoCargaDescarga","previsaoCargaDescargaMoment","cdPontoEntidadeArmazem","cdPontoEntidadeUnidade","agendado","criaViagem","cdMotorista","cnpjString","Group","monstraMensagemErroFormulario","ModalAjudaConfiguracaoArmazem","ModalConfigurarAlertas","alertasTipos","setAlertasTipos","setRoles","selectRoleItens","setSelectRoleItens","visualizarAlertas","setVisualizarAlertas","carregandoInclusaoEdicao","setCarregandoInclusaoEdicao","carregandoGrid","setCarregandoGrid","edicaoAlerta","setEdicaoAlerta","cadastraOuEditaAlerta","isNaN","getAlertasTipos","removeAlerta","getRoles","selectRoleData","PlusOutlined","valoresFormulario","descricao","preparaEdicao","EditOutlined","preparaRemocao","DeleteOutlined","readOnly","BloqueioAgenda","armazemSelecionado","setTela","RangePicker","DatePicker","tipoBloqueio","setTipoBloqueio","disabledDates","inPast","tooEarly","add","handleSubmitBloquearAgenda","ini","fim","subtract","CadastroEdicaoArmazem","getArmazens","calculaTotalHoras","horaInicioFuncionamento","horaFimFuncionamento","totalHoras","difHoras","parseFloat","toFixed","horarioFuncionamentoSelecionado","setHorarioFuncionamentoSelecionado","qtdMinimaJanelasPrimarias","qtdMaximaJanelasPrimarias","setQtdMaximaJanelasPrimarias","opcoesJanelasPrimarias","setOpcoesJanelasPrimarias","setTamanhoJanelaSecundaria","tamanhoMinimoJanelaSecundaria","tamanhoMaximoJanelaSecundaria","medidaJanelaSecundaria","marcadoresJanelasSecundarias","setMarcadoresJanelasSecundarias","setTotalHoras","setMacrosDisponiveis","selectMacroDisponivelItens","setSelectMacroDisponivelItens","selectTipoMacroItens","setSelectTipoMacroItens","selectUsuarioGrupoItens","setSelectUsuarioGrupoItens","selectTipoArmazemItens","setSelectTipoArmazemItens","carregandoEdicaoArmazem","setCarregandoEdicaoArmazem","processandoFormulario","setProcessandoFormulario","cdMacroTipoSelecionado","setCdMacroTipoSelecionado","macrosPermitidas","setMacrosPermitidas","macrosPermitidasAnteriores","setMacrosPermitidasAnteriores","adicionandoMacro","setAdicionandoMacro","cdMacroSelecionada","setCdMacroSelecionada","macroSelecionadaObrigatoria","setMacroSelecionadaObrigatoria","getMacros","selectTiposMacroData","selectUsuariosGruposData","cdUsuarioGrupo","getTiposArmazens","selectTiposArmazemData","cdAgendamentoDocasArmazemTipo","buscaUltimaConfiguracao","cdsUsuariosGrupos","ultimaConfiguracao","armazemInput","docasUteis","qtdJanelasPrimarias","funcionamento","dtInicio","tempoJanelaMinutos","gerenciaCota","calculaQtdJanelasSecundarias","qtdReal","Math","round","converteMacrosPermitidasParaBase","macrosCopia","macrosBase","ordem","obrigatoria","cadastraOuEditaArmazem","docas","funcao","janelas","macrosPermitidasBaseAnteriores","macrosPermitidasBaseNovas","atualizaMacros","funcionamentoInicio","funcionamentoFim","qtdJanelasSecundarias","criarAutomatico","refreshArmazem","alteraOpcoesJanelasPrimarias","numHoras","qtdMaximaOpcoes","opcoes","dadosFormulario","getFieldsValue","alteraOrdemMacro","ordemOriginal","incremento","ordemNova","macrosOrdenadas","macro1","macro2","marcadores","horasInteiras","trunc","defineMarcadoresJanelasSecundarias","macrosAtualizadas","opcoesMacrosAtualizadas","verificaMacrosDisponiveis","min","max","marks","step","ArrowUpOutlined","ArrowDownOutlined","macroAtualizada","alteraObrigatoriedadeMacro","_macro","macroSelecionada","novaMacro","adicionaMacro","danger","marginBottom","LiberacaoAgenda","setDataSelecionada","liberandoAgenda","setLiberandoAgenda","handleSubmitLiberarAgenda","allowClear","date","ModalConfigurarArmazem","armazemItens","setArmazemItens","setArmazemSelecionado","tela","preparaConfiguracao","CriarEditarArmazem","EditTwoTone","ClockCircleTwoTone","StopTwoTone","ModalConfiguracoes","minHeight","defaultActiveKey","ModalDetalhesCandidato","setDetalhes","setTitle","atribuiDetalhes","numeroViagem","ModalImportarCandidatos","handleClose","base64","setBase64","fileName","setFileName","setFileSize","carregandoImportacao","setCarregandoImportacao","setStatus","handleSendFile","erros","erroImportacao","handleDownloadModelo","arquivo","createElement","download","appendChild","removeChild","showUploadList","info","fileList","forEach","file","reader","FileReader","onload","readAsDataURL","originFileObj","beforeUpload","Upload","LIST_IGNORE","Veiculos","getListaSelecao","listaPorCdVeiculo","veiculosAux","ModalListaChegadas","setListaChegadas","today","hookFormAtualizacaoPlaca","selectOpcoesChegadaVisualizada","setSelectOpcoesChegadaVisualizada","selectArmazemItens","setSelectArmazemItens","imagens","setImagens","configuracaoSMS","setConfiguracaoSMS","paddingLeft","paddingRight","cssSwitchLabel","carregandoImagens","setCarregandoImagens","ATUALIZACAO_AUTOMATICA_MODAL_CHEGADAS_SEGUNDOS_ENTRE_REQUISICOES","segundosEntreRequisicoes","ATUALIZACAO_AUTOMATICA_MODAL_CHEGADAS_SEGUNDOS_NO_PASSADO","segundosNoPassadoParaDataInicial","MODAL_CHEGADAS_INTERVALO_MAXIMO_DIAS","intervaloMaximoDias","atualizacaoAutomatica","setAtualizacaoAutomatica","carregandoAtualizacaoAutomatica","setCarregandoAtualizacaoAutomatica","ultimaAtualizacao","setUltimaAtualizacao","idTimeout","setIdTimeout","setCarregandoSMS","veiculoAtualizado","setVeiculoAtualizado","cdIntegracaoCameraPlacaParaAtualizar","setCdIntegracaoCameraPlacaParaAtualizar","placaCadastrada","setPlacaCadastrada","placaAtualizada","setPlacaAtualizada","getVeiculos","getConfiguracaoSMS","getOpcoesChegadaVisualizada","getElementsByClassName","top","selectArmazensData","pesquisaListaChegadas","dataFinalMoment","dataInicialMoment","visualizadoString","cdsVeiculos","mostraImagens","chegada","processaAtualizacaoAutomatica","clearTimeout","dadosAtualizacao","_chegada","ajustaPlaca","mostraPlaca","getFullYear","getMonth","getDate","checkedChildren","unCheckedChildren","checked","preparaAtualizacaoPlaca","EyeOutlined","DateRange","maxDays","dates","setDates","hackValue","setHackValue","onCalendarChange","onOpenChange","open","ModalLogs","setArmazens","logs","setLogs","selectAcaoItens","setSelectAcaoItens","selectDocaItens","setSelectDocaItens","selectUsuarioItens","setSelectUsuarioItens","cdArmazemSelecionado","setCdArmazemSelecionado","carregandoExportacao","setCarregandoExportacao","carregandoAcoes","setCarregandoAcoes","carregandoArmazens","setCarregandoArmazens","carregandoUsuarios","setCarregandoUsuarios","getUsuarios","selectAcoesData","cdAcao","selectUsuariosData","pesquisaOuExportaLogs","intervalo","cdVeiculos","selectDocasData","ModalMacrosCandidato","macrosEmitidas","setMacrosEmitidas","carregandoMacros","setCarregandoMacros","carregandoMacrosEmitidas","setCarregandoMacrosEmitidas","buscaMacros","EmitirMacrosDocas","ModalPesquisaInclusaoMacros","setChavePesquisa","setValorPesquisa","setMacroSelecionada","macroOutrosSelecionada","setMacroOutrosSelecionada","justificativaMacro","setJustificativaMacro","tiposMacros","setTiposMacros","tiposMacrosPesquisa","setTiposMacrosPesquisa","selectTiposMacros","setSelectTiposMacros","selectChavesPesquisa","setSelectChavesPesquisa","carregandoTiposMacros","setCarregandoTiposMacros","carregandoInclusao","macrosViagem","setMacrosViagem","sucessoPesquisa","setSucessoPesquisa","setCdViagem","setNumeroViagem","setPlacaVeiculo","getChavesPesquisa","getTiposMacros","getTiposMacrosPesquisa","pesquisaMacros","dtAcaoStr","nomeMacro","tipoMacro","registraMacro","dtAtual","selecionaMacro","ModalRemocaoCandidato","setCandidatos","removeCandidato","ModalStatusTransportadoras","colunas","EditarStatusTransportadorasBiomassa","unshift","cdTransportadoraBiomassa","cdAgendamentoDocasArmazemCotaTipo","NaoControlaCota","setTranportadoraSelecionada","verificaColunas","carregandoAtualizacao","setCarregandoAtualizacao","buscaTransportadorasUsuario","selectTransportadorasData","transp","confirmaAtualizacaoCota","novoStatus","ComCota","novoStatusString","atualizacaoConfirmada","cdAgendamentoDocasArmazemCota","SemCota","pesquisaTransportadoras","ModoCompacto","carregandoAgendaSimplificada","setCarregandoAgendaSimplificada","carregandoReservaHorario","setCarregandoReservaHorario","selectJanelaItens","setSelectJanelaItens","selectHorarioItens","setSelectHorarioItens","setCdJanela","setCdDoca","reservarAprovar","setReservarAprovar","reservaHorarios","cdsHorarios","respostaAcao","ModoCompactoAdamiBiomassa","cdArmazemTipo","agendamentos","agendamentoSelecionado","setAgendamentoSelecionado","CDS_AGENDAMENTO_DOCAS_ARMAZEM_REGRA_ESPECIAL","cdArmazemRegraEspecial","cdsArmazensRegraEspecial","regraEspecialAtiva","setRegraEspecialAtiva","carregandoCriacaoOuEdicaoAgendamento","setCarregandoCriacaoOuEdicaoAgendamento","selectHorarioItensEdicao","setSelectHorarioItensEdicao","setCdTransportadora","setVeiculo","criarVeiculo","setCriarVeiculo","verificandoVeiculo","setVerificandoVeiculo","criandoVeiculo","setCriandoVeiculo","edicaoPreparada","setEdicaoPreparada","setDocas","mostrarCampoTransportadora","limpaFormulario","getTransportadorasBiomassa","transportadorasBiomassa","getTransportadoras","verificaSeDesabilitaDoca","toLowerCase","Biomassa","dataMinima","hours","minutes","desabilitarJanela","verificaHorariosDisponiveis","verificaLetra","verificaNumero","verificaPlaca","verificaVeiculo","criaOuEditaAgendamentos","camposParaLimpar","novosHorarios","verificaPermissaoEditarDadosCompletos","EditarDadosCompletosAgendamentoBiomassa","verificaSeDesabilitaInput","dadosBasicos","desabilitar","EditarDadosBasicosAgendamentoBiomassa","iniciaPreparacaoEdicaoAgendamento","horariosEdicao","h1","h2","AgendamentoDocas","TEMPO_INICIAL_SEGUNDOS_CONTADOR_REGRESSIVO","updateTime","TEMPO_SEGUNDOS_ENTRE_REQUISICOES_LISTA_CHEGADAS","formularioPrincipal","contadorPausado","setContadorPausado","contadorPausadoAutomaticamente","setContadorPausadoAutomaticamente","armazemNaoEncontrado","setArmazemNaoEncontrado","operacaoEmLoteSuccess","setOperacaoEmLoteSuccess","loadingAgenda","setLoadingAgenda","firstLoading","setFirstLoading","ativarAdamiBiomassa","setAtivarAdamiBiomassa","modalConfiguracoes","setModalConfiguracoes","modalListaChegadas","setModalListaChegadas","modalLogAcoes","setModalLogAcoes","modalImportar","setModalImportar","modalCandidatos","setModalCandidatos","modalRemocaoCandidato","setModalRemocaoCandidato","modalBuscaPorPlaca","setModalBuscaPorPlaca","modalPesquisaInclusaoMacros","setModalPesquisaInclusaoMacros","modalMacrosCandidato","setModalMacrosCandidato","modalDetalhesCandidato","setModalDetalhesCandidato","modalAjuda","setModalAjuda","modalTransportadoraBiomassa","setModalTransportadoraBiomassa","dataItens","setDataItens","agendamentosModoCompacto","setAgendamentosModoCompacto","agendamentoModoCompactoSelecionado","setAgendamentoModoCompactoSelecionado","lastUpdate","setLastUpdate","nextUpdate","setNextUpdate","setCandidatoSelecionado","selectedRowKeys","setSelectedRowKeys","quantidadePlacasNaoCadastradasCompulog","Audio","AlertaSonoroMP3","alertaSonoro","alertaSonoroAtivo","setAlertaSonoroAtivo","agendaLiberadaTotalmente","setAgendaLiberadaTotalmente","atualizandoArmazemAgenda","setAtualizandoArmazemAgenda","carregandoConfigModoCompacto","setCarregandoConfigModoCompacto","janelaPossuiLarguraIdeal","setJanelaPossuiLarguraIdeal","modoCompactoPadrao","setModoCompactoPadrao","modoCompactoAdamiBiomassa","setModoCompactoAdamiBiomassa","voltarTelaInicial","setVoltarTelaInicial","CDS_ENTIDADES_SISTEMA_LIBERACAO_AGENDA_TODOS_ARMAZENS","liberarAgendaTodosArmazens","DIAS_LIBERACAO_AGENDA_TODOS_ARMAZENS","diasParaLiberarAgendaTodosArmazens","verificaSeJanelaPossuiLarguraIdeal","getItensData","localFilter","handleUpdate","play","ativaOuDesativaModoCompactoPadrao","verificaModoCompacto","limpaDadosArmazemAtual","preSelecionaArmazem","verificaAdamiBiomassa","handleChangeArmazem","getArmazensDetalhes","getAgenda","limparSelecao","executandoAcao","atualizarDataAtualContext","dtAgenda","isSame","cdMacros","cdRoles","concat","listIdRolesNotificacao","posicao","novoContext","buscaHorario","horaString","formataHora","horasString","getArmazemAgenda","centralizarScroll","nomeUsuario","cdUltimaMacro","nomeUltimaMacro","dtUltimaMacro","dtHoraMacroStr","dadosViagem","centralizaScroll","divHorario","getElementById","divDocas","scrollTo","preparaModalRemocaoCandidato","preparaModalMacrosCandidato","preparaModalDetalhesCandidato","liberaAgendaDataAtual","isSameOrAfter","startOf","catch","erroRequisicao","excecao","ordenaTextosOuNumeros","item1","item2","ordenaDatas","data1","data2","formato","searchInput","filtroPadrao","filterDropdown","setSelectedKeys","selectedKeys","confirm","onKeyDown","stopPropagation","closeDropdown","aplicaFiltro","filterIcon","filtered","onFilter","record","onFilterDropdownVisibleChange","select","SettingOutlined","VisualizarStatusTransportadorasBiomassa","ListaChegadas","borderRadius","LogAcoes","ImportarCandidatos","Adami","VisualizarMacrosDocas","QuestionCircleOutlined","level","paddingTop","dataLimite","direction","Button","StepForwardOutlined","PauseOutlined","SyncOutlined","InfoCircleFilled","LiberarMultiplasCelulas","disabledLiberarTodos","will","BloquearMultiplasCelulas","disabledBloquearTodos","AprovarMultiplasCelulas","disabledAprovarTodos","agendamentosParaCancelar","agendamentosRestantes","cancelarViagem","cancelaAgendamentoViagem","Macro","sorter","DetalhesIcon","dataUltimaMacro","tipoMaterial","numeroNotaFiscal","dtViagem","dtApontamentoPlaca","rowSelection","hideSelectAll","renderCell","originNode","onRow","rowIndex","handleRowSelected","destroyOnClose","ModoCompactoIraniFob","cdTransportadoraUsuario","placa1","setPlaca1","placa2","setPlaca2","dadosAdicionaisViagem","numeroLoad","campo1","destino","campo2","campo3","tipoVeiculo","campo4","campo5","horariosSemViagem","converteFormulario","AgendamentoDocasIraniFob","mostrarMensagemArmazemPreSelecionado","setMostrarMensagemArmazemPreSelecionado","verificaTransportadoraUsuario","cancelaAgendamento","DocasStylesManager","div","Docas","modo","Normal","IraniFob","LayoutDocas","FormAreasGeograficas","itemData","setItemData","carregandoInclusaoOuEdicao","setCarregandoInclusaoOuEdicao","useParams","getItemData","idEmpresa","cadastraOuEditaEmpresa","empresa","useExportReport","field","String","ListAreasGeograficas","functionExport","queryParams","tipoArea","setTipoArea","cdLocalSelecionado","setCdLocalSelecionado","cdPais","setCdPais","cdUF","setCdUF","cdCidade","setCdCidade","nominatim","setNominatim","selectPaisItens","setSelectPaisItens","selectUfItens","setSelectUfItens","selectCidadeItens","setSelectCidadeItens","selectBairroItens","setSelectBairroItens","innerHeight","alturaTabela","setAlturaTabela","getPaises","selectPaisData","getUFs","selectUfData","getCidades","selectCidadeData","getBairros","selectBairroData","pesquisaOuExportaAreasGeograficas","idNominatim","colunasParaExportar","exportItemsList","alteraPagina","numeroPagina","tamanhoPagina","reiniciaDadosUfCidadeBairro","cdBairro","reiniciaDadosCidadeBairro","reiniciaDadosBairro","cdPaisString","cdUfString","cdCidadeString","rowData","handleRowClick","onShowSizeChange","showSizeChanger","pageSizeOptions","AreasGeograficas","List","FormEmpresas","ajustaCNPJ","cnpjAjustado","ListEmpresas","pesquisaOuExportaEmpresas","Empresas","FormMotoristas","idMotorista","cadastraOuEditaMotorista","telefone","ListMotoristas","ddd","pesquisaOuExportaMotoristas","Motoristas","ModalEmpresaAssociada","setEmpresas","chavesLinhasSelecionadas","setChavesLinhasSelecionadas","pesquisaEmpresas","novasChaves","linhasSelecionadas","FormRastreadores","cdFabricante","setCdFabricante","fabricantes","setFabricantes","selectFabricanteItens","setSelectFabricanteItens","selectGerenciadorPosicaoItens","setSelectGerenciadorPosicaoItens","selectModoCobrancaItens","setSelectModoCobrancaItens","setMestreSistema","modalEmpresaAssociada","setModalEmpresaAssociada","empresasAssociadas","setEmpresasAssociadas","getFabricantes","getGerenciadoresPosicoes","selectGerenciadorPosicaoData","getModosCobrancas","selectModoCobrancaData","selectFabricanteData","idRastreador","fabricante","cdModoCobranca","objetoRastreavel","cadastraOuEditaRastreador","rastreador","entidades","removeEmpresa","ListRastreadores","pesquisaOuExportaRastreadores","Rastreadores","InnerContent","LayoutMisto","SessionClosed","ReactDOM","StrictMode","locale","Auth"],"mappings":"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","file":"static/js/main.6f7827cb.chunk.js","sourcesContent":["enum ModoEnum {\n Normal = 1,\n IraniFob = 2,\n}\n\nexport default ModoEnum\n","import React, { FC, useEffect } from 'react'\n\nimport Title from 'antd/lib/typography/Title'\nimport { useNavigate } from 'react-router-dom'\n\ninterface IProps {\n to: string\n}\n\nconst RedirectTo: FC = ({ to }: IProps) => {\n const navigate = useNavigate()\n\n useEffect(() => {\n navigate(to)\n }, [navigate, to])\n\n return Redirecionando\n}\n\nexport default RedirectTo\n","import { ApplicationContextValue } from './ContextType'\n\nexport const ApplicationContextInitialValues: ApplicationContextValue = {\n theme: 'light',\n loading: false,\n}\n","import React, { createContext, FC, useState } from 'react'\n\nimport { ApplicationContextValue } from './ContextType'\nimport { ApplicationContextInitialValues } from './InitialValues'\n\ninterface Iprops {\n applicationContext: ApplicationContextValue\n setApplicationContext: (value: ApplicationContextValue) => void\n}\n\nexport const ApplicationContext = createContext({\n applicationContext: ApplicationContextInitialValues,\n setApplicationContext: (value: ApplicationContextValue) => void 0,\n})\n\nexport const ApplicationProvider: FC = ({ children }) => {\n const initialValues = window.sessionStorage.getItem('ctx')\n\n let initialValuesCTX: ApplicationContextValue | null = null\n if (initialValues) {\n initialValuesCTX = JSON.parse(initialValues)\n }\n\n const [state, setState] = useState(\n initialValuesCTX || ApplicationContextInitialValues,\n )\n\n const updateContext = (value: ApplicationContextValue) => {\n setState(value)\n window.sessionStorage.setItem('ctx', JSON.stringify(value))\n }\n\n return (\n \n updateContext(value),\n }}\n >\n {children}\n \n )\n}\n","enum UsuarioGrupoTipoEnum {\n EntidadeSistema = 1,\n Transportadora = 2,\n}\n\nexport default UsuarioGrupoTipoEnum\n","const ID_COMPONENTE = {\n DOCAS: 6,\n}\n\nexport default ID_COMPONENTE\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react'\nimport { FC, useCallback, useContext, useEffect, useState } from 'react'\n\nimport { Button, Col, Image, Layout, Menu, Row, Statistic } from 'antd'\nimport { countdownValueType } from 'antd/lib/statistic/utils'\nimport logo from 'Assets/Brand/logo.png'\nimport ID_COMPONENTE from 'config/idComponente'\nimport { ApplicationContext } from 'Context'\nimport { MenuGroup } from 'Models/cadastros/Menu'\nimport moment from 'moment'\nimport env from 'react-dotenv'\nimport { useNavigate } from 'react-router-dom'\nimport handleToken from 'Services/handleToken'\nimport WS_DOCAS from 'Services/WS_DOCAS'\nimport swal from 'sweetalert'\nconst { Header } = Layout\nconst { SubMenu } = Menu\n\nlet sessaoRenovada: boolean | undefined\n\nconst HeaderApp: FC = () => {\n const { Countdown } = Statistic\n const navigate = useNavigate()\n const [menuItens, setMenuItens] = useState()\n const [current, setCurrent] = useState()\n const [modoDebug] = useState(env.MODO_DEBUG === 'true')\n const [urlPortalMisto, setUrlPortalMisto] = useState('')\n const [tempoSessaoMs, setTempoSessaoMs] = useState()\n const { applicationContext, setApplicationContext } =\n useContext(ApplicationContext)\n\n // const getItensMenu = useCallback(async () => {\n // const { data } = await WS_CADASTRO.menu.getItens()\n // setMenuItens(data)\n // }, [])\n\n // useEffect(() => {\n // getItensMenu()\n // }, [getItensMenu])\n\n const handleClick = (e: any) => {\n setCurrent(e.key)\n }\n\n const calculaTempoSessaoMs = () => {\n if (\n applicationContext.tempoSessaoMs &&\n applicationContext.dataInicioSessao\n ) {\n const dataAtual: Date = new Date()\n\n setTempoSessaoMs(\n applicationContext.tempoSessaoMs -\n (dataAtual.getTime() - applicationContext.dataInicioSessao.getTime()),\n )\n }\n }\n\n const verificaUrlPortalMisto = () => {\n const cdEntidadeSistema: number | undefined =\n applicationContext.usuarioAtual?.cdEntidadeSistema\n\n if (cdEntidadeSistema) {\n let urlPortalMisto: string =\n env[`URL_PORTAL_MISTO_ENTIDADE_SISTEMA_${cdEntidadeSistema}`]\n\n if (urlPortalMisto[urlPortalMisto.length - 1] !== '/') {\n urlPortalMisto += '/'\n }\n\n setUrlPortalMisto(urlPortalMisto)\n }\n\n return urlPortalMisto\n }\n\n const verificaSessao = (tempoRestanteMs: any) => {\n if (tempoRestanteMs <= 60000 && sessaoRenovada === undefined) {\n sessaoRenovada = false\n\n swal({\n title: 'Sessão Expirando',\n text: 'Falta menos de 1 minuto para a sua sessão expirar. Deseja voltar à tela inicial para renová-la?',\n icon: 'warning',\n buttons: ['NÃO', 'SIM'],\n dangerMode: true,\n }).then((renovarSessao) => {\n if (renovarSessao) {\n sessaoRenovada = true\n\n setApplicationContext({\n ...applicationContext,\n tempoSessaoMs: undefined,\n dataInicioSessao: undefined,\n })\n } else {\n sessaoRenovada = false\n }\n })\n }\n }\n\n const finalizaSessao = () => {\n window.location.href = `${urlPortalMisto}Login/Logout`\n }\n\n useEffect(() => {\n verificaUrlPortalMisto()\n }, [])\n\n useEffect(() => {\n if (sessaoRenovada) {\n window.location.href = `${urlPortalMisto}Inicial?renovarSessao`\n } else {\n try {\n calculaTempoSessaoMs()\n } catch (e) {\n const tempoSessaoMs: string | null =\n window.sessionStorage.getItem('tempoSessaoMs')\n const dataInicioSessao: string | null =\n window.sessionStorage.getItem('dataInicioSessao')\n\n if (tempoSessaoMs && dataInicioSessao) {\n setApplicationContext({\n ...applicationContext,\n tempoSessaoMs: window.parseInt(tempoSessaoMs),\n dataInicioSessao: new Date(dataInicioSessao),\n })\n }\n }\n }\n }, [applicationContext.dataInicioSessao])\n\n // TODO: Ajustar o design do menu\n return (\n \n \n \n {\n window.location.href = urlPortalMisto\n }}\n />\n \n\n {tempoSessaoMs && (\n \n \n Tempo de Sessão:\n \n \n // Tempo de Sessão:\n // \n // }\n value={Date.now() + tempoSessaoMs}\n onChange={verificaSessao}\n onFinish={finalizaSessao}\n style={{ display: 'inline-block' }}\n valueStyle={{\n color: '#19aa8d',\n fontSize: '14px',\n }}\n />\n \n )}\n\n {modoDebug && (\n \n {\n setApplicationContext({})\n navigate('/')\n }}\n >\n Sair (Este botao so aparece no Modo Debug)\n \n \n )}\n \n \n )\n}\n\nexport default HeaderApp\n","enum EntidadeSistemaEnum {\n Adami = 299,\n Demonstracao = 111,\n Irani = 298,\n}\n\nexport default EntidadeSistemaEnum\n","import UsuarioGrupoTipoEnum from 'Enumerations/UsuarioGrupoTipoEnum'\nimport { IPerfil, UsuarioAtual } from 'Models/auth'\n\nconst usuarios = {\n verificaTransportadorasUsuario(usuario: UsuarioAtual): number[] | undefined {\n let cdsTransportadorasUsuario: number[] | undefined = undefined\n\n if (usuario.perfis?.length > 0) {\n const perfil: IPerfil = usuario.perfis[0] //Por enquanto, cada usuário pode ter somente um perfil\n\n if (\n perfil.tipo?.id === UsuarioGrupoTipoEnum.Transportadora &&\n usuario.cdsTransportadoras\n ) {\n cdsTransportadorasUsuario = [...usuario.cdsTransportadoras]\n }\n }\n\n return cdsTransportadorasUsuario\n },\n\n verificaTipoGrupoUsuario(\n usuario: UsuarioAtual,\n ): UsuarioGrupoTipoEnum | undefined {\n let tipoGrupoUsuario: UsuarioGrupoTipoEnum | undefined = undefined\n\n if (usuario.perfis?.length > 0) {\n const perfil: IPerfil = usuario.perfis[0] //Por enquanto, cada usuário pode ter somente um perfil\n\n if (perfil.tipo?.id) {\n tipoGrupoUsuario = perfil.tipo.id\n }\n }\n\n return tipoGrupoUsuario\n },\n}\n\nexport default usuarios\n","const root = 'auth'\nconst authentication = {\n root: root,\n login: '/',\n recoveryPassword: root + '/recuperar-senha',\n changePassword: root + '/criar-nova-senha',\n}\n\nexport default authentication\n","import env from 'react-dotenv'\n\nconst hosts = {\n UAA_URL: env.UAA_URL,\n WS_DOCAS: env.WS_DOCAS,\n WS_CADASTRO: env.WS_CADASTRO,\n WS_CHAT: env.WS_CHAT,\n // WS_CADASTRO: 'http://teste.sinivem.com.br/WsCadastro/api',\n // UAA_URL: 'http://10.0.18.30:5054/api',\n // WS_DOCAS: 'http://teste.sinivem.com.br/WsDocas/api',\n // WS_CHAT: 'http://teste.sinivem.com.br/WsChatDev/api',\n // UAA: 'https://gateway.compulog.com.br:5050/uaa',\n // WS_DOCAS: 'http://168.90.173.35/WsDocas/api',\n // WS_CHAT: ' http://168.90.173.35/WsChat/api',\n}\n\nexport default hosts\n","import axios, { AxiosError } from 'axios'\n\nconst handleErrors = (error: AxiosError) => {\n switch (error?.response?.status) {\n case 401:\n console.error('401 - Não autorizado')\n break\n case 403:\n console.error('403 - Não autenticado')\n break\n case 404:\n console.error('404 - Recurso não encontrado')\n break\n case 412:\n console.error(\n '412 - Problema ao obter dados com os parâmetros informados',\n )\n break\n case 415:\n console.error('415 - Tipo de midia não suportado')\n break\n case 500:\n console.error('500 - Erro de servidor')\n break\n default:\n break\n }\n}\n\nexport default handleErrors\n","import axios, { AxiosResponse } from 'axios'\nimport ERROR_MESSAGE from 'config/errorMessage'\nimport ID_COMPONENTE from 'config/idComponente'\nimport { rest } from 'lodash'\nimport handleErrors from 'Services/handleErrors'\n\nimport hosts from '../config/microServices'\nimport handleToken from './handleToken'\nimport ResponseRevalidateToken from './UAA/types/response/RevalidateToken'\n\ninterface ApiServiceProps {\n anonymous?: boolean\n upload?: boolean\n idComponente?: number\n}\n\nconst ApiService = (props?: ApiServiceProps) => {\n let token: string | null\n if (!props || !props?.anonymous) {\n //Se não permite requisição anonima\n token = handleToken.getToken()\n }\n\n const service = axios.create({\n headers: {\n csrf: 'token',\n },\n })\n\n service.interceptors.request.use(\n async (config) => {\n config.headers = {\n Accept: 'application/json',\n 'Content-Type': props?.upload\n ? 'application/x-www-form-urlencoded'\n : 'application/json-patch+json',\n }\n\n if (token !== null && token !== undefined) {\n config.headers = {\n ...rest,\n Authorization: `Bearer ${token}`,\n idComponente: props?.idComponente || ID_COMPONENTE.DOCAS,\n }\n }\n\n return config\n },\n (error) => {\n Promise.reject(error)\n },\n )\n service.interceptors.response.use(async (response: AxiosResponse) => {\n if (response.data.statusCode === 2) {\n location.assign('/session-close')\n }\n return response\n }, handleErrors)\n\n return {\n get(url: string): Promise {\n return service.get(url)\n },\n post(url: string, data?: any): Promise {\n return service.post(url, data)\n },\n put(url: string, data: any): Promise {\n return service.put(url, data)\n },\n delete(url: string, data: any): Promise {\n return service.delete(url, data)\n },\n }\n}\n\nexport default ApiService\n","//import { useApplicationContext } from \"Context\";\nimport hosts from '../config/microServices'\nimport ApiService from './ApiService'\n\ninterface ItokenProps {\n id_token: string\n}\n\nconst handleToken = {\n getToken: (): string | null => {\n return window.sessionStorage.getItem('token')\n },\n\n isValid: (token: string): boolean => {\n return decodeToken(token) ? true : false\n },\n\n setToken: (newToken: string): void => {\n window.sessionStorage.setItem('token', newToken)\n },\n\n renewToken: async (token: string) => {\n const result = await ApiService().get(\n `${hosts.UAA_URL}/revalidate-token`,\n )\n\n window.sessionStorage.setItem('token', result.data.id_token)\n return result.data.id_token\n },\n\n cleanToken: () => {\n window.sessionStorage.removeItem('token')\n window.sessionStorage.removeItem('ctx')\n },\n}\n\nconst decodeToken = (token: string) => {\n if (token !== '') {\n const data = JSON.parse(atob(token.split('.')[1]))\n const currentTime = Date.now() / 1000\n\n return currentTime > data.exp ? null : data\n } else {\n return null\n }\n}\n\nexport default handleToken\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { AxiosResponse } from 'axios'\nimport hosts from 'config/microServices'\nimport QueryStringFilter from 'Helpers/QueryStringFilter'\nimport { IAutenticacaoResposta } from 'Models/auth'\nimport IRenovacaoToken from 'Models/auth/IRenovacaoToken'\nimport ApiService from 'Services/ApiService'\n\nconst autenticacao = {\n login: async (\n login: string,\n senha: string,\n lembrarMe: boolean,\n idComponente?: number,\n ): Promise> =>\n await ApiService({\n idComponente,\n }).post(`${hosts.WS_DOCAS}/autenticacao`, {\n login,\n senha,\n lembrarMe,\n }),\n\n buscaDados: async (\n idComponente?: number,\n ): Promise> =>\n await ApiService({\n idComponente,\n }).get(`${hosts.WS_DOCAS}/autenticacao`),\n}\n\nexport default autenticacao\n","import React, { FC, useState } from 'react'\n\nimport logo from 'Assets/Images/logo-compulog.svg'\nimport AuthService from 'Services/UAA'\nimport * as yup from 'yup'\n\ninterface IFormInput {\n emailOrCpf: string\n}\n\nconst passwordValidation: RegExp =\n '/^(?=.*[A-Za-z])(?=.*d)(?=.*[@$!%*#?&])[A-Za-zd@$!%*#?&]{8,}$/' as unknown as RegExp\n\n// const validationSchema = yup.object().shape({\n// CPF: yup.string().required('Obrigatório'),\n// DataNascimento: yup.date().required('Obrigatório'),\n// Senha: yup\n// .string()\n// .required('Obrigátório')\n// .matches(\n// passwordValidation,\n// 'Deve conter 8 caracteres, uma maiuscula, uma minuscula, um número e um caractere especial',\n// ),\n// RepetirSenha: yup\n// .string()\n// .required('Obrigátório')\n// .oneOf([yup.ref('Senha'), null], 'As senhas devem ser iguais'),\n// });\n\nconst ChangePassword: FC = () => {\n const [SuccessRecover, setSuccessRecover] = useState(false)\n\n // const formik = useFormik({\n // initialValues: {\n // emailOrCpf: '',\n // },\n // validationSchema: validationSchema,\n // onSubmit: async (values: IFormInput) => {\n // let result;\n\n // if (values.emailOrCpf.indexOf('@')) {\n // result = await AuthService.RecoverPasswordInit(\n // values.emailOrCpf,\n // null,\n // );\n // } else {\n // result = await AuthService.RecoverPasswordInit(\n // null,\n // values.emailOrCpf,\n // );\n // }\n\n // if (result) {\n // setSuccessRecover(true);\n // } else {\n // setSuccessRecover(false);\n // }\n // },\n // });\n\n return (\n <>dasd\n //
\n // \n // \n // \n // \n // \n // \n // \n\n // \n // \n // \n\n // \n // \n // \n\n // \n // \n // \n\n // \n // \n // Enviar\n // \n // \n // \n // {SuccessRecover ? Um email com o link para você criar uma nova senha foi enviado para seu email. : ''}\n // \n\n // \n // {formik.isSubmitting && }\n // \n // \n //
\n )\n}\n\nexport default ChangePassword\n","export default __webpack_public_path__ + \"static/media/logo-compulog.25e5c594.svg\";","import React from 'react'\n\nimport { Form, Checkbox } from 'antd'\n\ninterface InputProps {\n methods: any\n scope: string\n name: string\n label: string\n labelColor?: string\n}\n\nexport const CheckboxItem = ({\n methods,\n name,\n label,\n scope,\n labelColor,\n}: InputProps) => {\n const {\n register,\n formState: { errors },\n } = methods\n\n return (\n \n \n \n {label}\n \n \n
{errors[name]?.message}
\n \n )\n}\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useCallback } from 'react'\n\nimport { Form, Select } from 'antd'\nimport { Rule } from 'antd/lib/form'\n\nconst { Option } = Select\n\nexport interface SelectItemProps {\n value: string\n label: string\n key?: string\n disabled?: boolean\n default?: boolean\n}\n\ninterface SelectProps {\n methods: any\n scope: string\n name: string\n label?: string\n defaultValue?: any\n value?: string\n items: SelectItemProps[]\n onChangeValue?: (value: string) => void\n onSearch?: (value: string) => void\n searchValue?: string\n showSearch?: boolean\n filterOption?: any\n mode?: string\n rules?: Rule[]\n disabled?: boolean\n emptyValue?: boolean\n onClick?: any\n id?: string\n}\n\nexport const SelectFieldAnt = ({\n methods,\n name,\n defaultValue,\n value,\n label,\n scope,\n items,\n onChangeValue,\n onSearch,\n searchValue,\n showSearch,\n filterOption,\n mode,\n rules,\n disabled,\n emptyValue,\n onClick,\n id,\n}: SelectProps) => {\n const { register } = methods\n\n const handleChange = useCallback(\n (value: string) => {\n if (onChangeValue) onChangeValue(value)\n },\n [methods, name],\n )\n\n const createOptions = () => {\n const options = emptyValue\n ? [{ key: '', value: '', label: '', disabled: false }, ...items]\n : items\n\n return options.map((option) => (\n \n {option.label}\n \n ))\n }\n\n const defaultFilterOption = (input: any, option: any) => {\n return (option?.children ?? '').toUpperCase().includes(input.toUpperCase())\n }\n\n return (\n \n \n {createOptions()}\n \n \n )\n}\n","import React from 'react'\n\nimport { Form, Input } from 'antd'\nimport MaskedInput from 'antd-mask-input'\n\ninterface InputProps {\n methods: any\n scope: string\n name: string\n label: string\n mask?: string\n type: 'text' | 'password' | 'number' | 'masked'\n}\n\nexport const InputText = ({\n methods,\n name,\n label,\n scope,\n mask,\n type,\n}: InputProps) => {\n const {\n register,\n formState: { errors },\n } = methods\n\n return (\n \n {type === 'masked' && (\n \n )}\n\n {type === 'password' && (\n \n )}\n\n {type === 'text' && (\n \n )}\n\n {type === 'number' && (\n \n )}\n\n
{errors[name]?.message}
\n \n )\n}\n","import React from 'react'\n\nimport { Col, Row, Spin } from 'antd'\n\nconst Loading = () => {\n return (\n \n \n \n \n \n )\n}\n\nexport default Loading\n","import React, { FC, useContext, useEffect, useState } from 'react'\n\nimport { yupResolver } from '@hookform/resolvers/yup'\nimport { Button, Col, Form, Image, Input, Row } from 'antd'\nimport { MaskedInput } from 'antd-mask-input'\nimport logo from 'Assets/Images/logo-compulog.svg'\nimport { InputText, CheckboxItem } from 'Components/Form'\nimport Loading from 'Components/Loading'\nimport ID_COMPONENTE from 'config/idComponente'\nimport { ApplicationContext } from 'Context'\nimport usuarios from 'Helpers/usuarios'\nimport { CLAIMS } from 'Hooks/usePermissions/constants.claims'\nimport { IPerfil, IPermissao, UsuarioAtual } from 'Models/auth'\nimport moment from 'moment'\nimport { useForm } from 'react-hook-form'\nimport { useNavigate } from 'react-router-dom'\nimport { authentication } from 'Routes'\nimport handleToken from 'Services/handleToken'\nimport AuthService from 'Services/UAA'\nimport autenticacao from 'Services/WS_DOCAS/autenticacao'\nimport * as yup from 'yup'\n\nimport { FormAuth } from '../styles'\n\ninterface IFormInput {\n CPF: string\n Senha: string\n rememberMe: boolean\n}\n\n//TODO: ajusta visual do login\nconst Login: FC = () => {\n const navigate = useNavigate()\n const [ErrorLogin, setErrorLogin] = useState(false)\n const [botaoLogin, setBotaoLogin] = useState(React.createRef())\n const [loginResponse, setLoginResponse] = useState()\n const [processandoLogin, setProcessandoLogin] = useState(false)\n const [pagina, setPagina] = useState()\n const { applicationContext, setApplicationContext } =\n useContext(ApplicationContext)\n\n const validationSchema = yup.object().shape({\n CPF: yup.string().required('CPF é Obrigatório'),\n Senha: yup.string().required('Senha é Obrigatório'),\n })\n\n const hookForm = useForm()\n\n // useEffect(() => {\n // if (!window.location.href.includes('localhost')) {\n // handleToken.cleanToken()\n // console.log('Token limpo')\n // }\n // }, [])\n\n useEffect(() => {\n setProcessandoLogin(true)\n\n const currentURL: string = window.location.href\n\n setPagina(currentURL.includes('iranifob') ? '/DocasIraniFob' : '/Docas')\n\n if (currentURL.includes('at=')) {\n const autorizacao: string = currentURL.split('at=')?.[1]\n\n if (autorizacao) {\n handleToken.setToken(autorizacao)\n\n if (\n currentURL.includes('nomeArmazem=') &&\n currentURL.includes('data=')\n ) {\n let cdArmazem: number | undefined\n\n if (currentURL.includes('cdArmazem=')) {\n const cdArmazemString: string = currentURL.split('cdArmazem=')?.[1]\n cdArmazem = window.parseInt(\n cdArmazemString.substring(0, cdArmazemString.indexOf('&')),\n )\n }\n\n let nomeArmazem: string = currentURL.split('nomeArmazem=')[1]\n nomeArmazem = nomeArmazem.substring(0, nomeArmazem.indexOf('&'))\n nomeArmazem = nomeArmazem.replaceAll('%20', ' ') //Às vezes o espaço na URL é interpretado como %20\n\n let dataArmazem: string = currentURL.split('data=')[1]\n dataArmazem = dataArmazem.substring(0, dataArmazem.indexOf('&'))\n\n alternativeOnSubmit(currentURL, cdArmazem, nomeArmazem, dataArmazem)\n } else {\n alternativeOnSubmit(currentURL)\n }\n }\n } else {\n setProcessandoLogin(false)\n }\n }, [])\n\n useEffect(() => {\n if (loginResponse !== undefined && pagina) {\n if (loginResponse) {\n navigate(pagina)\n } else {\n setErrorLogin(true)\n }\n }\n }, [loginResponse, navigate])\n\n const onSubmit = async (values: IFormInput) => {\n setProcessandoLogin(true)\n\n const { data } = await autenticacao.login(\n values.CPF,\n values.Senha,\n values.rememberMe,\n ID_COMPONENTE.DOCAS,\n )\n\n if (data?.token) {\n handleToken.setToken(data.token)\n\n const usuario: UsuarioAtual = {\n perfis: data.autenticacao.perfis,\n cdsTransportadoras: data.cdsTransportadoras,\n cdEntidade: data.autenticacao.entidade.cdEntidade,\n cdEntidadeSistema: data.autenticacao.entidade.cdEntidadeSistema,\n cdUsuario: data.autenticacao.cdUsuario,\n nome: data.autenticacao.nome,\n login: data.autenticacao.login,\n permissoes: verificaPermissoes(data.autenticacao.perfis),\n mestreSistema: data.autenticacao.mestreSistema,\n }\n\n usuario.cdsTransportadoras =\n usuarios.verificaTransportadorasUsuario(usuario)\n\n setApplicationContext({\n ...applicationContext,\n usuarioAtual: usuario,\n textoDocumentoViagem:\n data.autenticacao.entidade.cdEntidadeSistema === 299 //Adami\n ? 'Plano de Viagem'\n : 'Documento da Viagem',\n })\n } else {\n setLoginResponse(false)\n }\n\n setProcessandoLogin(false)\n }\n\n const alternativeOnSubmit = async (\n currentURL: string,\n cdArmazemPreSelecionado?: number,\n nomeArmazemPreSelecionado?: string,\n dataPreSelecionada?: string,\n ) => {\n try {\n const { data } = await autenticacao.buscaDados(ID_COMPONENTE.DOCAS)\n\n if (data?.token) {\n let tempoSessaoMs: number | undefined\n let dataInicioSessao: Date | undefined\n\n if (\n currentURL.includes('tempoSessaoMinutos=') &&\n currentURL.includes('dataInicioSessao=')\n ) {\n let tempoSessao: string = currentURL.split('tempoSessaoMinutos=')[1]\n tempoSessao = tempoSessao.substring(0, tempoSessao.indexOf('&'))\n tempoSessaoMs = window.parseInt(tempoSessao) * 60000 //Conversão para milissegundos\n\n let inicioSessao: string = currentURL.split('dataInicioSessao=')[1]\n inicioSessao = inicioSessao.substring(0, inicioSessao.indexOf('&'))\n inicioSessao = inicioSessao.replaceAll('%20', ' ') //Às vezes o espaço na URL é interpretado como %20\n dataInicioSessao = new Date(inicioSessao)\n\n window.sessionStorage.setItem(\n 'tempoSessaoMs',\n tempoSessaoMs.toString(),\n )\n window.sessionStorage.setItem('dataInicioSessao', inicioSessao)\n }\n\n setApplicationContext({\n ...applicationContext,\n usuarioAtual: {\n perfis: data.autenticacao.perfis,\n cdsTransportadoras: data.cdsTransportadoras,\n cdEntidade: data.autenticacao.entidade.cdEntidade,\n cdEntidadeSistema: data.autenticacao.entidade.cdEntidadeSistema,\n cdUsuario: data.autenticacao.cdUsuario,\n nome: data.autenticacao.nome,\n login: data.autenticacao.login,\n permissoes: verificaPermissoes(data.autenticacao.perfis),\n mestreSistema: data.autenticacao.mestreSistema,\n },\n cdArmazemPreSelecionado: cdArmazemPreSelecionado,\n nomeArmazemPreSelecionado: nomeArmazemPreSelecionado,\n dataPreSelecionada: dataPreSelecionada,\n textoDocumentoViagem:\n data.autenticacao.entidade.cdEntidadeSistema === 299 //Adami\n ? 'Plano de Viagem'\n : 'Documento da Viagem',\n tempoSessaoMs: tempoSessaoMs,\n dataInicioSessao: dataInicioSessao,\n })\n } else {\n setLoginResponse(false)\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (e: any) {\n console.error(e)\n setProcessandoLogin(false)\n }\n }\n\n const verificaPermissoes = (perfis: IPerfil[]) => {\n const permissoes: IPermissao[] = perfis[0].permissoes\n\n for (let iPerfil = 1; iPerfil < perfis.length; iPerfil++) {\n const perfil: IPerfil = perfis[iPerfil]\n\n for (\n let iPermissao = 0;\n iPermissao < perfil.permissoes.length;\n iPermissao++\n ) {\n const permissaoPerfil: IPermissao = perfil.permissoes[iPermissao]\n\n if (\n !permissoes.some((permissao) => permissao.id === permissaoPerfil.id)\n ) {\n permissoes.push(permissaoPerfil)\n }\n }\n }\n\n return permissoes\n }\n\n useEffect(() => {\n if (applicationContext.usuarioAtual) {\n console.log('applicationContext', applicationContext)\n\n setLoginResponse(true)\n }\n }, [applicationContext.usuarioAtual])\n\n document.addEventListener('keyup', function (event) {\n if (event.key === 'Enter') {\n try {\n botaoLogin.click()\n } catch (e) {\n console.log('Login efetuado com sucesso')\n }\n }\n })\n\n return processandoLogin ? (\n \n ) : (\n
\n \n \n \n \n \n\n \n \n CPF:}\n >\n \n \n \n \n\n \n \n Senha:}\n >\n \n \n \n \n\n \n \n \n \n\n \n {\n if (node) {\n setBotaoLogin(node)\n }\n }}\n >\n LOGIN\n \n \n \n\n \n \n navigate(authentication.recoveryPassword)}\n id=\"form-login-link-esqueceu-senha\"\n style={{ marginLeft: '85px' }}\n >\n Esqueceu a senha?\n \n \n \n
\n // \n // \n // \n // \n // \n // \n // \n // \n\n // \n // \n // \n // \n // \n\n // {\n // if (node) {\n // setBotaoLogin(node)\n // }\n // }}\n // >\n // LOGIN\n // \n // \n\n // \n // navigate(authentication.recoveryPassword)}\n // id=\"form-login-link-esqueceu-senha\"\n // >\n // Esqueceu a senha?\n // \n // \n // \n // \n )\n}\n\nexport default Login\n","import { IMaskFunction } from './'\n\nconst cpf: IMaskFunction = {\n apply: (value: string) => {\n if (!value) return ''\n\n const regexp = /^(\\d{0,3})(\\d{0,3})(\\d{0,3})(\\d{0,2}).*/\n const result = '$1.$2.$3-$4'\n\n return value\n .toString()\n .replace(regexp, result)\n .replace(/[-.\\\\]$/, '')\n .replace(/[-.\\\\]$/, '')\n .replace(/[-.\\\\]$/, '')\n },\n clean: (value: string) =>\n (value?.toString() || '').replace(/\\D/gi, '').substr(0, 11),\n}\n\nexport default cpf\n","/* eslint-disable no-irregular-whitespace */\nimport { AxiosResponse } from 'axios'\nimport cpf from 'Hooks/useMask/cpf'\nimport { UsuarioAtual, Roles } from 'Models/auth'\nimport ApiService from 'Services/ApiService'\nimport handleToken from 'Services/handleToken'\nimport { UserJwtAuthenticateResponse } from 'Services/UAA/types/response'\nimport { UserJwtAuthenticateRequest } from 'Services/UAA/types/resquest'\n\nimport hosts from '../../config/microServices'\n\nconst AuthService = {\n Login: async (authRequest: UserJwtAuthenticateRequest): Promise => {\n authRequest.username = cpf.clean(authRequest.username).toString()\n\n const result = await ApiService({\n anonymous: true,\n }).post(\n `${hosts.UAA_URL}/authenticate`,\n authRequest,\n )\n\n if (result?.data && result?.data?.id_token) {\n handleToken.setToken(result?.data?.id_token)\n return true\n } else {\n return false\n }\n },\n\n Me: async () => {\n const result: AxiosResponse =\n await ApiService().get(\n `${hosts.WS_DOCAS}/autenticacao_info`,\n )\n\n return result\n },\n\n RecoverPasswordInit: async (\n cpf?: string,\n email?: string,\n ): Promise => {\n const { data } = await ApiService({\n anonymous: true,\n }).post(`${hosts.UAA_URL}​/account​/reset-password​/init`, {\n cpf: cpf,\n email: email,\n })\n\n return data ? true : false\n },\n\n GetRoles: async () => {\n return await ApiService().get(`${hosts.UAA_URL}/role`)\n },\n}\n\nexport default AuthService\n","import { Form } from 'antd'\nimport styled from 'styled-components'\n\nexport const FormAuth = styled(Form)`\n .ant-form-item-label > label {\n color: #fff;\n }\n .ant-checkbox + span {\n color: #fff;\n }\n\n .ant-btn-primary {\n background: #15b999;\n border-color: #15b999;\n width: 160px;\n }\n .ant-checkbox-checked .ant-checkbox-inner {\n background-color: #15b999;\n border-color: #15b999;\n }\n\n .ant-btn-link {\n color: #15b999;\n }\n input:focus,\n input[type]:focus,\n .uneditable-input:focus {\n border-color: #15b999;\n outline: 0 none;\n }\n\n input {\n background-color: #fff;\n color: #000;\n width: 280px;\n }\n\n .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover {\n border-color: #15b999;\n background-color: #fff;\n }\n\n .ant-input-password-icon {\n color: #000;\n }\n\n .ant-input-affix-wrapper-sm {\n background-color: #fff;\n }\n\n span.ant-input-affix-wrapper.ant-input-affix-wrapper-sm.ant-input-password.ant-input-password-small,\n input#login-input-CPF {\n width: 320px;\n }\n .ant-card-body > .ant-row {\n height: 455px;\n }\n`\n","import React, { FC, useState } from 'react'\n\nimport { yupResolver } from '@hookform/resolvers/yup'\nimport { Col, Image, Row, Button, Result, Form } from 'antd'\nimport logo from 'Assets/Images/logo-compulog.svg'\nimport { InputText } from 'Components/Form'\nimport Loading from 'Components/Loading'\nimport { useForm } from 'react-hook-form'\nimport { useNavigate } from 'react-router-dom'\nimport { authentication } from 'Routes'\nimport AuthService from 'Services/UAA'\nimport * as yup from 'yup'\n\nimport { FormAuth } from '../styles'\n\ninterface IFormInput {\n cpfOuEmail: string\n}\n\nconst RecoverPassword: FC = () => {\n const navigate = useNavigate()\n const [result, setResult] = useState(0)\n const hookForm = useForm()\n\n const onSubmit = async (values: IFormInput) => {\n if (!values.cpfOuEmail.indexOf('@')) {\n await AuthService.RecoverPasswordInit(values.cpfOuEmail)\n } else {\n await AuthService.RecoverPasswordInit(undefined, values.cpfOuEmail)\n }\n }\n\n return hookForm.formState.isSubmitting ? (\n \n ) : (\n <>\n {result === 200 ? (\n navigate(authentication.login)}\n >\n Voltar para o login\n ,\n ]}\n />\n ) : null}\n\n {result === 0 ? (\n \n \n \n \n \n \n \n \n\n \n \n Recuperar Senha\n \n \n \n \n ) : null}\n \n )\n}\n\nexport default RecoverPassword\n\n// return (\n//
\n// \n// \n// \n// \n// \n// \n// \n\n// \n// \n// Enviar\n// \n// \n// \n// {SuccessRecover ? . : ''}\n// \n\n// \n// {formik.isSubmitting && }\n// \n// \n//
\n// );\n// };\n\n// export default ;\n","export default __webpack_public_path__ + \"static/media/login_bg.2a3848b2.png\";","export default __webpack_public_path__ + \"static/media/login_bg_box.d6774aef.png\";","import { Col, Row, Card } from 'antd'\nimport styled from 'styled-components'\n\nimport bg from '../../Assets/Images/login_bg.png'\nimport bg_box from '../../Assets/Images/login_bg_box.png'\n\nexport const LayoutBackground = styled(Row)`\n height: 100vh;\n width: 100%;\n background-image: url(${bg});\n background-position: center bottom;\n background-size: cover;\n`\n\nexport const Container = styled(Card)`\n height: 455px;\n width: 1000px;\n border: 0;\n .ant-card-body {\n padding: 0;\n }\n .ant-card-body > .ant-row {\n height: 454px;\n }\n`\n\nexport const ColLeft = styled(Col)`\n background-image: url(${bg_box});\n background-position: left center;\n background-size: cover;\n`\n\nexport const ColRight = styled(Col)`\n background: #202225;\n padding: 60px 90px;\n`\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { FC, useContext, useEffect, useState } from 'react'\n\nimport { Col, Row, Spin } from 'antd'\nimport ID_COMPONENTE from 'config/idComponente'\nimport { ApplicationContext } from 'Context'\nimport usuarios from 'Helpers/usuarios'\nimport { CLAIMS } from 'Hooks/usePermissions/constants.claims'\nimport { IPerfil, IPermissao, UsuarioAtual } from 'Models/auth'\nimport moment from 'moment'\nimport env from 'react-dotenv'\nimport { Routes, Route, useNavigate } from 'react-router-dom'\nimport { authentication } from 'Routes'\nimport handleToken from 'Services/handleToken'\nimport AuthService from 'Services/UAA'\nimport autenticacao from 'Services/WS_DOCAS/autenticacao'\nimport ChangePassword from 'Views/Auth/ChangePassword'\nimport Login from 'Views/Auth/Login'\nimport RecoverPassword from 'Views/Auth/RecoverPassword'\n\n//import 'antd/dist/antd.dark.css';\nimport { LayoutBackground, Container, ColLeft, ColRight } from './styles'\n\nconst AuthLayout: FC = () => {\n const [modoDebug] = useState(env.MODO_DEBUG === 'true')\n const [mensagemErro, setMensagemErro] = useState()\n const navigate = useNavigate()\n\n const { applicationContext, setApplicationContext } =\n useContext(ApplicationContext)\n\n const carregaPortalDocas = async (\n currentURL: string,\n pagina: string,\n cdArmazemPreSelecionado?: number,\n nomeArmazemPreSelecionado?: string,\n dataPreSelecionada?: string,\n ) => {\n try {\n const { data } = await autenticacao.buscaDados(ID_COMPONENTE.DOCAS)\n\n if (data?.token) {\n handleToken.setToken(data.token)\n\n let tempoSessaoMs: number | undefined\n let dataInicioSessao: Date | undefined\n\n if (\n currentURL.includes('tempoSessaoMinutos=') &&\n currentURL.includes('dataInicioSessao=')\n ) {\n let tempoSessao: string = currentURL.split('tempoSessaoMinutos=')[1]\n tempoSessao = tempoSessao.substring(0, tempoSessao.indexOf('&'))\n tempoSessaoMs = window.parseInt(tempoSessao) * 60000 //Conversão para milissegundos\n\n let inicioSessao: string = currentURL.split('dataInicioSessao=')[1]\n inicioSessao = inicioSessao.substring(0, inicioSessao.indexOf('&'))\n inicioSessao = inicioSessao.replaceAll('%20', ' ') //Às vezes o espaço na URL é interpretado como %20\n dataInicioSessao = new Date(inicioSessao)\n\n window.sessionStorage.setItem(\n 'tempoSessaoMs',\n tempoSessaoMs.toString(),\n )\n window.sessionStorage.setItem('dataInicioSessao', inicioSessao)\n }\n\n const usuario: UsuarioAtual = {\n perfis: data.autenticacao.perfis,\n cdsTransportadoras: data.cdsTransportadoras,\n cdEntidade: data.autenticacao.entidade.cdEntidade,\n cdEntidadeSistema: data.autenticacao.entidade.cdEntidadeSistema,\n cdUsuario: data.autenticacao.cdUsuario,\n nome: data.autenticacao.nome,\n login: data.autenticacao.login,\n permissoes: verificaPermissoes(data.autenticacao.perfis),\n mestreSistema: data.autenticacao.mestreSistema,\n }\n\n usuario.cdsTransportadoras =\n usuarios.verificaTransportadorasUsuario(usuario)\n\n setApplicationContext({\n ...applicationContext,\n usuarioAtual: usuario,\n cdArmazemPreSelecionado: cdArmazemPreSelecionado,\n nomeArmazemPreSelecionado: nomeArmazemPreSelecionado,\n dataPreSelecionada: dataPreSelecionada,\n textoDocumentoViagem:\n data.autenticacao.entidade.cdEntidadeSistema === 299 //Adami\n ? 'Plano de Viagem'\n : 'Documento da Viagem',\n tempoSessaoMs: tempoSessaoMs,\n dataInicioSessao: dataInicioSessao,\n })\n\n navigate(pagina)\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (e: any) {\n const mensagemErro =\n 'Verifique se você está logado em outro navegador ou computador. Se sim, por gentileza refaça o login, pois só é permitida uma sessão de cada vez'\n\n setMensagemErro(mensagemErro)\n if (modoDebug) {\n window.alert(mensagemErro)\n }\n\n console.error(e)\n }\n }\n\n const verificaPermissoes = (perfis: IPerfil[]) => {\n const permissoes: IPermissao[] = perfis[0].permissoes\n\n for (let iPerfil = 1; iPerfil < perfis.length; iPerfil++) {\n const perfil: IPerfil = perfis[iPerfil]\n\n for (\n let iPermissao = 0;\n iPermissao < perfil.permissoes.length;\n iPermissao++\n ) {\n const permissaoPerfil: IPermissao = perfil.permissoes[iPermissao]\n\n if (\n !permissoes.some((permissao) => permissao.id === permissaoPerfil.id)\n ) {\n permissoes.push(permissaoPerfil)\n }\n }\n }\n\n return permissoes\n }\n\n useEffect(() => {\n const currentURL: string = window.location.href\n\n if (currentURL.includes('at=')) {\n const autorizacao: string = currentURL.split('at=')?.[1]\n\n if (autorizacao) {\n handleToken.setToken(autorizacao)\n\n const pagina = currentURL.includes('iranifob')\n ? '/DocasIraniFob'\n : '/Docas'\n\n if (\n currentURL.includes('nomeArmazem=') &&\n currentURL.includes('data=')\n ) {\n let cdArmazem: number | undefined\n\n if (currentURL.includes('cdArmazem=')) {\n const cdArmazemString: string = currentURL.split('cdArmazem=')?.[1]\n cdArmazem = window.parseInt(\n cdArmazemString.substring(0, cdArmazemString.indexOf('&')),\n )\n }\n\n let nomeArmazem: string = currentURL.split('nomeArmazem=')?.[1]\n nomeArmazem = nomeArmazem.substring(0, nomeArmazem.indexOf('&'))\n nomeArmazem = nomeArmazem.replaceAll('%20', ' ') //O espaço na URL é interpretado como %20\n\n let dataArmazem: string = currentURL.split('data=')?.[1]\n dataArmazem = dataArmazem.substring(0, dataArmazem.indexOf('&'))\n\n carregaPortalDocas(\n currentURL,\n pagina,\n cdArmazem,\n nomeArmazem,\n dataArmazem,\n )\n } else {\n carregaPortalDocas(currentURL, pagina)\n }\n }\n }\n }, [])\n\n return modoDebug ? (\n <>\n
\n IMPORTANTE: Essa tela só aparece se o modo debug estiver ativado no\n arquivo de configuração do servidor\n
\n \n \n \n \n \n \n } />\n }\n />\n }\n />\n \n \n \n \n \n \n ) : (\n \n \n \n \n {mensagemErro ? mensagemErro : 'Carregando...'}\n \n \n \n )\n}\n\nexport default AuthLayout\n","export default \"data:image/png;base64,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\"","export default __webpack_public_path__ + \"static/media/detalhes.c5050f9a.svg\";","export default __webpack_public_path__ + \"static/media/macro.17ab74a5.svg\";","const MACRO_CODIGO = {\n CHEGADA_NA_PORTARIA: 1,\n ENTRADA_AUTORIZADA: 2,\n ENTRADA_NA_UNIDADE: 3,\n ENTRADA_NA_DOCA: 4,\n SAIDA_DA_DOCA: 5,\n SAIDA_DA_UNIDADE: 6,\n OUTROS: 7,\n PESAGEM_BALANCA_SAIDA: 8,\n ANALISE_DA_DOCUMENTACAO: 9,\n DOCUMENTACAO_OK: 10,\n DOCUMENTACAO_NAO_OK: 11,\n INICIO_CARREGAMENTO: 12,\n FIM_CARREGAMENTO: 13,\n}\n\nexport default MACRO_CODIGO\n","const TIPO_MACRO = {\n SIMPLES: 1,\n PORTARIA: 2,\n EXPEDICAO: 3,\n AVANCADO: 4,\n}\n\nexport default TIPO_MACRO\n","enum TipoArmazemEnum {\n Recebimento = 1,\n Expedicao = 2,\n Biomassa = 3,\n}\n\nexport default TipoArmazemEnum\n","enum Claims {\n MenuConfiguracoes = 1,\n LogAcoes = 2,\n ImportarCandidatos = 3,\n BloquearMultiplasCelulas = 4,\n AprovarMultiplasCelulas = 5,\n LiberarMultiplasCelulas = 6,\n BloquearHorario = 7,\n CancelarHorario = 8,\n ReservarHorario = 9,\n AlterarHorario = 10,\n AprovarHorario = 11,\n NoShowHorario = 12,\n Chat = 13,\n Macro = 14,\n Alerta = 15,\n VerDetalhes = 16,\n LiberarHorario = 17,\n Checklist = 18,\n VerDetalhesTodasTransportadoras = 19,\n VerTodosCandidatos = 20,\n CriarEditarArmazem = 21,\n ListaChegadas = 22,\n ReservarAprovarHorario = 56,\n EditarStatusTransportadorasBiomassa = 58,\n VisualizarStatusTransportadorasBiomassa = 59,\n EditarDadosBasicosAgendamentoBiomassa = 61,\n EditarDadosCompletosAgendamentoBiomassa = 62,\n EmitirMacrosDocas = 63,\n VisualizarMacrosDocas = 64,\n}\n\nexport default Claims\n","import { IAgendamentoMultiplo, IHorario } from 'Models/docas'\n\nconst buscaAgendamentoMultiplo = (\n horario: IHorario,\n agendamentosMultiplos: IAgendamentoMultiplo[],\n): IAgendamentoMultiplo | undefined => {\n return agendamentosMultiplos.find(\n (f) => f.motorista === horario.nomeMotorista && f.placa === horario.placa,\n )\n}\n\nexport default buscaAgendamentoMultiplo\n","enum TipoCotaEnum {\n ComCota = 1,\n SemCota = 2,\n NaoControlaCota = 3,\n}\n\nexport default TipoCotaEnum\n","/* eslint-disable no-debugger */\nimport React, { useContext } from 'react'\n\nimport { ApplicationContext } from 'Context'\n\nimport Claims from './Claims'\n\ninterface ReturnProps {\n isAuthorized: (claim: Claims) => boolean\n\n isSystemMaster: () => boolean\n}\n\nconst usePermissions = (): ReturnProps => {\n const { applicationContext } = useContext(ApplicationContext)\n const userPermissions = applicationContext.usuarioAtual?.permissoes\n\n const isAuthorized = (claim: Claims) => {\n if (userPermissions?.find((x) => x.id === claim)) {\n return true\n } else {\n return false\n }\n }\n\n const isSystemMaster = () => {\n if (applicationContext.usuarioAtual?.mestreSistema) return true\n else return false\n }\n\n return {\n isAuthorized,\n isSystemMaster,\n }\n}\n\nexport default usePermissions\n","import {\n ExportParamsRequest,\n ParamsRequest,\n} from 'Services/__shared/types/resquest'\n\nconst QueryStringFilter = (\n url: string,\n filter?: any,\n params?: ParamsRequest | ExportParamsRequest,\n): string => {\n let obj: any\n if (filter) {\n obj = filter\n }\n\n if (params) {\n obj = {\n ...obj,\n ...params,\n }\n }\n\n if (obj) {\n let i = 0\n return (\n url +\n Object.keys(obj).reduce((str, key) => {\n const delimiter = i === 0 ? '?' : '&'\n const keyAux = encodeURIComponent(key)\n const val =\n obj[keyAux] !== undefined && obj[keyAux] !== null\n ? encodeURIComponent(obj[keyAux])\n : undefined\n if (val !== undefined && val !== '') {\n i += 1\n return [str, delimiter, keyAux, '=', val].join('')\n } else {\n return [str].join('')\n }\n }, '')\n )\n } else {\n return url\n }\n}\n\nexport default QueryStringFilter\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { AxiosResponse } from 'axios'\nimport hosts from 'config/microServices'\nimport QueryStringFilter from 'Helpers/QueryStringFilter'\nimport { IHorario, ITotais } from 'Models/docas'\nimport { IAgendaAction } from 'Models/docas'\nimport IAgendamentoModoCompacto from 'Models/docas/IAgendamentoModoCompacto'\nimport IAgendaSimplificada from 'Models/docas/IAgendaSimplificada'\nimport IFormAgendamentoBiomassa from 'Models/docas/IFormAgendamentoBiomassa'\nimport IFormDocasBucasPorPlacaFilter from 'Models/docas/IFormDocasBuscaPorPlacaFilter'\nimport ApiService from 'Services/ApiService'\nimport { ServiceListResponse } from 'Types/ServiceResponse'\n\nimport {\n ServiceDocasResponse,\n ServiceUpdateResponse,\n} from './../../Types/ServiceResponse'\n\nconst agenda = {\n getList: async (idComponente: number, cdArmazem: number, data: string) => {\n const result: AxiosResponse> =\n await ApiService({ idComponente }).get<\n ServiceListResponse\n >(`${hosts.WS_DOCAS}/agenda?cdArmazem=${cdArmazem}&data=${data}`)\n\n return result\n },\n\n getAgendaSimplificada: async (\n idComponente: number,\n cdArmazemConfig: number,\n data: string,\n ) => {\n const result: AxiosResponse> =\n await ApiService({ idComponente }).get<\n ServiceListResponse\n >(\n `${hosts.WS_DOCAS}/agenda_simplificada?cdArmazemConfig=${cdArmazemConfig}&data=${data}`,\n )\n\n return result\n },\n\n getAgendaModoCompacto: async (\n idComponente: number,\n cdArmazem: number,\n data: string,\n ) => {\n const result: AxiosResponse> =\n await ApiService({ idComponente }).get<\n ServiceListResponse\n >(\n `${hosts.WS_DOCAS}/agenda_modo_compacto?cdArmazem=${cdArmazem}&data=${data}`,\n )\n\n return result\n },\n\n getDetalhes: async (idComponente: number, cdHorario: number) => {\n const result: AxiosResponse> =\n await ApiService({ idComponente }).get>(\n `${hosts.WS_DOCAS}/agenda/${cdHorario}`,\n )\n\n return result\n },\n\n executaAcao: async (idComponente: number, data: IAgendaAction[]) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).put(`${hosts.WS_DOCAS}/agenda`, data)\n\n return result\n },\n\n liberarAgenda: async (\n idComponente: number,\n cdArmazem: number,\n data: string,\n ) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).post(`${hosts.WS_DOCAS}/agenda`, {\n cdArmazem,\n data,\n })\n\n return result\n },\n\n liberaAgendaTodosArmazens: async (\n idComponente: number,\n dataInicial: moment.Moment,\n dataFinal: moment.Moment,\n ) => {\n const bodyRequisicao = {\n dataInicial: dataInicial.format('YYYY-MM-DD'),\n dataFinal: dataFinal.format('YYYY-MM-DD'),\n }\n\n const resultado: AxiosResponse = await ApiService({\n idComponente,\n }).post(\n `${hosts.WS_DOCAS}/agenda_periodo_geral`,\n bodyRequisicao,\n )\n\n return resultado\n },\n\n getAtualizacoes: async (\n idComponente: number,\n CdArmazem: number,\n DataUltBusca: string,\n DataAgenda: string,\n ) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).get(\n `${hosts.WS_DOCAS}/atualizacoes?CdArmazem=${CdArmazem}&DataAgenda=${DataAgenda}`,\n )\n\n return result\n },\n\n bloqueiaAgendaByArmazem: async (\n idComponente: number,\n dataInicio: string,\n dataFim: string,\n cdArmazem: number,\n ) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).put(`${hosts.WS_DOCAS}/agenda_bloqueio_armazem`, {\n cdArmazem,\n dataInicio,\n dataFim,\n })\n\n return result\n },\n\n bloqueiaAgendaByDoca: async (\n idComponente: number,\n dataInicio: string,\n dataFim: string,\n cdDoca: number,\n ) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).put(`${hosts.WS_DOCAS}/agenda_bloqueio_doca`, {\n cdDoca,\n dataInicio,\n dataFim,\n })\n\n return result\n },\n\n bloqueiaAgendaByJanela: async (\n idComponente: number,\n dataInicio: string,\n dataFim: string,\n cdJanela: number,\n ) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).put(`${hosts.WS_DOCAS}/agenda_bloqueio_janela`, {\n cdJanela,\n dataInicio,\n dataFim,\n })\n\n return result\n },\n\n agendaTrocaHorario: async (\n idComponente: number,\n cdAgendamentoDocasHorarioOrigem: number[],\n cdAgendamentoDocasHorarioDestino: number[],\n justificativa: string,\n placaVeiculo: string,\n transportadora: string,\n cdEntidade: number,\n cdVeiculo: number,\n agendamentoMultiplo: boolean,\n qtdJanelas: number,\n tamanhoJanela: number,\n ) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).put(`${hosts.WS_DOCAS}/agenda_troca`, {\n cdAgendamentoDocasHorarioOrigem,\n cdAgendamentoDocasHorarioDestino,\n justificativa,\n placaVeiculo,\n transportadora,\n cdEntidade,\n cdVeiculo,\n agendamentoMultiplo,\n qtdJanelas,\n tamanhoJanela,\n })\n\n return result\n },\n\n pesquisaPorPlaca: async (\n idComponente: number,\n filter?: IFormDocasBucasPorPlacaFilter,\n ) => {\n let localFilters: IFormDocasBucasPorPlacaFilter | undefined\n\n if (filter) {\n localFilters = filter\n }\n\n const result: AxiosResponse> =\n await ApiService({\n idComponente,\n }).get>(\n QueryStringFilter(`${hosts.WS_DOCAS}/agenda_placa`, localFilters),\n )\n\n return result\n },\n}\n\nexport default agenda\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { assertDeclareTypeAlias } from '@babel/types'\nimport { AxiosResponse } from 'axios'\nimport hosts from 'config/microServices'\nimport QueryStringFilter from 'Helpers/QueryStringFilter'\nimport {\n IAlertaOcorrencia,\n IAlertaJustificativa,\n IAlertaTipo,\n} from 'Models/docas'\nimport IAlertaTipoConfiguracao from 'Models/docas/IAlertaTipoConfiguracao'\nimport ApiService from 'Services/ApiService'\nimport {\n ServiceCreateResponse,\n ServiceListResponse,\n ServiceUpdateResponse,\n} from 'Types/ServiceResponse'\n\nconst alerta = {\n getList: async (idComponente: number, cdAgendamentoDocasHorario: number) => {\n const result: AxiosResponse> =\n await ApiService({ idComponente }).get<\n ServiceListResponse\n >(\n QueryStringFilter(`${hosts.WS_DOCAS}/alerta`, {\n cdAgendamentoDocasHorario,\n }),\n )\n\n return result\n },\n\n justify: async (\n idComponente: number,\n alertaJustificativa: IAlertaJustificativa,\n ) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).post(\n `${hosts.WS_DOCAS}/alerta_justificativa`,\n alertaJustificativa,\n )\n\n return result\n },\n\n getListConfiguracao: async (\n idComponente: number,\n cdEntidadeSistema: number,\n ) => {\n const result: AxiosResponse> =\n await ApiService({ idComponente }).get<\n ServiceListResponse\n >(\n QueryStringFilter(`${hosts.WS_DOCAS}/alerta_tipo_configuracao`, {\n cdEntidadeSistema,\n }),\n )\n\n return result\n },\n\n createConfiguracao: async (\n idComponente: number,\n alerta: IAlertaTipoConfiguracao,\n ) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).post(\n `${hosts.WS_DOCAS}/alerta_tipo_configuracao`,\n alerta,\n )\n\n return result\n },\n\n updateConfiguracao: async (\n idComponente: number,\n cdAlertaTipoConfiguracao: number,\n tempo: number,\n ) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).put(\n `${hosts.WS_DOCAS}/ativar_desativar_alerta_tipo_configuracao`,\n { cdAlertaTipoConfiguracao, tempo },\n )\n\n return result\n },\n\n ativaDesativaConfiguracao: async (\n idComponente: number,\n cdAlertaTipoConfiguracao: number,\n ) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).put(\n `${hosts.WS_DOCAS}/ativar_desativar_alerta_tipo_configuracao`,\n { cdAlertaTipoConfiguracao },\n )\n\n return result\n },\n\n getListTipo: async (idComponente: number) => {\n const result: AxiosResponse> =\n await ApiService({ idComponente }).get<\n ServiceListResponse\n >(QueryStringFilter(`${hosts.WS_DOCAS}/alerta_tipo`))\n\n return result\n },\n\n createTipo: async (idComponente: number, alerta: IAlertaTipo) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).post(`${hosts.WS_DOCAS}/alerta_tipo`, alerta)\n\n return result\n },\n\n updateTipo: async (idComponente: number, alerta: IAlertaTipo) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).put(`${hosts.WS_DOCAS}/alerta_tipo`, alerta)\n\n return result\n },\n\n deleteTipo: async (idComponente: number, id: number) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).delete(\n QueryStringFilter(`${hosts.WS_DOCAS}/alerta_tipo/${id}`),\n {},\n )\n\n return result\n },\n}\n\nexport default alerta\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { AxiosResponse } from 'axios'\nimport hosts from 'config/microServices'\nimport QueryStringFilter from 'Helpers/QueryStringFilter'\nimport { IArmazem } from 'Models/docas'\nimport IArmazemTipo from 'Models/docas/IArmazemTipo'\nimport { ParamsRequest } from 'Services/__shared/types/resquest'\nimport ApiService from 'Services/ApiService'\nimport {\n ServiceCreateResponse,\n ServiceDetailsResponse,\n ServiceListResponse,\n} from 'Types/ServiceResponse'\n\nimport IFormDocasArmazemTipoFilter from './types/resquest/IFormDocasArmazemTipoFilter'\nimport IFormDocasCandidatosFilter from './types/resquest/IFormDocasCandidatosFilter'\n\nconst armazem = {\n getList: async (\n idComponente: number,\n filter?: IFormDocasCandidatosFilter,\n params?: ParamsRequest,\n ) => {\n let localFilters: IFormDocasCandidatosFilter | undefined\n if (filter) {\n localFilters = filter\n }\n\n const result: AxiosResponse> =\n await ApiService({ idComponente }).get>(\n QueryStringFilter(`${hosts.WS_DOCAS}/armazem`, localFilters, params),\n )\n\n return result\n },\n\n getListTypes: async (\n idComponente: number,\n filter: IFormDocasArmazemTipoFilter = { apenasAtivos: true },\n ) => {\n const result: AxiosResponse> =\n await ApiService({ idComponente }).get>(\n QueryStringFilter(`${hosts.WS_DOCAS}/armazem_tipo`, filter),\n )\n\n return result\n },\n\n details: async (idComponente: number, id: number, data: string) => {\n const result: AxiosResponse> =\n await ApiService({ idComponente }).get>(\n `${hosts.WS_DOCAS}/armazem/${id.toString()}/${data}`,\n )\n\n return result\n },\n\n create: async (idComponente: number, armazem: any) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).post(`${hosts.WS_DOCAS}/armazem`, armazem)\n\n return result\n },\n\n update: async (idComponente: number, armazem: any) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).put(`${hosts.WS_DOCAS}/armazem`, armazem)\n\n return result\n },\n\n getFutureConfigurations: async (idComponente: number, cdArmazem: number) => {\n const result: AxiosResponse> =\n await ApiService({\n idComponente,\n }).get>(\n `${hosts.WS_DOCAS}/armazem_config_futuras/${cdArmazem}`,\n )\n\n return result\n },\n}\n\nexport default armazem\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { AxiosResponse } from 'axios'\nimport hosts from 'config/microServices'\nimport QueryStringFilter from 'Helpers/QueryStringFilter'\nimport { UsuarioGrupo } from 'Models/cadastros'\nimport IAcao from 'Models/docas/IAcao'\nimport IArmazemCota from 'Models/docas/IArmazemCota'\nimport IFormAgendamentoBiomassa from 'Models/docas/IFormAgendamentoBiomassa'\nimport IFormArmazemCotaFilter from 'Models/docas/IFormArmazemCotaFilter'\nimport IFormArmazemCotaInput from 'Models/docas/IFormArmazemCotaInput'\nimport moment from 'moment'\nimport ApiService from 'Services/ApiService'\nimport {\n ServiceListResponse,\n ServiceUpdateResponse,\n} from 'Types/ServiceResponse'\n//import IAcao from 'Views/Docas/Models/IAcao'\n\nconst armazemCota = {\n buscaCotas: async (idComponente: number, filtros: IFormArmazemCotaFilter) => {\n const resposta: AxiosResponse> =\n await ApiService({\n idComponente,\n }).get>(\n QueryStringFilter(`${hosts.WS_DOCAS}/ArmazemCota`, filtros),\n )\n\n return resposta\n },\n\n atualizaCota: async (idComponente: number, dados: IFormArmazemCotaInput) => {\n const resposta: AxiosResponse = await ApiService({\n idComponente,\n }).put(`${hosts.WS_DOCAS}/ArmazemCota`, dados)\n\n return resposta\n },\n\n criaAgendamentoBiomassa: async (\n idComponente: number,\n data: IFormAgendamentoBiomassa[],\n ) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).post(\n `${hosts.WS_DOCAS}/AgendamentoBiomassa`,\n data,\n )\n\n return result\n },\n\n editaAgendamentoBiomassa: async (\n idComponente: number,\n data: IFormAgendamentoBiomassa[],\n ) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).put(`${hosts.WS_DOCAS}/AgendamentoBiomassa`, data)\n\n return result\n },\n}\n\nexport default armazemCota\n","const arrays = {\n converteParaParametroGET(array: T[], parametro: string): string {\n if (array.length > 0) {\n const nomeParametro = parametro + '='\n const nomeParametroJoin = '&' + nomeParametro\n\n return nomeParametro + array.join(nomeParametroJoin)\n } else {\n return ''\n }\n },\n}\n\nexport default arrays\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { AxiosResponse } from 'axios'\nimport hosts from 'config/microServices'\nimport arrays from 'Helpers/arrays'\nimport QueryStringFilter from 'Helpers/QueryStringFilter'\nimport { ICandidato } from 'Models/docas'\nimport { ParamsRequest } from 'Services/__shared/types/resquest'\nimport ApiService from 'Services/ApiService'\nimport {\n ServiceDownloadResponse,\n ServiceListResponse,\n ServiceUpdateResponse,\n} from 'Types/ServiceResponse'\n\nimport IFormDocasCandidatosFilter from './types/resquest/IFormDocasCandidatosFilter'\n\nconst candidatos = {\n getList: async (\n idComponente: number,\n filter?: IFormDocasCandidatosFilter,\n params?: ParamsRequest,\n ) => {\n let endpoint = `${hosts.WS_DOCAS}/candidato`\n\n //TO-DO: Melhorar esse bloco hardcode\n if (filter) {\n const parametros: string[] = []\n\n if (filter.cdArmazem) {\n parametros.push(`cdArmazem=${filter.cdArmazem}`)\n }\n\n if (filter.cdEntidade) {\n parametros.push(`cdEntidade=${filter.cdEntidade}`)\n }\n\n if (filter.data) {\n parametros.push(`data=${filter.data}`)\n }\n\n if (filter.apenasAtivos) {\n parametros.push(`apenasAtivos=${filter.apenasAtivos}`)\n }\n\n if (filter.cdsTransportadoras) {\n parametros.push(\n arrays.converteParaParametroGET(\n filter.cdsTransportadoras,\n 'cdsTransportadoras',\n ),\n )\n }\n\n if (parametros.length > 0) {\n endpoint += '?' + parametros.join('&')\n }\n }\n\n const result: AxiosResponse> =\n await ApiService({ idComponente }).get>(\n endpoint,\n )\n\n return result\n },\n\n getDetalhes: async (idComponente: number, cdCandidatoAgendamento: number) => {\n const result: AxiosResponse> =\n await ApiService({ idComponente }).get>(\n `${hosts.WS_DOCAS}/candidato/${cdCandidatoAgendamento}`,\n )\n\n return result\n },\n\n importar: async (idComponente: number, arquivoBase64String: string) => {\n const result: AxiosResponse> =\n await ApiService({\n idComponente,\n }).post>(\n `${hosts.WS_DOCAS}/candidato_importacao`,\n {\n arquivoBase64String,\n },\n )\n\n return result\n },\n\n downloadModelo: async (idComponente: number) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).get(\n `${hosts.WS_DOCAS}/candidato_importacao_arquivo_template`,\n )\n\n return result\n },\n\n create: async (idComponente: number, candidato: ICandidato) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).post(`${hosts.WS_DOCAS}/candidato`, candidato)\n\n return result\n },\n\n delete: async (idComponente: number, id: number, justificativa: string) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).delete(\n QueryStringFilter(`${hosts.WS_DOCAS}/candidato/${id}`, justificativa),\n {},\n )\n\n return result\n },\n\n atualizaObservacao: async (\n idComponente: number,\n cdCandidatoAgendamento: number,\n observacao?: string,\n ) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).put(`${hosts.WS_DOCAS}/candidato/observacao`, {\n cdCandidatoAgendamento,\n observacao,\n })\n\n return result\n },\n}\n\nexport default candidatos\n","import { AxiosResponse } from 'axios'\nimport hosts from 'config/microServices'\nimport ICheckList from 'Models/docas/Checklist'\nimport ApiService from 'Services/ApiService'\nimport { ServiceListResponse } from 'Types/ServiceResponse'\n\nconst checklist = {\n getList: async (idComponente: number, cdEmpresa: number) => {\n const result: AxiosResponse> =\n await ApiService({ idComponente }).get>(\n `${hosts.WS_DOCAS}/checklist_empresa/${cdEmpresa}`,\n )\n return result\n },\n getChecklist: async (idComponente: number, ID: number) => {\n const result: AxiosResponse> =\n await ApiService({ idComponente }).get>(\n `${hosts.WS_DOCAS}/checklist/${ID}`,\n )\n return result\n },\n saveChecklist: async (idComponente: number, ID: number, values: any) => {\n const result: AxiosResponse> =\n await ApiService({ idComponente }).get>(\n `${hosts.WS_DOCAS}/checklist/${ID}`,\n )\n return result\n },\n}\n\nexport default checklist\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { AxiosResponse } from 'axios'\nimport hosts from 'config/microServices'\nimport { IChegada } from 'Models/docas'\nimport IAtualizacaoPlaca from 'Models/docas/IAtualizacaoPlaca'\nimport IFormListaChegadaFilter from 'Models/docas/IFormListaChegadaFilter'\nimport ApiService from 'Services/ApiService'\nimport AtualizaPlacaResponse from 'Types/AtualizaPlacaResponse'\nimport {\n ServiceListResponse,\n ServiceUpdateResponse,\n} from 'Types/ServiceResponse'\n\nconst listaChegadas = {\n get: async (idComponente: number, cdChegada: number) => {\n const result: AxiosResponse> =\n await ApiService({ idComponente }).get>(\n `${hosts.WS_DOCAS}/chegada/${cdChegada}`,\n )\n\n return result\n },\n\n buscaChegadas: async (\n idComponente: number,\n filter: IFormListaChegadaFilter,\n ) => {\n const body = {\n visualizado: filter.visualizado,\n dataInicial: filter.dataInicial,\n dataFinal: filter.dataFinal,\n placas: filter.placas,\n tipoOperacao: filter.tipoOperacao,\n armazens: filter.armazens,\n }\n\n const result: AxiosResponse> =\n await ApiService({\n idComponente,\n }).post>(\n `${hosts.WS_DOCAS}/busca_lista_chegadas`,\n body,\n )\n\n return result\n },\n\n visualizaChegada: async (\n idComponente: number,\n cdIntegracaoCameraPlaca: number,\n ) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).put(\n `${hosts.WS_DOCAS}/visualiza_chegada/${cdIntegracaoCameraPlaca}`,\n undefined,\n )\n\n return result\n },\n\n descartaChegada: async (\n idComponente: number,\n cdIntegracaoCameraPlaca: number,\n ) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).delete(\n `${hosts.WS_DOCAS}/descarta_chegada/${cdIntegracaoCameraPlaca}`,\n undefined,\n )\n\n return result\n },\n\n buscaImagens: async (\n idComponente: number,\n cdIntegracaoCameraPlaca: number,\n ) => {\n const result: AxiosResponse> = await ApiService(\n {\n idComponente,\n },\n ).get>(\n `${hosts.WS_DOCAS}/busca_imagens/${cdIntegracaoCameraPlaca}`,\n )\n\n return result\n },\n\n atualizaPlaca: async (idComponente: number, dados: IAtualizacaoPlaca) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).put(`${hosts.WS_DOCAS}/atualiza_placa`, dados)\n\n return result\n },\n\n contaChegadasNaoCadastradas: async (idComponente: number) => {\n const result: AxiosResponse> = await ApiService(\n {\n idComponente,\n },\n ).get>(\n `${hosts.WS_DOCAS}/conta_chegadas_nao_cadastradas`,\n )\n\n return result\n },\n}\n\nexport default listaChegadas\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { AxiosResponse } from 'axios'\nimport hosts from 'config/microServices'\nimport QueryStringFilter from 'Helpers/QueryStringFilter'\nimport { ILog } from 'Models/docas'\nimport IFormDocasLogsFilter from 'Models/docas/IFormDocasLogsFilter'\nimport ApiService from 'Services/ApiService'\nimport { ServiceListResponse } from 'Types/ServiceResponse'\n\nconst log = {\n getList: async (idComponente: number, filter: IFormDocasLogsFilter) => {\n const result: AxiosResponse> = await ApiService({\n idComponente,\n }).post>(`${hosts.WS_DOCAS}/log_acao`, filter)\n\n return result\n },\n\n export: async (idComponente: number, filter: IFormDocasLogsFilter) => {\n const result: AxiosResponse> = await ApiService({\n idComponente,\n }).post>(\n `${hosts.WS_DOCAS}/log_acao_excel`,\n filter,\n )\n\n return result\n },\n}\n\nexport default log\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { AxiosResponse } from 'axios'\nimport hosts from 'config/microServices'\nimport QueryStringFilter from 'Helpers/QueryStringFilter'\nimport { IMacro, IMacroAction, IMacroTipo, IMacroViagem } from 'Models/docas'\nimport ApiService from 'Services/ApiService'\nimport { ServiceListResponse } from 'Types/ServiceResponse'\n\nconst macro = {\n getList: async (idComponente: number, cdArmazem?: number) => {\n const result: AxiosResponse> = await ApiService(\n { idComponente },\n ).get>(\n QueryStringFilter(`${hosts.WS_DOCAS}/macro`, { cdArmazem }),\n )\n\n return result\n },\n\n executaMacro: async (idComponente: number, data: IMacroAction) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).post(`${hosts.WS_DOCAS}/macro`, data)\n\n return result\n },\n\n buscaMacrosEmitidas: async (idComponente: number, cdCandidato: number) => {\n const result: AxiosResponse> = await ApiService(\n { idComponente },\n ).get>(`${hosts.WS_DOCAS}/macro/${cdCandidato}`)\n\n return result\n },\n\n getTiposMacro: async (idComponente: number) => {\n const result: AxiosResponse> =\n await ApiService({ idComponente }).get>(\n `${hosts.WS_DOCAS}/macro_tipo`,\n )\n\n return result\n },\n\n getTiposMacroViagem: async (idComponente: number) => {\n const result: AxiosResponse> =\n await ApiService({ idComponente }).get>(\n `${hosts.WS_DOCAS}/tipos_macro_viagem`,\n )\n\n return result\n },\n\n getTiposMacroViagemPesquisa: async (idComponente: number) => {\n const result: AxiosResponse> =\n await ApiService({ idComponente }).get>(\n `${hosts.WS_DOCAS}/tipos_macro_viagem_pesquisa`,\n )\n\n return result\n },\n\n buscaRegistrosMacroViagem: async (\n idComponente: number,\n chavePesquisa: string,\n valorPesquisa: string,\n ) => {\n const body = {\n tipoIdentificador: chavePesquisa,\n identificador: valorPesquisa,\n }\n\n const result: AxiosResponse> =\n await ApiService({\n idComponente,\n }).post(\n `${hosts.WS_DOCAS}/busca_registros_macro_viagem`,\n body,\n )\n\n return result\n },\n\n registraMacroViagem: async (\n idComponente: number,\n macroViagem: IMacroViagem,\n ) => {\n const body = {\n dtAcao: macroViagem.dtAcao,\n cdViagem: macroViagem.cdViagem,\n cdMacro: macroViagem.cdMacro,\n cdUsuario: macroViagem.cdUsuario,\n justificativa: macroViagem.justificativa,\n }\n\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).post(\n `${hosts.WS_DOCAS}/registra_macro_viagem`,\n body,\n )\n\n return result\n },\n}\n\nexport default macro\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { AxiosResponse } from 'axios'\nimport hosts from 'config/microServices'\nimport QueryStringFilter from 'Helpers/QueryStringFilter'\nimport { UsuarioGrupo } from 'Models/cadastros'\nimport IAcao from 'Models/docas/IAcao'\nimport ApiService from 'Services/ApiService'\nimport { ServiceListResponse } from 'Types/ServiceResponse'\n//import IAcao from 'Views/Docas/Models/IAcao'\n\nconst misc = {\n getAcoes: async (idComponente: number) => {\n const result: AxiosResponse> = await ApiService({\n idComponente,\n }).get>(\n QueryStringFilter(`${hosts.WS_DOCAS}/acoes`),\n )\n\n return result\n },\n\n getUsuariosGrupos: async (idComponente: number) => {\n const result: AxiosResponse> =\n await ApiService({\n idComponente,\n }).get>(\n QueryStringFilter(`${hosts.WS_DOCAS}/usuario_grupo`),\n )\n\n return result\n },\n}\n\nexport default misc\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { AxiosResponse } from 'axios'\nimport hosts from 'config/microServices'\nimport { ISMSConfig } from 'Models/docas'\nimport ApiService from 'Services/ApiService'\nimport {\n ServiceCreateResponse,\n ServiceListResponse,\n ServiceUpdateResponse,\n} from 'Types/ServiceResponse'\n\nconst sms = {\n getConfiguracao: async (idComponente: number) => {\n const result: AxiosResponse> =\n await ApiService({ idComponente }).get>(\n `${hosts.WS_DOCAS}/sms_config`,\n )\n\n return result\n },\n\n createConfiguracao: async (\n idComponente: number,\n configuracao: ISMSConfig,\n ) => {\n const result: AxiosResponse> =\n await ApiService({ idComponente }).post(\n `${hosts.WS_DOCAS}/sms_config`,\n configuracao,\n )\n\n return result\n },\n\n updateConfiguracao: async (\n idComponente: number,\n configuracao: ISMSConfig,\n ) => {\n const result: AxiosResponse> =\n await ApiService({ idComponente }).put(\n `${hosts.WS_DOCAS}/sms_config`,\n configuracao,\n )\n\n return result\n },\n}\n\nexport default sms\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { AxiosResponse } from 'axios'\nimport hosts from 'config/microServices'\nimport QueryStringFilter from 'Helpers/QueryStringFilter'\nimport UsuarioDocas from 'Models/docas/Usuario'\nimport ApiService from 'Services/ApiService'\nimport { ServiceListResponse } from 'Types/ServiceResponse'\n\nconst usuario = {\n getList: async (idComponente: number) => {\n const result: AxiosResponse> =\n await ApiService({ idComponente }).get>(\n QueryStringFilter(`${hosts.WS_DOCAS}/usuario`),\n )\n\n return result\n },\n}\n\nexport default usuario\n","import { AxiosResponse } from 'axios'\nimport hosts from 'config/microServices'\nimport IModoCompactoConfig from 'Models/docas/IModoCompactoConfig'\nimport IVeiculoTransportadora from 'Models/docas/IVeiculoTransportadora'\nimport ApiService from 'Services/ApiService'\nimport {\n ServiceCreateResponse,\n ServiceListResponse,\n ServiceUpdateResponse,\n} from 'Types/ServiceResponse'\n\nconst veiculo = {\n buscaVeiculo: async (\n idComponente: number,\n placa: string,\n cdTransportadora: number,\n ): Promise => {\n const result: AxiosResponse> =\n await ApiService({\n idComponente,\n }).get>(\n `${hosts.WS_DOCAS}/veiculo?placa=${placa}&cdTransportadora=${cdTransportadora}`,\n )\n\n return result.data.item\n },\n\n criaVeiculo: async (\n idComponente: number,\n placa: string,\n cdTransportadora: number,\n ): Promise => {\n const result: AxiosResponse> =\n await ApiService({\n idComponente,\n }).post>(\n `${hosts.WS_DOCAS}/veiculo`,\n {\n placa,\n cdTransportadora,\n },\n )\n\n return result.data.item\n },\n}\n\nexport default veiculo\n","import agenda from './agenda'\nimport alerta from './alerta'\nimport armazem from './armazem'\nimport armazemCota from './armazemCota'\nimport autenticacao from './autenticacao'\nimport candidatos from './candidatos'\nimport checklist from './checklist'\nimport listaChegadas from './listaChegadas'\nimport log from './log'\nimport macro from './macros'\nimport misc from './misc'\nimport sms from './sms'\nimport usuario from './usuario'\nimport veiculo from './veiculo'\n\nexport default {\n agenda,\n alerta,\n armazem,\n armazemCota,\n autenticacao,\n candidatos,\n checklist,\n listaChegadas,\n log,\n macro,\n misc,\n sms,\n usuario,\n veiculo,\n}\n","import { AxiosResponse } from 'axios'\nimport hosts from 'config/microServices'\nimport IModoCompactoConfig from 'Models/docas/IModoCompactoConfig'\nimport ApiService from 'Services/ApiService'\nimport {\n ServiceCreateResponse,\n ServiceListResponse,\n ServiceUpdateResponse,\n} from 'Types/ServiceResponse'\n\nconst modoCompacto = {\n verificaSeAtivo: async (idComponente: number): Promise => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).get(`${hosts.WS_DOCAS}/configuracao_modo_compacto`)\n\n return result.data?.ativo\n },\n\n ativaOuDesativa: async (\n idComponente: number,\n ): Promise> => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).post(\n `${hosts.WS_DOCAS}/configuracao_modo_compacto`,\n )\n\n return result\n },\n}\n\nexport default modoCompacto\n","export const MsgSuccessOptions = {\n position: 'bottom-right',\n style: {\n backgroundColor: '#d1e7dd',\n border: '2px solid #93c7af',\n color: '#0f5132',\n fontFamily: 'Menlo, monospace',\n fontSize: '20px',\n textAlign: 'center',\n },\n closeStyle: {\n color: 'lightcoral',\n fontSize: '16px',\n },\n}\n","export default __webpack_public_path__ + \"static/media/beep.721dc4ad.mp3\";","import { IMacro } from 'Models/docas'\n\nimport { IComentario, IAlertaOcorrencia } from '.'\n\nexport default interface IHorario {\n cdAgendamendoDocasDocas: number\n cdAgendamentoDocasJanela: number\n cdAgendamentoDocasHorario: number\n cdPontoEntidade: number\n cdCandidatoAgendamento?: number\n dtHora: string\n hora: string\n horarioStatus: number\n cdVeiculo: number\n cdViagem: number\n documentoViagem?: string\n origemViagem?: string\n destinoViagem?: string\n documento?: string\n justificativa: string\n confirmado: boolean\n versao: string\n comentarios: IComentario[]\n temComentario: boolean\n temMacro: boolean\n temAlerta: boolean\n nomeMotorista: string\n cdEntidade: number\n nomeEntidade: string\n nomeTransportadora: string\n placa: string\n macrosCandidato: IMacro[]\n cdMacro: number\n nomeMacro: string\n dtHoraMacroStr: string\n cdMacroUsuario: number\n cdMacroExcetoOutros: number\n cdMacroUsuarioExcetoOutros: number\n corMacro?: string\n peso?: string\n piscar: boolean\n alertas: IAlertaOcorrencia[]\n ultimasMacros: IMacro[]\n nomeUsuario?: string\n nomeJanela: string\n nomeDoca: string\n dadosViagem: string\n observacaoCandidato?: string\n}\n\nexport const STATUS_HORARIOS = {\n LIVRE: 0, // Cinza\n RESERVADO: 1, // Azul\n APROVADO: 2, // verde\n CANCELADO: 3, // tratar como se fosse livre\n BLOQUEADO: 4, // Vermelho\n NO_SHOW: 5, // não definido\n RESERVADO_APROVADO: 6,\n}\n","import moment from 'moment'\n\nimport { DocasContextValue } from './ContextType'\n\nexport const DocasContextInitialValues: DocasContextValue = {\n dataAtual: moment(),\n janelaAtual: 0,\n selecionados: [],\n selecaoContinua: false,\n btnAprovarSelecionados: false,\n btnBloquearSelecionados: false,\n executing: false,\n macros: [],\n macrosParaAvisar: [],\n agendamentosMultiplos: [],\n avisoPiscante: !window.sessionStorage.getItem('desativarAvisoPiscante'),\n atualizarAvisoPiscante: false,\n alertas: [],\n alertasSonoros: [],\n}\n","import React, { createContext, FC, useState } from 'react'\n\nimport { DocasContextValue } from './ContextType'\nimport { DocasContextInitialValues } from './InitialValues'\n\ninterface IProps {\n docasContext: DocasContextValue\n setDocasContext: (value: DocasContextValue) => void\n}\n\nexport const DocasContext = createContext({\n docasContext: DocasContextInitialValues,\n setDocasContext: (value: DocasContextValue) => void 0,\n})\n\nexport const DocasProvider: FC = ({ children }) => {\n const [state, setState] = useState(\n DocasContextInitialValues,\n )\n\n const updateContext = (value: DocasContextValue) => {\n setState(value)\n }\n\n return (\n updateContext(value),\n }}\n >\n {children}\n \n )\n}\n","import { IHorario } from 'Models/docas'\nimport moment from 'moment'\n\nconst classificacaoHorarios = {\n comparaHorariosAsc(horario1: IHorario, horario2: IHorario): number {\n const dtHora1 = moment(horario1.dtHora, 'YYYY-MM-DDTHH:mm:ss')\n const dtHora2 = moment(horario2.dtHora, 'YYYY-MM-DDTHH:mm:ss')\n\n return dtHora1.isBefore(dtHora2) ? -1 : 1\n },\n\n comparaHorariosDesc(horario1: IHorario, horario2: IHorario): number {\n const dtHora1 = moment(horario1.dtHora, 'YYYY-MM-DDTHH:mm:ss')\n const dtHora2 = moment(horario2.dtHora, 'YYYY-MM-DDTHH:mm:ss')\n\n return dtHora1.isAfter(dtHora2) ? -1 : 1\n },\n\n buscaUltimoHorario(cdJanela: number, horarios: IHorario[]): moment.Moment {\n const horariosJanela = horarios\n .filter((horario) => horario.cdAgendamentoDocasJanela === cdJanela)\n .sort(this.comparaHorariosDesc)\n\n return moment(horariosJanela[0].dtHora, 'YYYY-MM-DDTHH:mm:ss')\n },\n\n ordenaHorarios(horarios: IHorario[], asc = true): IHorario[] {\n let horariosOrdenados: IHorario[] = [...horarios]\n\n horariosOrdenados = asc\n ? horariosOrdenados.sort(this.comparaHorariosAsc)\n : horariosOrdenados.sort(this.comparaHorariosDesc)\n\n return horariosOrdenados\n },\n\n verificaHorariosConsecutivos(\n horarios: IHorario[],\n tamanhoJanelaSecundariaMinutos: number,\n ): boolean {\n if (horarios.length > 1) {\n const cdDoca: number = horarios[0].cdAgendamendoDocasDocas\n\n if (\n horarios.some((horario) => horario.cdAgendamendoDocasDocas !== cdDoca)\n ) {\n return false\n }\n\n let horariosOrdenados: IHorario[] = [...horarios]\n horariosOrdenados = horariosOrdenados.sort(this.comparaHorariosAsc)\n\n for (let i = 1; i < horariosOrdenados.length; i++) {\n const dtHora1: moment.Moment = moment(\n horariosOrdenados[i - 1].dtHora,\n 'YYYY-MM-DDTHH:mm:ss',\n )\n const dtHora2: moment.Moment = moment(\n horariosOrdenados[i].dtHora,\n 'YYYY-MM-DDTHH:mm:ss',\n )\n\n if (\n dtHora2.diff(dtHora1, 'minutes') !== tamanhoJanelaSecundariaMinutos\n ) {\n return false\n }\n }\n }\n\n return true\n },\n}\n\nexport default classificacaoHorarios\n","import React, { Dispatch, ReactElement, SetStateAction, useState } from 'react'\n\nimport { Form } from 'antd'\nimport { Rule } from 'antd/lib/form'\nimport TextArea from 'antd/lib/input/TextArea'\n\ninterface IProps {\n name: string\n label: string\n rows: number\n rules?: Rule[]\n minimumLength?: number\n length: number\n setLength: Dispatch>\n}\n\nconst TextBox = ({\n name,\n label,\n rows,\n rules,\n minimumLength,\n length,\n setLength,\n}: IProps): ReactElement => {\n return (\n <>\n \n setLength(e.target.value.length)}\n />\n \n\n {minimumLength && length < minimumLength ? (\n \n Digite mais {minimumLength - length} caracteres\n \n ) : null}\n \n )\n}\n\nexport default TextBox\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport React, { ReactElement, useContext, useEffect, useState } from 'react'\n\nimport { Button, Cascader, Col, Form, PageHeader, Result, Row } from 'antd'\nimport { CascaderValueType } from 'antd/lib/cascader'\nimport TextArea from 'antd/lib/input/TextArea'\nimport { SelectFieldAnt } from 'Components/Form'\nimport { SelectItemProps } from 'Components/Form/Select'\nimport TextBox from 'Components/Form/TextBox'\nimport ID_COMPONENTE from 'config/idComponente'\nimport buscaAgendamentoMultiplo from 'Helpers/agendamentoMultiplo'\nimport { STATUS_HORARIOS } from 'Models/docas/IHorario'\nimport moment from 'moment'\nimport { useForm } from 'react-hook-form'\nimport WS_DOCAS from 'Services/WS_DOCAS'\n\nimport {\n IAgendaAction,\n IAgendamentoMultiplo,\n IHorario,\n} from '../../../Models/docas'\nimport { DocasContext } from '../Context/context'\n\ninterface Iprops {\n horario: IHorario\n atualizaAgenda: (\n limparSelecao?: boolean,\n executandoAcao?: boolean,\n ) => Promise\n}\n\ninterface CascaderItem {\n value: number | string\n label: string\n disabled?: boolean\n children?: CascaderItem[]\n}\n\ninterface Justificativa {\n texto: string\n}\n\nconst ModalAlterarHorario = ({\n horario,\n atualizaAgenda,\n}: Iprops): ReactElement => {\n const hookForm = useForm()\n const { docasContext, setDocasContext } = useContext(DocasContext)\n const [result, setResult] = useState(0)\n const [resultError, setResultError] = useState('')\n const [value, setValue] = useState(null)\n const [options, setOptions] = useState()\n const [submiting, setSubmiting] = useState(false)\n const [tamanhoJustificativa, setTamanhoJustificativa] = useState(0)\n const [tamanhoMinimoJustificativa] = useState(10)\n const [agendamentoMultiplo, setAgendamentoMultiplo] =\n useState()\n const [selectTempoTotal, setSelectTempoTotal] = useState(\n [],\n )\n const [tempoTotal, setTempoTotal] = useState(1)\n\n useEffect(() => {\n const agendamento: IAgendamentoMultiplo | undefined =\n buscaAgendamentoMultiplo(horario, docasContext.agendamentosMultiplos)\n setAgendamentoMultiplo(agendamento)\n\n if (agendamento && agendamento.horarios.length > 1) {\n const opcoesTempo: SelectItemProps[] = []\n const tamanhoJanela: number =\n docasContext.armazemAtual?.tamanhoJanelaSecundaria ?? 60\n let tempoAtual: number = tamanhoJanela\n\n for (let i = 0; i < agendamento.horarios.length; i++) {\n if (tempoAtual <= 60) {\n opcoesTempo.push(\n tempoAtual % 60 === 0\n ? { value: tempoAtual.toString(), label: '1 hora' }\n : {\n value: tempoAtual.toString(),\n label: tempoAtual + ' minutos',\n },\n )\n } else {\n const horas: number = ~~(tempoAtual / 60) //Divisão inteira\n const minutos: number = tempoAtual % 60\n const opcao: SelectItemProps = {\n value: tempoAtual.toString(),\n label: horas + ' horas',\n }\n\n if (minutos !== 0) {\n opcao.label += ' e ' + minutos + ' minutos'\n }\n\n opcoesTempo.push(opcao)\n }\n\n tempoAtual += tamanhoJanela\n }\n\n setSelectTempoTotal(opcoesTempo)\n }\n }, [])\n\n useEffect(() => {\n const optionsAux: CascaderItem[] = []\n\n docasContext.armazemAtual?.agendamentoDocasJanelas?.map((janela) => {\n const docasAux: CascaderItem[] = []\n docasContext.armazemAtual?.agendamentoDocasDocas?.map((doca) => {\n const horarios = docasContext.horarios?.filter(\n (x) =>\n x.cdAgendamentoDocasJanela === janela.cdAgendamentoDocasJanela &&\n x.cdAgendamendoDocasDocas === doca.cdAgendamentoDocasDocas &&\n moment(x.dtHora) >= moment(),\n )\n\n const horariosAux: CascaderItem[] = []\n horarios?.map((horario) => {\n horariosAux.push({\n value: horario.cdAgendamentoDocasHorario,\n label: moment(horario.dtHora).format('HH:mm'),\n disabled: horario.horarioStatus !== 0 ? true : false,\n })\n })\n\n docasAux.push({\n value: doca.cdAgendamentoDocasDocas,\n label: doca.nomeDoca,\n disabled: horariosAux.length > 0 ? false : true,\n children: horariosAux,\n })\n })\n\n optionsAux.push({\n value: janela.cdAgendamentoDocasJanela,\n label: janela.nomeJanela,\n disabled: docasAux.length > 0 ? false : true,\n children: docasAux,\n })\n })\n setOptions(optionsAux)\n }, [docasContext])\n\n const onChange = (value: CascaderValueType) => {\n if (value) {\n setValue(value)\n }\n }\n\n useEffect(() => {\n if (result === 200) {\n atualizaAgenda()\n }\n }, [result])\n\n const handleSave = async (justificativa: Justificativa) => {\n setSubmiting(true)\n\n const tamanhoJanela: number =\n docasContext.armazemAtual?.tamanhoJanelaSecundaria ?? 60\n\n if (value) {\n const result = await WS_DOCAS.agenda.agendaTrocaHorario(\n ID_COMPONENTE.DOCAS,\n [horario.cdAgendamentoDocasHorario],\n [parseInt(value[2].toString())],\n justificativa.texto,\n horario.placa,\n horario.nomeEntidade,\n horario.cdEntidade,\n horario.cdVeiculo,\n agendamentoMultiplo?.horarios ? true : false,\n //agendamentoMultiplo?.horarios ? agendamentoMultiplo.horarios.length : 1,\n tempoTotal / tamanhoJanela >= 1 ? tempoTotal / tamanhoJanela : 1,\n tamanhoJanela,\n )\n if (result.status === 200) {\n // if (agendamentoMultiplo) {\n // agendamentoMultiplo.horarios = agendamentoMultiplo.horarios.filter(\n // (f) =>\n // f.cdAgendamentoDocasHorario !== horario.cdAgendamentoDocasHorario,\n // )\n\n // const novosAgendamentos: IHorario[] = []\n // const tamanhoJanela: number =\n // docasContext.armazemAtual?.tamanhoJanelaSecundaria ?? 60\n // for (let i = tamanhoJanela; i < tempoTotal; i += tamanhoJanela) {\n // const agendamento: IHorario | undefined =\n // agendamentoMultiplo.horarios.pop()\n\n // if (agendamento) {\n // novosAgendamentos.push(agendamento)\n // }\n // }\n\n // if (agendamentoMultiplo.horarios.length > 0) {\n // const itens: IAgendaAction[] = []\n\n // agendamentoMultiplo.horarios.map((item) => {\n // itens.push({\n // cdAgendamentoDocasHorario: item.cdAgendamentoDocasHorario,\n // horarioStatus: STATUS_HORARIOS.CANCELADO,\n // cdCandidatoAgendamento: item.cdCandidatoAgendamento!,\n // agendamentoMultiplo: true,\n // placaVeiculo: item.placa,\n // transportadora: item.nomeTransportadora,\n // cdEntidade: item.cdEntidade,\n // cdVeiculo: item.cdVeiculo,\n // })\n // })\n\n // await WS_DOCAS.agenda.executaAcao(ID_COMPONENTE.DOCAS, itens)\n // }\n\n // if (novosAgendamentos.length > 0) {\n // const numDocas =\n // docasContext.armazemAtual &&\n // docasContext.armazemAtual.agendamentoDocasDocas\n // ? docasContext.armazemAtual.agendamentoDocasDocas.length\n // : 1\n\n // let cdHorarioAtual: number =\n // parseInt(value[2].toString()) + numDocas\n\n // for (let i = 0; i < novosAgendamentos.length; i++) {\n // await WS_DOCAS.agenda.agendaTrocaHorario(\n // ID_COMPONENTE.DOCAS,\n // [novosAgendamentos[i].cdAgendamentoDocasHorario],\n // [cdHorarioAtual],\n // justificativa.texto,\n // horario.placa,\n // horario.nomeEntidade,\n // horario.cdEntidade,\n // horario.cdVeiculo,\n // )\n\n // cdHorarioAtual += numDocas\n // }\n // }\n // }\n\n setResult(200)\n } else {\n setResult(400)\n setResultError(result.statusText)\n }\n }\n }\n\n return (\n <>\n \n <>\n {result === 0 ? (\n <>\n
\n \n \n Horário atual:{' '}\n {moment(horario.dtHora).format('DD/MM/YYYY - HH:mm')}\n \n \n \n \n \n \n \n \n \n {agendamentoMultiplo &&\n agendamentoMultiplo.horarios.length > 1 ? (\n \n \n \n setTempoTotal(parseInt(valor))\n }\n rules={[\n { required: true, message: 'Campo obrigatório' },\n ]}\n />\n \n \n ) : null}\n \n \n \n \n \n\n \n \n \n Salvar\n \n \n \n
\n \n ) : (\n <>\n {result === 200 ? (\n \n ) : null}\n\n {result !== 200 ? (\n \n ) : null}\n \n )}\n \n
\n \n )\n}\n\nexport default ModalAlterarHorario\n","import { AxiosResponse } from 'axios'\nimport hosts from 'config/microServices'\nimport IMensagem from 'Models/chat/IMensagem'\nimport IUsuario from 'Models/docas/Usuario'\nimport ApiService from 'Services/ApiService'\nimport {\n ServiceCreateResponse,\n ServiceListResponse,\n} from 'Types/ServiceResponse'\n\nconst mensagens = {\n getMensagemByHorario: async (cdHorario: number) => {\n const result: AxiosResponse> =\n await ApiService().get>(\n `${hosts.WS_CHAT}/mensagem_horario?cdHorario=${cdHorario}`,\n )\n\n return result\n },\n\n postMensagem: async (\n cdHorario: number,\n mensagem: string,\n placaVeiculo: string,\n transportadora: string,\n cdEntidade?: number,\n cdVeiculo?: number,\n cdDestinatario?: string[],\n cdAgendamentoDocasArmazem?: number,\n cdAgendamentoDocasArmazemConfig?: number,\n cdAgendamentoDocasDocas?: number,\n ) => {\n const destinatariosAux = cdDestinatario?.map((x) => parseInt(x))\n\n const result: AxiosResponse =\n await ApiService().post(\n `${hosts.WS_CHAT}/mensagem`,\n {\n cdHorario,\n cdDestinatarios: destinatariosAux,\n mensagem,\n placaVeiculo,\n transportadora,\n cdEntidade,\n cdVeiculo,\n cdAgendamentoDocasArmazem,\n cdAgendamentoDocasDocas,\n cdAgendamentoDocasArmazemConfig,\n },\n )\n\n return result\n },\n}\n\nexport default mensagens\n","import { AxiosResponse } from 'axios'\nimport hosts from 'config/microServices'\nimport IUsuarioChat from 'Models/chat/IUsuarioChat'\nimport ApiService from 'Services/ApiService'\nimport { ServiceListResponse } from 'Types/ServiceResponse'\n\nconst usuarios = {\n getUsuario: async () => {\n const result: AxiosResponse> =\n await ApiService().get>(\n `${hosts.WS_CHAT}/usuario`,\n )\n\n return result\n },\n}\n\nexport default usuarios\n","import mensagens from './mensagens'\nimport usuarios from './usuarios'\n\nexport default {\n mensagens,\n usuarios,\n}\n","import React, {\n Dispatch,\n ReactElement,\n SetStateAction,\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\n\nimport { SendOutlined, UsergroupAddOutlined } from '@ant-design/icons'\nimport {\n Badge,\n Button,\n Col,\n Comment,\n Dropdown,\n Layout,\n Mentions,\n Menu,\n Row,\n Select,\n Tooltip,\n} from 'antd'\nimport { Content, Footer } from 'antd/lib/layout/layout'\nimport ILeitura from 'Models/chat/ILeitura'\nimport IMensagem from 'Models/chat/IMensagem'\nimport { IDoca, IHorario } from 'Models/docas'\nimport moment from 'moment'\nimport slugify from 'react-slugify'\nimport WS_CHAT from 'Services/WS_CHAT'\n\nimport IUsuario from '../../../Models/docas/Usuario'\nimport { DocasContext } from '../Context/context'\n\ninterface IProps {\n horario: IHorario\n usuariosSelected: string[] | undefined\n setUsuariosSelected: Dispatch>\n}\nconst ChatDetalhes = ({\n horario,\n usuariosSelected,\n setUsuariosSelected,\n}: IProps): ReactElement => {\n const { docasContext } = useContext(DocasContext)\n const [mensagem, setMensagem] = useState('')\n const [mensagens, setMensagens] = useState()\n const [usuarios, setUsuarios] = useState()\n\n let timerChat: any\n const messagesEndRef = useRef(null)\n const { Option } = Select\n\n const userDeselectDropDown = (props: any) => {\n const usersAux = usuariosSelected?.filter((x) => x !== props.key)\n setUsuariosSelected(usersAux)\n }\n\n const menu = useCallback(\n () => (\n \n {usuarios?.map((user, i) => (\n {user.nome}\n ))}\n \n ),\n [usuariosSelected, usuarios, usuariosSelected?.length],\n )\n\n const menuLeitura = useCallback(\n (leituras: ILeitura[]) => (\n \n \n {leituras\n ?.filter((x) => !x.dtRecebido && !x.dtLeitura)\n .map((leitura, i) => (\n {leitura.nome}\n ))}\n \n \n {leituras\n ?.filter((x) => x.dtRecebido && !x.dtLeitura)\n .map((leitura, i) => (\n \n {leitura.nome}\n \n ))}\n \n \n {leituras\n ?.filter((x) => x.dtLeitura)\n .map((leitura, i) => (\n \n {leitura.nome}\n \n ))}\n \n \n ),\n [],\n )\n\n const handleChangeMensagem = (text: string) => {\n setMensagem(text.replace('\\n', ''))\n }\n\n const getMensagens = async () => {\n const { data } = await WS_CHAT.mensagens.getMensagemByHorario(\n horario.cdAgendamentoDocasHorario,\n )\n if (data.items && data.items.length) {\n setMensagens(data.items)\n }\n\n if (data.usuarios && data.usuarios.length) {\n setUsuarios(data.usuarios)\n }\n }\n\n useEffect(() => {\n setInterval(() => {\n getMensagens()\n }, 3000)\n }, [])\n\n const scrollToBottom = () => {\n messagesEndRef.current?.scrollIntoView({ behavior: 'smooth' })\n }\n\n const enviaMensagem = async () => {\n const result = await WS_CHAT.mensagens.postMensagem(\n horario.cdAgendamentoDocasHorario,\n mensagem,\n horario.placa,\n horario.nomeEntidade,\n horario.cdEntidade,\n horario.cdVeiculo,\n usuariosSelected,\n docasContext.armazemAtual?.cdAgendamentoDocasArmazem,\n docasContext.armazemAtual?.cdAgendamentoDocasArmazemConfig,\n horario.cdAgendamendoDocasDocas,\n )\n const mensagensAux = mensagens\n mensagensAux?.push({\n nomeOrigem: '...enviando',\n comentario: mensagem,\n })\n getMensagens()\n setMensagens(mensagensAux)\n setUsuariosSelected([])\n setMensagem('')\n scrollToBottom()\n }\n\n const userSelect = (props: any) => {\n const usersAux = usuariosSelected || []\n usersAux.push(props.key)\n setUsuariosSelected(usersAux)\n }\n\n return (\n \n \n {mensagens?.map((mensagem, index) => {\n return (\n \n {/* */}\n \n \n \n {mensagem.nomeOrigem}\n }\n content={\n

{mensagem.comentario}

\n }\n datetime={\n \n {moment(mensagem.dtCadastro).fromNow()}\n \n }\n />\n \n \n {/* \n {mensagem?.leituras?.length ? (\n <>\n {mensagem.leituras?.filter((x) => !x.dtLeitura)\n .length ? (\n <>\n \n \n \n \n \n ) : (\n <>\n \n \n \n \n \n )}\n \n ) : (\n \n \n \n )}\n */}\n \n
\n \n \n )\n })}\n
\n \n
\n \n \n {\n if (event.key === 'Enter') {\n enviaMensagem()\n }\n }}\n >\n {usuarios?.map((user) => (\n \n ))}\n \n \n \n \n \n \n \n \n \n \n \n
\n \n )\n}\n\nexport default ChatDetalhes\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport React, { ReactElement, useContext, useEffect, useState } from 'react'\n\nimport { Button, Col, Descriptions, Input, Row } from 'antd'\nimport { AxiosResponse } from 'axios'\nimport ID_COMPONENTE from 'config/idComponente'\nimport { ApplicationContext } from 'Context'\nimport IHorario, { STATUS_HORARIOS } from 'Models/docas/IHorario'\nimport WsDocasService from 'Services/WS_DOCAS'\nimport { ServiceUpdateResponse } from 'Types/ServiceResponse'\n\ninterface IProps {\n horarioDetalhes: IHorario\n}\n\nconst HorarioDetalhes = ({ horarioDetalhes }: IProps): ReactElement => {\n const { applicationContext } = useContext(ApplicationContext)\n const [observacao, setObservacao] = useState(\n horarioDetalhes.observacaoCandidato,\n )\n const [salvandoObservacao, setSalvandoObservacao] = useState(false)\n\n const salvaObservacao = async () => {\n setSalvandoObservacao(true)\n\n const response: AxiosResponse =\n await WsDocasService.candidatos.atualizaObservacao(\n ID_COMPONENTE.DOCAS,\n horarioDetalhes.cdCandidatoAgendamento!,\n observacao,\n )\n\n if (response.status === 200 && response.data.statusCode === 501) {\n horarioDetalhes.observacaoCandidato = observacao\n }\n\n window.alert(response.data.message)\n\n setSalvandoObservacao(false)\n }\n\n return (\n \n \n {horarioDetalhes.documento}{' '}\n \n \n {horarioDetalhes.horarioStatus === STATUS_HORARIOS.APROVADO &&\n 'APROVADO'}\n {horarioDetalhes.horarioStatus === STATUS_HORARIOS.RESERVADO &&\n 'RESERVADO'}\n \n \n {horarioDetalhes.placa}{' '}\n \n \n {horarioDetalhes.nomeMotorista}{' '}\n \n \n {horarioDetalhes.peso}{' '}\n \n \n \n \n setObservacao(e.target.value)}\n />\n \n\n \n \n Salvar\n \n \n \n \n \n )\n}\n\nexport default HorarioDetalhes\n","const TIPO_USUARIO = {\n EXPEDICAO: 2,\n PORTARIA: 3,\n GESTOR_DOCAS: 5,\n TRANSPORTADORA: 6,\n}\n\nexport default TIPO_USUARIO\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable react/display-name */\nimport React, {\n Dispatch,\n ReactElement,\n SetStateAction,\n useContext,\n useEffect,\n useState,\n} from 'react'\n\nimport { Button, Col, Form, Input, Row, Select, Table } from 'antd'\nimport { SelectValue } from 'antd/lib/select'\nimport ID_COMPONENTE from 'config/idComponente'\nimport MACRO_CODIGO from 'config/macroCodigo'\nimport TIPO_MACRO from 'config/tipoMacro'\nimport TIPO_USUARIO from 'config/tipoUsuario'\nimport { ApplicationContext } from 'Context'\nimport buscaAgendamentoMultiplo from 'Helpers/agendamentoMultiplo'\nimport { IPerfil, Roles } from 'Models/auth'\nimport { IHorario, IMacro } from 'Models/docas'\nimport { STATUS_HORARIOS } from 'Models/docas/IHorario'\nimport moment from 'moment'\nimport WsDocasService from 'Services/WS_DOCAS'\nimport { ServiceListResponse } from 'Types/ServiceResponse'\n\nimport { DocasContext } from '../Context/context'\n\ninterface IProps {\n macros: IMacro[]\n horario: IHorario\n horarioDetalhes: IHorario | undefined\n setHorarioDetalhes: Dispatch>\n setLoading: Dispatch>\n cdMacroTipo?: number\n atualizaAgenda: (\n limparSelecao?: boolean,\n executandoAcao?: boolean,\n ) => Promise\n}\nconst MacrosDetalhes = ({\n macros,\n horario,\n horarioDetalhes,\n setHorarioDetalhes,\n setLoading,\n cdMacroTipo,\n atualizaAgenda,\n}: IProps): ReactElement => {\n const [formulario] = Form.useForm()\n const [envia, setEnvia] = useState(false)\n const [macro, setMacro] = useState()\n const [listaMacros, setListaMacros] = useState([])\n const [selectMacroItens, setSelectMacroItens] = useState([])\n const [justificativa, setJustificativa] = useState('')\n const [justificativaObrigatoria, setJustificativaObrigatoria] = useState<\n boolean | undefined\n >(true)\n const [temMacro, setTemMacro] = useState(horario.temMacro)\n const { applicationContext } = useContext(ApplicationContext)\n const { docasContext, setDocasContext } = useContext(DocasContext)\n const { Option } = Select\n const [emitindoMacro, setEmitindoMacro] = useState(false)\n\n useEffect(() => {\n if (macros) {\n setSelectMacroItens(macros)\n }\n }, [])\n\n useEffect(() => {\n if (horarioDetalhes) {\n setListaMacros(horarioDetalhes.macrosCandidato)\n }\n }, [horarioDetalhes])\n\n useEffect(() => {\n if (cdMacroTipo === TIPO_MACRO.AVANCADO) {\n let proximasMacros: IMacro[] = []\n const gruposUsuario: number[] | undefined =\n applicationContext.usuarioAtual?.perfis.map((role: IPerfil) => role.id)\n\n if (listaMacros.length > 0) {\n const ultimaMacro: IMacro | undefined = getUltimaMacro()\n\n if (ultimaMacro) {\n proximasMacros = macros.filter((f) =>\n ultimaMacro.listCdMacroProxima.includes(f.cdMacro!),\n )\n }\n } else {\n proximasMacros = macros.filter((f) => f.primeiraMacro)\n }\n\n if (gruposUsuario) {\n for (let i = 0; i < proximasMacros.length; i++) {\n let removeMacro = true\n\n for (\n let j = 0;\n j < proximasMacros[i].listIdRolesEmissao.length;\n j++\n ) {\n if (\n gruposUsuario.includes(proximasMacros[i].listIdRolesEmissao[j])\n ) {\n removeMacro = false\n break\n }\n }\n\n if (removeMacro) {\n proximasMacros = proximasMacros.filter(\n (f) => f.cdMacro !== proximasMacros[i].cdMacro,\n )\n }\n }\n }\n\n setSelectMacroItens(proximasMacros)\n }\n }, [listaMacros])\n\n const getUltimaMacro = () => {\n let ultimaMacro: IMacro | undefined = undefined\n\n for (let i = listaMacros.length - 1; i >= 0 && !ultimaMacro; i--) {\n if (listaMacros[i].cdMacro !== MACRO_CODIGO.OUTROS) {\n ultimaMacro = listaMacros[i]\n }\n }\n\n if (ultimaMacro) {\n const proximasMacros: number[] | undefined = macros.find(\n (f) => f.cdMacro === ultimaMacro!.cdMacro,\n )?.listCdMacroProxima\n\n if (proximasMacros) {\n ultimaMacro.listCdMacroProxima = proximasMacros\n }\n }\n\n return ultimaMacro\n }\n\n const handleChangeMacro = (value: SelectValue) => {\n const cdMacro = value as number\n\n setMacro(cdMacro)\n setJustificativaObrigatoria(\n macros.find((f) => f.cdMacro === cdMacro)?.justObrigatoria,\n )\n\n if (justificativa.length >= 20 && value) {\n setEnvia(true)\n } else {\n setEnvia(false)\n }\n }\n\n const handleChangeJustificativa = (e: {\n target: { value: React.SetStateAction }\n }) => {\n setJustificativa(e.target.value.toString().trimStart())\n if (e.target.value.toString().trimStart().length >= 20 && macro) {\n setEnvia(true)\n } else {\n setEnvia(false)\n }\n }\n\n const executaMacro = async () => {\n if (macro) {\n setEnvia(false)\n setEmitindoMacro(true)\n\n const agendamentoMultiplo = buscaAgendamentoMultiplo(\n horario,\n docasContext.agendamentosMultiplos,\n )\n const horarioPrincipal =\n agendamentoMultiplo && agendamentoMultiplo.horarios.length > 1\n ? agendamentoMultiplo.horarios[0]\n : horario\n\n const { data } = await WsDocasService.macro.executaMacro(\n ID_COMPONENTE.DOCAS,\n {\n cdArmazem: docasContext.cdArmazemAtual,\n cdHorario: horarioPrincipal.cdAgendamentoDocasHorario,\n cdCandidato: horarioPrincipal.cdCandidatoAgendamento,\n cdMacro: macro,\n justificativa,\n placaVeiculo: horario.placa,\n transportadora: horario.nomeEntidade,\n cdEntidade: horario.cdEntidade,\n cdVeiculo: horario.cdVeiculo,\n cdViagem: horario.cdViagem,\n },\n )\n\n if (data.message !== 'Sucesso') {\n window.alert(`Erro no registro de macro. ${data.message}`)\n }\n\n atualizaAgenda()\n\n const getDetalhes = async (corMacro: string | undefined) => {\n setLoading(true)\n const { data } = await WsDocasService.agenda.getDetalhes(\n ID_COMPONENTE.DOCAS,\n horario.cdAgendamentoDocasHorario,\n )\n\n const detalhes = data.data\n\n if (detalhes) {\n detalhes.temMacro = true\n detalhes.corMacro = corMacro\n setHorarioDetalhes(detalhes)\n }\n\n setLoading(false)\n }\n\n let corMacro\n\n if (macro !== MACRO_CODIGO.OUTROS) {\n corMacro = macros.find((f) => f.cdMacro === macro)?.corMacro\n } else {\n const ultimaMacro = getUltimaMacro()\n corMacro = ultimaMacro\n ? macros.find((f) => f.cdMacro === ultimaMacro.cdMacro)?.corMacro\n : macros.find((f) => f.cdMacro === macro)?.corMacro\n }\n\n getDetalhes(corMacro)\n setMacro(undefined)\n setJustificativa('')\n\n if (!temMacro) {\n setTemMacro(true)\n }\n\n const atualizacaoHorarios = agendamentoMultiplo\n ? atualizaCorMacroAgendamentoMultiplo(\n agendamentoMultiplo.horarios.map(\n (m) => m.cdAgendamentoDocasHorario,\n ),\n corMacro,\n )\n : docasContext.horarios!\n const atualizacaoHorario = atualizacaoHorarios.find(\n (f) =>\n f.cdAgendamentoDocasHorario ===\n horarioPrincipal.cdAgendamentoDocasHorario,\n )!\n\n if (macro !== MACRO_CODIGO.OUTROS) {\n atualizacaoHorario.cdMacroExcetoOutros = macro\n atualizacaoHorario.cdMacroUsuarioExcetoOutros =\n applicationContext.usuarioAtual!.cdUsuario\n }\n\n atualizacaoHorario.cdMacro = macro\n atualizacaoHorario.cdMacroUsuario =\n applicationContext.usuarioAtual!.cdUsuario\n atualizacaoHorario.temMacro = true\n atualizacaoHorario.corMacro = corMacro\n\n const i = atualizacaoHorarios.findIndex(\n (f) =>\n f.cdAgendamentoDocasHorario ==\n atualizacaoHorario.cdAgendamentoDocasHorario,\n )\n atualizacaoHorarios[i] = atualizacaoHorario\n\n const atualizacaoDocasContext = {\n ...docasContext,\n horarios: atualizacaoHorarios,\n }\n\n if (cdMacroTipo === TIPO_MACRO.AVANCADO && !docasContext.avisoPiscante) {\n atualizacaoDocasContext.atualizarAvisoPiscante = true\n }\n\n setDocasContext(atualizacaoDocasContext)\n setEmitindoMacro(false)\n }\n }\n\n const atualizaCorMacroAgendamentoMultiplo = (\n cdHorarios: number[],\n corMacro?: string,\n ) => {\n const atualizacaoHorarios = docasContext.horarios!\n\n for (let j = 0; j < cdHorarios.length; j++) {\n const i = atualizacaoHorarios.findIndex(\n (f) => f.cdAgendamentoDocasHorario == cdHorarios[j],\n )\n atualizacaoHorarios[i].corMacro = corMacro\n }\n\n return atualizacaoHorarios\n }\n\n return (\n <>\n {!cdMacroTipo ||\n cdMacroTipo !== 4 ||\n (cdMacroTipo === 4 &&\n selectMacroItens.length > 0 &&\n (!temMacro || horario.horarioStatus === STATUS_HORARIOS.APROVADO)) ? (\n
\n \n \n \n \n {selectMacroItens.length > 0\n ? selectMacroItens.map((m) => (\n \n ))\n : []}\n \n \n \n \n \n \n \n \n \n executaMacro()}\n loading={emitindoMacro}\n >\n Emitir macro\n \n \n \n
\n ) : selectMacroItens.length === 0 ? (\n applicationContext.usuarioAtual?.perfis.some(\n (s) => s.id === TIPO_USUARIO.GESTOR_DOCAS,\n ) ? (\n
O seu usuário não está habilitado para emitir macros.
\n ) : (\n
\n Aguarde um usuário do grupo{' '}\n {applicationContext.usuarioAtual?.perfis.some(\n (s) => s.id === TIPO_USUARIO.EXPEDICAO,\n )\n ? 'Portaria'\n : 'Expedição'}{' '}\n emitir uma nova macro.\n
\n )\n ) : horario.horarioStatus !== STATUS_HORARIOS.APROVADO ? (\n applicationContext.usuarioAtual?.perfis.some(\n (s) =>\n s.id === TIPO_USUARIO.EXPEDICAO ||\n s.id === TIPO_USUARIO.GESTOR_DOCAS,\n ) ? (\n
\n É necessário aprovar o agendamento antes de emitir a próxima macro.\n
\n ) : (\n
\n Aguarde um usuário do grupo Expedição aprovar o agendamento.\n
\n )\n ) : (\n
\n O fluxo de macros já foi concluído, não é possível emitir novas\n macros.\n
\n )}\n \n \n {text},\n },\n {\n title: 'Justificativa',\n dataIndex: 'justificativa',\n key: 'justificativa',\n render: (text: string) => {text},\n },\n ]}\n dataSource={listaMacros}\n pagination={false}\n size=\"small\"\n sticky\n scroll={{ y: 350 }}\n />\n \n \n \n )\n}\n\nexport default MacrosDetalhes\n","import React, {\n Dispatch,\n ReactElement,\n SetStateAction,\n useContext,\n useState,\n useEffect,\n} from 'react'\n\nimport { Button, Col, Form, PageHeader, Row } from 'antd'\nimport TextArea from 'antd/lib/input/TextArea'\nimport TextBox from 'Components/Form/TextBox'\nimport ID_COMPONENTE from 'config/idComponente'\nimport { ApplicationContext } from 'Context'\nimport WsDocasService from 'Services/WS_DOCAS'\n\ninterface IProps {\n cdAlertaOcorrencia: number\n nomeAlerta: string\n setJustificarAlerta: Dispatch>\n justificativaAnterior?: string\n}\n\ninterface Justificativa {\n texto: string\n}\n\nconst ModalJustificativaAlerta = ({\n cdAlertaOcorrencia,\n nomeAlerta,\n setJustificarAlerta,\n justificativaAnterior,\n}: IProps): ReactElement => {\n const [tamanhoJustificativa, setTamanhoJustificativa] = useState(\n justificativaAnterior?.length ?? 0,\n )\n const [tamanhoMinimoJustificativa] = useState(10)\n const [formulario] = Form.useForm()\n const { applicationContext, setApplicationContext } =\n useContext(ApplicationContext)\n\n useEffect(() => {\n if (justificativaAnterior) {\n formulario.setFieldsValue({ texto: justificativaAnterior })\n }\n }, [])\n\n const justificaAlerta = async (justificativa: Justificativa) => {\n const { data } = await WsDocasService.alerta.justify(ID_COMPONENTE.DOCAS, {\n cdAlertaOcorrencia: cdAlertaOcorrencia,\n cdUsuario: applicationContext.usuarioAtual?.cdUsuario ?? 0,\n justificativa: justificativa.texto,\n })\n\n if (data?.statusCode === 200 || data?.statusCode === 501) {\n setJustificarAlerta(false)\n }\n }\n\n return (\n
\n \n Justificar\n ,\n ]}\n >\n \n \n \n \n \n \n \n )\n}\n\nexport default ModalJustificativaAlerta\n","import React, {\n Dispatch,\n ReactElement,\n SetStateAction,\n useContext,\n useEffect,\n useState,\n} from 'react'\n\nimport { FormOutlined } from '@ant-design/icons'\nimport { Col, Row, Skeleton, Table } from 'antd'\nimport ID_COMPONENTE from 'config/idComponente'\nimport { IAlertaOcorrencia, IHorario } from 'Models/docas'\nimport WsDocasService from 'Services/WS_DOCAS'\n\ninterface IProps {\n horario: IHorario\n setCdAlertaOcorrencia: Dispatch>\n setNomeAlerta: Dispatch>\n setJustificarAlerta: Dispatch>\n setJustificativaAnterior: Dispatch>\n}\n\nconst ModalVisualizacaoAlertas = ({\n horario,\n setCdAlertaOcorrencia,\n setNomeAlerta,\n setJustificarAlerta,\n setJustificativaAnterior,\n}: IProps): ReactElement => {\n const [alertas, setAlertas] = useState([])\n const [carregandoAlertas, setCarregandoAlertas] = useState(true)\n\n useEffect(() => {\n getAlertas()\n }, [])\n\n const getAlertas = async () => {\n const { data } = await WsDocasService.alerta.getList(\n ID_COMPONENTE.DOCAS,\n horario.cdAgendamentoDocasHorario,\n )\n\n if (data.items) {\n setAlertas(data.items)\n }\n\n setCarregandoAlertas(false)\n }\n\n const justificaAlerta = (cdAlertaOcorrencia: number) => {\n setCdAlertaOcorrencia(cdAlertaOcorrencia)\n\n const alerta = alertas.find(\n (f) => f.cdAlertaOcorrencia == cdAlertaOcorrencia,\n )\n\n if (alerta) {\n setNomeAlerta(alerta.nome)\n\n if (alerta.justificativa) {\n setJustificativaAnterior(alerta.justificativa)\n }\n }\n\n setJustificarAlerta(true)\n }\n\n return (\n \n \n \n (\n justificaAlerta(cdAlertaOcorrencia)}\n >\n \n
\n ),\n },\n {\n title: 'Nome',\n key: 'nome',\n dataIndex: 'nome',\n width: '230px',\n },\n {\n title: 'Data de Abertura',\n key: 'dtAbertura',\n dataIndex: 'dtAbertura',\n width: '145px',\n },\n {\n title: 'Data de Fechamento',\n key: 'dtFechamento',\n dataIndex: 'dtFechamento',\n width: '150px',\n },\n {\n title: 'Justificativa',\n key: 'justificativa',\n dataIndex: 'justificativa',\n width: '250px',\n },\n {\n title: 'Justificado Por',\n key: 'usuarioJustificativa',\n dataIndex: 'usuarioJustificativa',\n },\n ]}\n dataSource={alertas}\n />\n \n \n \n )\n}\n\nexport default ModalVisualizacaoAlertas\n","import React, { ReactElement, useState } from 'react'\n\nimport { IHorario } from 'Models/docas'\n\nimport ModalJustificativaAlerta from './ModalJustificativaAlerta'\nimport ModalVisualizacaoAlertas from './ModalVisualizacaoAlertas'\n\ninterface IProps {\n horario: IHorario\n}\n\nconst ModalAlertas = ({ horario }: IProps): ReactElement => {\n const [justificarAlerta, setJustificarAlerta] = useState(false)\n const [cdAlertaOcorrencia, setCdAlertaOcorrencia] = useState(0)\n const [nomeAlerta, setNomeAlerta] = useState('')\n const [justificativaAnterior, setJustificativaAnterior] = useState()\n\n return (\n <>\n {justificarAlerta ? (\n \n ) : (\n \n )}\n \n )\n}\n\nexport default ModalAlertas\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable react/display-name */\nimport React, {\n Dispatch,\n ReactElement,\n SetStateAction,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport {\n SendOutlined,\n UsergroupAddOutlined,\n CheckOutlined,\n} from '@ant-design/icons'\nimport {\n Tabs,\n Descriptions,\n Skeleton,\n Table,\n Row,\n Col,\n Form,\n Input,\n Select,\n Button,\n Layout,\n Mentions,\n Dropdown,\n Menu,\n Comment,\n Tooltip,\n Spin,\n Badge,\n} from 'antd'\nimport { RequiredMark } from 'antd/lib/form/Form'\nimport { SelectValue } from 'antd/lib/select'\nimport ID_COMPONENTE from 'config/idComponente'\nimport MACRO_CODIGO from 'config/macroCodigo'\nimport { ApplicationContext } from 'Context'\nimport { format } from 'date-fns'\nimport ILeitura from 'Models/chat/ILeitura'\nimport IMensagem from 'Models/chat/IMensagem'\nimport moment from 'moment'\nimport slugify from 'react-slugify'\nimport WS_CHAT from 'Services/WS_CHAT'\nimport WsDocasService from 'Services/WS_DOCAS'\n\nimport { ICandidato, IHorario, IMacro } from '../../../Models/docas'\nimport { STATUS_HORARIOS } from '../../../Models/docas/IHorario'\nimport IUsuario from '../../../Models/docas/Usuario'\nimport FormChecklist from '../Checklist/Form'\nimport { DocasContext } from '../Context/context'\nimport ChatDetalhes from '../Detalhes/ChatDetalhes'\nimport HorarioDetalhes from '../Detalhes/HorarioDetalhes'\nimport MacrosDetalhes from '../Detalhes/MacrosDetalhes'\nimport ModalAlertas from './ModalAlertas'\n\nconst { TabPane } = Tabs\nconst { TextArea } = Input\nconst { Footer, Content } = Layout\ninterface IProps {\n horario: IHorario\n startTab: number\n cdMacroTipo?: number\n setHorarioPrincipal: Dispatch>\n atualizaAgenda: (\n limparSelecao?: boolean,\n executandoAcao?: boolean,\n ) => Promise\n}\n\nconst ModalDetalhes = ({\n horario,\n startTab,\n cdMacroTipo,\n setHorarioPrincipal,\n atualizaAgenda,\n}: IProps): ReactElement => {\n const [horarioDetalhes, setHorarioDetalhes] = useState()\n const [, setCandidatoDetalhes] = useState()\n const [loading, setLoading] = useState(false)\n const [activeTab, setActiveTab] = useState(startTab.toString())\n const { docasContext, setDocasContext } = useContext(DocasContext)\n const [form] = Form.useForm()\n const [formChat] = Form.useForm()\n const [requiredMark, setRequiredMarkType] = useState('optional')\n const [usuariosSelected, setUsuariosSelected] = useState()\n const [macros, setMacros] = useState([])\n\n useEffect(() => {\n const getDetalhes = async () => {\n setLoading(true)\n const { data } = await WsDocasService.agenda.getDetalhes(\n ID_COMPONENTE.DOCAS,\n horario.cdAgendamentoDocasHorario,\n )\n\n setHorarioDetalhes(data.data)\n\n const response = await WsDocasService.macro.getList(\n ID_COMPONENTE.DOCAS,\n docasContext.cdArmazemAtual,\n )\n\n if (response?.data?.items) {\n setMacros(response.data.items)\n }\n\n setLoading(false)\n }\n\n getDetalhes()\n }, [])\n\n useEffect(() => {\n if (horario.cdCandidatoAgendamento) {\n const getDetalhes = async () => {\n if (horarioDetalhes) {\n setLoading(true)\n\n const { data } = await WsDocasService.candidatos.getDetalhes(\n ID_COMPONENTE.DOCAS,\n horario.cdCandidatoAgendamento!,\n )\n if (data.items && data.items[0]) {\n setCandidatoDetalhes(data.items[0])\n }\n\n setHorarioPrincipal(horarioDetalhes)\n setLoading(false)\n }\n }\n\n getDetalhes()\n }\n }, [horarioDetalhes])\n\n const handleChangeTab = (key: string, e: any) => {\n setActiveTab(key)\n }\n\n return (\n \n \n \n {horarioDetalhes && (\n \n )}\n \n \n \n {macros?.length > 0 ? (\n \n ) : null}\n \n \n \n \n \n \n \n {/* \n \n \n \n \n \n */}\n \n )\n}\n\nexport default ModalDetalhes\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport React, { ReactElement, useContext, useEffect, useState } from 'react'\n\nimport 'react-tooltip/dist/react-tooltip.css'\n\nimport {\n StopOutlined,\n MoreOutlined,\n WarningOutlined,\n CommentOutlined,\n} from '@ant-design/icons'\nimport {\n Tag,\n Menu,\n Row,\n Col,\n Modal,\n Spin,\n Button,\n Dropdown,\n Typography,\n Card,\n} from 'antd'\nimport MacrosIcon from 'Assets/macro.svg'\nimport ID_COMPONENTE from 'config/idComponente'\nimport TIPO_MACRO from 'config/tipoMacro'\nimport { ApplicationContext } from 'Context'\nimport buscaAgendamentoMultiplo from 'Helpers/agendamentoMultiplo'\nimport classificacaoHorarios from 'Helpers/classificacaoHorarios'\nimport Claims from 'Hooks/usePermissions/Claims'\nimport usePermissions from 'Hooks/usePermissions/usePermissions'\nimport { IPerfil, Roles } from 'Models/auth'\nimport moment from 'moment'\nimport { useSnackbar } from 'react-simple-snackbar'\nimport { Tooltip } from 'react-tooltip'\nimport WS_DOCAS from 'Services/WS_DOCAS'\nimport swal from 'sweetalert'\nimport { MsgSuccessOptions } from 'Types/SnackbarTypes'\n\nimport {\n IAgendaAction,\n IAlertaTipo,\n ICandidato,\n IHorario,\n IMacro,\n} from '../../../Models/docas'\nimport { STATUS_HORARIOS } from '../../../Models/docas/IHorario'\nimport { DocasContext } from '../Context/context'\nimport ModalAlterarHorario from '../Modais/ModalAlterarHorario'\nimport ModalDetalhes from '../Modais/ModalDetalhes'\n\nconst { Paragraph } = Typography\n\ninterface IProps {\n horario: IHorario\n atualizaAgenda: (\n limparSelecao?: boolean,\n executandoAcao?: boolean,\n ) => Promise\n}\n\nconst CardAgendamento = ({ horario, atualizaAgenda }: IProps): ReactElement => {\n const { docasContext, setDocasContext } = useContext(DocasContext)\n const { isAuthorized } = usePermissions()\n const [selected, setSelected] = useState(false)\n const [activeTab, setActiveTab] = useState(0)\n const [loading, setLoading] = useState(false)\n const [showModalAlterarHorario, setShowModalAlterarHorario] =\n useState(false)\n const { applicationContext, setApplicationContext } =\n useContext(ApplicationContext)\n const [stoped, setStoped] = useState(false)\n const [openSnackbarSuccess, closeSnackbarSuccess] =\n useSnackbar(MsgSuccessOptions)\n const [idModal, setIdModal] = useState(0)\n const [horarioSelecionado, setHorarioSelecionado] = useState()\n const [piscar, setPiscar] = useState(false)\n const [avisar, setAvisar] = useState(false)\n const [horarioPrincipal, setHorarioPrincipal] = useState<\n IHorario | undefined\n >()\n const [mostrarTooltip, setMostrarTooltip] = useState(true)\n\n const alertaJustificado =\n horario.temAlerta && horario.alertas.every((s) => s.justificado)\n\n const MENU_ID = 'menu-id-' + horario.cdAgendamentoDocasHorario\n // const { show } = useContextMenu({\n // id: MENU_ID\n // })\n\n const geraResumoMacros = (macros: IMacro[]): string => {\n if (macros.length > 0) {\n let resumo = `${macros[0].nome} - ${macros[0].data} - ${macros[0].usuarioNome}`\n\n for (let i = 1; i < macros.length; i++) {\n resumo += `
${macros[i].nome} - ${macros[i].data} - ${macros[i].usuarioNome}`\n }\n\n return resumo\n } else {\n return 'Sem macros'\n }\n }\n\n const atualizaDados = () => {\n const agendamentoMultiplo = buscaAgendamentoMultiplo(\n horario,\n docasContext.agendamentosMultiplos,\n )\n const principal = agendamentoMultiplo\n ? agendamentoMultiplo.horarios[0]\n : horario\n\n if (principal.cdMacro !== horarioPrincipal?.cdMacro) {\n setHorarioPrincipal(principal)\n }\n\n if (\n principal.cdMacroUsuarioExcetoOutros ===\n applicationContext.usuarioAtual?.cdUsuario\n ) {\n if (avisar) {\n setAvisar(false)\n\n if (piscar) {\n setPiscar(false)\n }\n }\n } else if (\n principal.temMacro &&\n docasContext.avisoPiscante &&\n !avisar &&\n docasContext.macrosParaAvisar.some(\n (f) => f.cdMacro === principal.cdMacroExcetoOutros,\n )\n ) {\n setAvisar(true)\n }\n\n if (horario.temAlerta) {\n const alertasSonoros = docasContext.alertasSonoros\n const i = alertasSonoros.findIndex(\n (f) => f.cdCandidato === horario.cdCandidatoAgendamento,\n )\n\n if (\n horario.alertas.some((s) => !s.justificado) &&\n (i === -1 || !docasContext.alertasSonoros[i].tocarSom)\n ) {\n let notificar = false\n\n for (let j = 0; !notificar && j < horario.alertas.length; j++) {\n const alerta: IAlertaTipo = docasContext.alertas.find(\n (f) => f.cdAlertaTipo === horario.alertas[j].cdAlertaTipo,\n )!\n\n if (alerta.idsRoles.length > 0 && applicationContext.usuarioAtual) {\n const roles: IPerfil[] = applicationContext.usuarioAtual.perfis\n for (let k = 0; k < roles.length; k++) {\n if (alerta.idsRoles.includes(roles[k].id)) {\n notificar = true\n break\n }\n }\n } else {\n notificar = true\n }\n }\n\n if (notificar) {\n if (i === -1) {\n alertasSonoros.push({\n cdCandidato: horario.cdCandidatoAgendamento!,\n tocarSom: true,\n })\n } else {\n alertasSonoros[i].tocarSom = true\n }\n }\n\n setDocasContext({ ...docasContext, alertasSonoros: alertasSonoros })\n }\n }\n }\n\n useEffect(() => {\n atualizaDados()\n }, [docasContext.horarios])\n\n useEffect(() => {\n if (docasContext.armazemAtual?.cdMacroTipo === TIPO_MACRO.AVANCADO) {\n if (avisar && docasContext.avisoPiscante) {\n setTimeout(() => setPiscar(!piscar), 200)\n } else if (piscar) {\n setPiscar(false)\n }\n }\n }, [piscar, avisar, docasContext.avisoPiscante])\n\n const toggleClick = () => {\n setStoped(true)\n setTimeout(() => setStoped(false), 1000)\n }\n\n const toggleSelect = () => {\n // if (moment(horario.dtHora) > moment()) {\n let removeu = false\n let selecaoContinua = false\n\n //verifica se deve remover do array de selecionados\n let selecionadosAux: IHorario[] = []\n\n docasContext.selecionados?.map((item: IHorario) => {\n if (\n item.cdAgendamentoDocasHorario === horario.cdAgendamentoDocasHorario\n ) {\n setSelected(false)\n removeu = true\n } else {\n selecionadosAux.push(item)\n }\n })\n\n //caso não tenha sido necessário remover, deve-se incluir.\n if (!removeu) {\n selecionadosAux?.push(horario)\n setSelected(true)\n }\n\n //Ordena por horario\n selecionadosAux = selecionadosAux.sort(\n (a, b) => parseInt(a.hora.split(':')[0]) - parseInt(b.hora.split(':')[0]),\n )\n\n //varificar se é seleção continua\n if (selecionadosAux.length > 1 && selecionadosAux.length <= 3) {\n if (\n selecionadosAux.every(\n (item) =>\n item.cdAgendamendoDocasDocas ===\n selecionadosAux[0].cdAgendamendoDocasDocas &&\n item.cdAgendamentoDocasJanela ===\n selecionadosAux[0].cdAgendamentoDocasJanela,\n )\n ) {\n let x = -1\n\n selecionadosAux.map((item) => {\n if (x === -1) {\n x = parseInt(item.hora.split(':')[0])\n } else {\n if (parseInt(item.hora.split(':')[0]) === x + 1) {\n selecaoContinua = true\n } else {\n //Não é continua por que existe um intervalo na seleção\n selecaoContinua = false\n }\n }\n })\n } else {\n //Não é continua por que os selecionados não pertencem a mesma doca e ou mesma janela\n selecaoContinua = false\n }\n } else {\n //Não é continua por que o numero de selecionados é menor ou maior que o permitido\n selecaoContinua = false\n }\n\n setDocasContext({\n ...docasContext,\n selecionados: selecionadosAux,\n selecaoContinua,\n btnBloquearSelecionados:\n selecionadosAux?.filter(\n (x) => x.horarioStatus !== STATUS_HORARIOS.LIVRE,\n ).length > 0\n ? false\n : true,\n btnAprovarSelecionados:\n selecionadosAux?.filter(\n (x) => x.horarioStatus !== STATUS_HORARIOS.RESERVADO,\n ).length > 0\n ? false\n : true,\n })\n // }\n }\n\n const statusText = (status: number) => {\n let word = ''\n switch (status) {\n case 0:\n word = 'liberar'\n break\n case 2:\n word = 'aprovar'\n break\n case 3:\n word = 'cancelar'\n break\n case 4:\n word = 'bloquear'\n break\n }\n return word\n }\n\n const acaoHorario = async (status: number, horario: IHorario) => {\n swal({\n title: 'Confirmar?',\n text:\n status !== 5\n ? `Tem certeza que deseja ${statusText(status)} o horário?`\n : 'Tem certeza que deseja marcar este horário como Não Compareceu?',\n icon: 'warning',\n buttons: ['NÃO', 'SIM'],\n dangerMode: true,\n }).then(async (willDelete) => {\n if (willDelete) {\n let data = undefined\n\n if (\n status === STATUS_HORARIOS.CANCELADO ||\n status === STATUS_HORARIOS.APROVADO ||\n status === STATUS_HORARIOS.NO_SHOW\n ) {\n const agendamentoMultiplo = buscaAgendamentoMultiplo(\n horario,\n docasContext.agendamentosMultiplos,\n )\n\n if (agendamentoMultiplo) {\n const itens: IAgendaAction[] = []\n\n agendamentoMultiplo.horarios.map((item) => {\n itens.push({\n cdAgendamentoDocasHorario: item.cdAgendamentoDocasHorario,\n horarioStatus: status,\n cdCandidatoAgendamento: item.cdCandidatoAgendamento!,\n agendamentoMultiplo: false,\n placaVeiculo: item.placa,\n transportadora: item.nomeEntidade,\n cdEntidade: item.cdEntidade,\n cdVeiculo: item.cdVeiculo,\n })\n })\n\n if (\n !itens.some(\n (s) =>\n s.cdAgendamentoDocasHorario ==\n horario.cdAgendamentoDocasHorario,\n )\n ) {\n itens.push({\n cdAgendamentoDocasHorario: horario.cdAgendamentoDocasHorario,\n horarioStatus: STATUS_HORARIOS.RESERVADO,\n cdCandidatoAgendamento: horario.cdCandidatoAgendamento!,\n agendamentoMultiplo: false,\n placaVeiculo: horario.placa,\n transportadora: horario.nomeTransportadora,\n cdEntidade: horario.cdEntidade,\n cdVeiculo: horario.cdVeiculo,\n })\n }\n\n data = await WS_DOCAS.agenda.executaAcao(ID_COMPONENTE.DOCAS, itens)\n }\n }\n\n if (!data) {\n const arr: IAgendaAction[] = []\n\n docasContext.selecionados?.map((h) => {\n arr.push({\n cdAgendamentoDocasHorario: h.cdAgendamentoDocasHorario,\n horarioStatus: status,\n cdCandidatoAgendamento: horario.cdCandidatoAgendamento ?? 0,\n agendamentoMultiplo: false,\n placaVeiculo: h.placa,\n transportadora: h.nomeEntidade,\n cdEntidade: h.cdEntidade,\n cdVeiculo: h.cdVeiculo,\n })\n })\n\n if (\n !arr.some(\n (h) =>\n h.cdAgendamentoDocasHorario ===\n horario.cdAgendamentoDocasHorario,\n )\n ) {\n arr.push({\n cdAgendamentoDocasHorario: horario.cdAgendamentoDocasHorario,\n horarioStatus: status,\n cdCandidatoAgendamento: horario.cdCandidatoAgendamento ?? 0,\n agendamentoMultiplo: false,\n placaVeiculo: horario.placa,\n transportadora: horario.nomeEntidade,\n cdEntidade: horario.cdEntidade,\n cdVeiculo: horario.cdVeiculo,\n })\n }\n\n data = await WS_DOCAS.agenda.executaAcao(ID_COMPONENTE.DOCAS, arr)\n }\n\n if (data.status === 200) {\n setLoading(true)\n setTimeout(() => setLoading(false), 1000)\n\n atualizaAgenda(true, loading)\n } else {\n openSnackbarSuccess(data.message)\n }\n }\n })\n }\n\n const reservaHorario = async (\n candidatoSelecionado: ICandidato,\n horario: IHorario,\n status: number = STATUS_HORARIOS.RESERVADO,\n ) => {\n let horariosSelecionados: IHorario[] = docasContext.selecionados\n ? docasContext.selecionados\n : [horario]\n\n if (\n !horariosSelecionados.some(\n (s) =>\n s.cdAgendamentoDocasHorario === horario.cdAgendamentoDocasHorario,\n )\n ) {\n horariosSelecionados.push(horario)\n }\n\n horariosSelecionados = verificaQuantidadeHorarios(\n horariosSelecionados,\n candidatoSelecionado.quantidadeHorarios,\n )\n\n const tamanhoJanelaSecundariaMinutos: number =\n docasContext.armazemAtual?.tamanhoJanelaSecundaria ?? 60\n\n if (\n classificacaoHorarios.verificaHorariosConsecutivos(\n horariosSelecionados,\n tamanhoJanelaSecundariaMinutos,\n )\n ) {\n if (verificaHorariosOcupados(horariosSelecionados)) {\n const arr: IAgendaAction[] = []\n\n horariosSelecionados.map((h) => {\n arr.push({\n cdAgendamentoDocasHorario: h.cdAgendamentoDocasHorario,\n horarioStatus: status,\n cdCandidatoAgendamento: candidatoSelecionado.cdCandidatoAgendamento,\n agendamentoMultiplo: false,\n placaVeiculo: candidatoSelecionado.placa,\n transportadora: candidatoSelecionado.nomeTransportadora,\n cdEntidade: candidatoSelecionado.cdEntidade,\n cdVeiculo: candidatoSelecionado.cdVeiculo,\n cdViagem: candidatoSelecionado.cdViagem,\n })\n })\n\n const response = await WS_DOCAS.agenda.executaAcao(\n ID_COMPONENTE.DOCAS,\n arr,\n )\n\n if (response.status === 200) {\n //Verifica o codigo retornado pelo WsDocas\n if (response.data.statusCode === 501) {\n setLoading(true)\n setTimeout(() => setLoading(false), 1000)\n\n atualizaAgenda(true)\n } else {\n alert(response.data.message)\n }\n }\n } else {\n openSnackbarSuccess(\n 'Não é possível fazer uma reserva em horários já ocupados',\n )\n }\n } else {\n openSnackbarSuccess(\n 'Não é possível fazer uma reserva em docas diferentes ou em horários não consecutivos',\n )\n }\n }\n\n const verificaQuantidadeHorarios = (\n horarios: IHorario[],\n quantidadeHorarios?: number,\n ): IHorario[] => {\n const horariosOrdenados: IHorario[] = horarios.sort((a, b) =>\n a.cdAgendamentoDocasHorario > b.cdAgendamentoDocasHorario ? 1 : -1,\n )\n\n if (quantidadeHorarios && quantidadeHorarios !== horarios.length) {\n if (quantidadeHorarios > horarios.length) {\n for (let i = horarios.length; i < quantidadeHorarios; i++) {\n const ultimoHorario: IHorario =\n horariosOrdenados[horariosOrdenados.length - 1]\n const proximoHorario: IHorario | undefined =\n docasContext.horarios?.find(\n (horario) =>\n horario.cdAgendamendoDocasDocas ===\n ultimoHorario.cdAgendamendoDocasDocas &&\n horario.cdAgendamentoDocasJanela ===\n ultimoHorario.cdAgendamentoDocasJanela &&\n moment(horario.dtHora) > moment(ultimoHorario.dtHora),\n )\n\n if (proximoHorario) {\n horariosOrdenados.push(proximoHorario)\n } else {\n break\n }\n }\n } else {\n while (quantidadeHorarios < horariosOrdenados.length) {\n horariosOrdenados.pop()\n }\n }\n }\n\n return horariosOrdenados\n }\n\n const verificaHorariosOcupados = (horarios: IHorario[]) =>\n !horarios.some((s) => s.cdCandidatoAgendamento)\n\n const isSelected = () => {\n if (docasContext?.selecionados) {\n const item = docasContext?.selecionados?.filter(\n (x) =>\n x.cdAgendamentoDocasHorario === horario.cdAgendamentoDocasHorario,\n )\n if (item && item.length && !isPast()) {\n if (docasContext?.selecaoContinua) {\n return 'selected-continuos'\n } else {\n return 'selected'\n }\n } else {\n return ''\n }\n }\n }\n\n const isPast = () => {\n const dataHorario: moment.Moment = moment(horario.dtHora)\n const dataAtual: moment.Moment = moment()\n\n return (\n dataHorario.isBefore(dataAtual) &&\n (dataHorario.dayOfYear() !== dataAtual.dayOfYear() ||\n dataHorario.hour() < dataAtual.hour())\n )\n }\n\n const verificaSeAgendamentoPertenceOutraTransportadora = (\n horario: IHorario,\n ) => {\n return applicationContext.usuarioAtual?.cdsTransportadoras?.every(\n (cdTransportadora) => cdTransportadora !== horario.cdEntidade,\n )\n }\n\n const verificaSeDesabilitaOpcaoTransportadora = (horario?: IHorario) => {\n return (\n !horario ||\n (!isAuthorized(Claims.VerDetalhesTodasTransportadoras) &&\n verificaSeAgendamentoPertenceOutraTransportadora(horario))\n )\n }\n\n const showCardTransportadora = () => {\n return (\n ((isAuthorized(Claims.VerDetalhesTodasTransportadoras) ||\n !verificaSeAgendamentoPertenceOutraTransportadora(horario)) &&\n (horario.horarioStatus === STATUS_HORARIOS.APROVADO ||\n horario.horarioStatus === STATUS_HORARIOS.RESERVADO)) ||\n horario.horarioStatus === STATUS_HORARIOS.LIVRE ||\n horario.horarioStatus === STATUS_HORARIOS.BLOQUEADO ||\n horario.horarioStatus === STATUS_HORARIOS.NO_SHOW\n )\n }\n\n const isSelectable = () => {\n return !docasContext.executing\n }\n\n const abreModal = (id: number) => {\n const agendamentoMultiplo = buscaAgendamentoMultiplo(\n horario,\n docasContext.agendamentosMultiplos,\n )\n\n if (\n agendamentoMultiplo?.horarios &&\n agendamentoMultiplo.horarios.length > 1\n ) {\n setHorarioSelecionado(agendamentoMultiplo.horarios[0])\n } else {\n setHorarioSelecionado(horario)\n }\n\n setIdModal(id)\n }\n\n const preparaModal = () => {\n if (horarioSelecionado) {\n setActiveTab(idModal)\n } else {\n setTimeout(() => {\n preparaModal()\n }, 500)\n }\n }\n\n const visualizaAlertas = async () => {\n const alertasNaoJustificados = horario.alertas.filter((f) => !f.justificado)\n\n if (alertasNaoJustificados.length > 0) {\n const alertasSonoros = docasContext.alertasSonoros\n\n for (let i = 0; i < alertasNaoJustificados.length; i++) {\n const j = alertasSonoros.findIndex(\n (f) => f.cdCandidato === horario.cdCandidatoAgendamento,\n )\n\n alertasSonoros[j].tocarSom = false\n }\n\n setDocasContext({\n ...docasContext,\n alertasSonoros: alertasSonoros,\n })\n }\n\n setActiveTab(4)\n }\n\n const trataFechamentoModalDetalhes = () => {\n setActiveTab(0)\n setMostrarTooltip(false)\n window.setTimeout(() => setMostrarTooltip(true), 500)\n }\n\n useEffect(() => {\n if (idModal !== 0) {\n preparaModal()\n }\n }, [idModal])\n\n const ajustaTexto = (titulo: string, texto?: string) => {\n if (texto) {\n const tamanhoMaximo: number = 39 - titulo.length\n\n if (texto.length > tamanhoMaximo) {\n return `${texto.substring(0, tamanhoMaximo)}...`\n }\n }\n\n return texto\n }\n\n const menu = (\n \n {isAuthorized(Claims.ReservarHorario) &&\n horario.horarioStatus === STATUS_HORARIOS.LIVRE && (\n \n reservaHorario(docasContext.candidatoSelecionado!, horario)\n }\n disabled={!docasContext.candidatoSelecionado || isPast()}\n >\n Reservar\n \n )}\n\n {isAuthorized(Claims.AprovarHorario) &&\n horario.horarioStatus === STATUS_HORARIOS.RESERVADO && (\n acaoHorario(STATUS_HORARIOS.APROVADO, horario)}\n disabled={isPast()}\n >\n Aprovar\n \n )}\n\n {isAuthorized(Claims.ReservarAprovarHorario) &&\n horario.horarioStatus === STATUS_HORARIOS.LIVRE && (\n \n reservaHorario(\n docasContext.candidatoSelecionado!,\n horario,\n STATUS_HORARIOS.RESERVADO_APROVADO,\n )\n }\n disabled={!docasContext.candidatoSelecionado || isPast()}\n >\n Reservar e Aprovar\n \n )}\n\n {isAuthorized(Claims.BloquearHorario) &&\n horario.horarioStatus === STATUS_HORARIOS.LIVRE && (\n acaoHorario(STATUS_HORARIOS.BLOQUEADO, horario)}\n disabled={isPast()}\n >\n Bloquear\n \n )}\n\n {isAuthorized(Claims.CancelarHorario) &&\n (horario.horarioStatus === STATUS_HORARIOS.RESERVADO ||\n horario.horarioStatus === STATUS_HORARIOS.APROVADO) && (\n acaoHorario(STATUS_HORARIOS.CANCELADO, horario)}\n disabled={verificaSeDesabilitaOpcaoTransportadora(horario)}\n >\n Cancelar\n \n )}\n\n {isAuthorized(Claims.LiberarHorario) &&\n horario.horarioStatus === STATUS_HORARIOS.BLOQUEADO && (\n <>\n acaoHorario(STATUS_HORARIOS.LIVRE, horario)}\n disabled={isPast()}\n >\n Liberar\n \n \n )}\n\n {isAuthorized(Claims.NoShowHorario) &&\n horario.horarioStatus === STATUS_HORARIOS.APROVADO && (\n acaoHorario(STATUS_HORARIOS.NO_SHOW, horario)}\n disabled={moment(horario.dtHora) > moment()}\n >\n Não compareceu\n \n )}\n\n {isAuthorized(Claims.AlterarHorario) &&\n (horario.horarioStatus === STATUS_HORARIOS.RESERVADO ||\n horario.horarioStatus === STATUS_HORARIOS.APROVADO) && (\n setShowModalAlterarHorario(true)}\n disabled={isPast()}\n >\n Alterar\n \n )}\n\n {isAuthorized(Claims.VerDetalhes) &&\n (horario.horarioStatus === STATUS_HORARIOS.RESERVADO ||\n horario.horarioStatus === STATUS_HORARIOS.APROVADO) && (\n abreModal(1)}\n >\n Detalhes\n \n )}\n\n {isAuthorized(Claims.VerDetalhes) &&\n (horario.horarioStatus === STATUS_HORARIOS.RESERVADO ||\n horario.horarioStatus === STATUS_HORARIOS.APROVADO) && (\n abreModal(2)}\n disabled={verificaSeDesabilitaOpcaoTransportadora(horario)}\n >\n Macros\n \n )}\n\n {isAuthorized(Claims.VerDetalhes) &&\n (horario.horarioStatus === STATUS_HORARIOS.RESERVADO ||\n horario.horarioStatus === STATUS_HORARIOS.APROVADO) && (\n abreModal(4)}\n disabled={verificaSeDesabilitaOpcaoTransportadora(horario)}\n >\n Alertas\n \n )}\n\n {isAuthorized(Claims.Chat) && (\n abreModal(3)}\n >\n Chat\n \n )}\n\n {/* {isAuthorized(Claims.Chat) && (\n abreModal(3)}\n >\n Checklist\n \n )} */}\n \n )\n\n return (\n <>\n {!piscar ? (\n \n \n (isSelectable() ? toggleSelect() : toggleClick())}\n >\n {stoped ? (\n \n \n \n ) : (\n <>\n {loading ? (\n \n \n \n ) : (\n <>\n \n \n {showCardTransportadora() ? (\n
\n \n Placa: {horario.placa}\n \n \n \n \n {applicationContext.textoDocumentoViagem!}:\n {' '}\n {ajustaTexto(\n applicationContext.textoDocumentoViagem!,\n horario.documentoViagem,\n )}\n \n
\n \n \n Transportadora:{' '}\n {ajustaTexto(\n 'Transportadora',\n horario.nomeEntidade,\n )}\n \n \n \n \n Origem:{' '}\n {ajustaTexto('Origem', horario.origemViagem)}\n \n\n \n Destino:{' '}\n {ajustaTexto(\n 'Destino',\n horario.destinoViagem,\n )}\n \n \n \n \n Motorista:{' '}\n {ajustaTexto(\n 'Motorista',\n horario.nomeMotorista,\n )}\n \n \n \n ) : (\n <>\n \n Placa: ********\n \n \n \n {applicationContext.textoDocumentoViagem!}:\n {' '}\n ********\n \n \n Transportadora: ********\n \n \n Origem: ********\n \n \n Destino: ********\n \n \n Motorista: ********\n \n \n )}\n \n \n \n \n \n \n \n \n
\n\n \n \n \n {horario.hora.substring(0, 5)}\n \n {(horario.horarioStatus === STATUS_HORARIOS.LIVRE ||\n horario.horarioStatus ===\n STATUS_HORARIOS.CANCELADO) && (\n Livre\n )}\n {horario.horarioStatus ===\n STATUS_HORARIOS.APROVADO && (\n \n Aprovado\n \n )}\n {horario.horarioStatus ===\n STATUS_HORARIOS.BLOQUEADO && (\n Bloqueado\n )}\n {horario.horarioStatus ===\n STATUS_HORARIOS.RESERVADO && (\n \n Reservado\n \n )}\n {horario.horarioStatus ===\n STATUS_HORARIOS.NO_SHOW && (\n Não compareceu\n )}\n {horario.ultimasMacros.length > 0 && (\n <>\n \n {horario.ultimasMacros[0].nome}\n \n\n {mostrarTooltip && (\n \n )}\n \n )}\n \n\n \n {horario.temMacro && (\n <>\n setActiveTab(2)}\n icon={\n \n }\n />\n\n {mostrarTooltip && (\n \n )}\n \n )}\n\n {horario.temAlerta && (\n await visualizaAlertas()}\n icon={\n \n // \n }\n />\n )}\n\n {horario.temComentario &&\n horario.cdCandidatoAgendamento &&\n !verificaSeDesabilitaOpcaoTransportadora(\n horario,\n ) && (\n setActiveTab(3)}\n icon={\n \n // \n }\n />\n )}\n \n \n \n )}{' '}\n \n )}\n \n \n \n ) : null}\n\n trataFechamentoModalDetalhes()}\n afterClose={() => setIdModal(0)}\n footer={[]}\n width={1000}\n >\n
\n {activeTab && (\n \n )}\n
\n \n\n setShowModalAlterarHorario(false)}\n afterClose={() => setIdModal(0)}\n footer={[]}\n width={500}\n >\n
\n \n
\n \n \n )\n}\n\nexport default CardAgendamento\n","import React, { ReactElement, useContext, useEffect, useState } from 'react'\n\nimport { Card, Col, Row } from 'antd'\nimport moment from 'moment'\nimport { Scrollbars } from 'react-custom-scrollbars'\n\nimport { IHorario } from '../../../Models/docas'\nimport { DocasContext } from '../Context/context'\nimport CardAgendamento from './CardAgendamento'\ninterface TabPanelProps {\n cdJanela: number\n atualizaAgenda: (\n limparSelecao?: boolean,\n executandoAcao?: boolean,\n ) => Promise\n}\n\nconst Janela = ({ cdJanela, atualizaAgenda }: TabPanelProps): ReactElement => {\n const { docasContext } = useContext(DocasContext)\n const [horarios, setHorarios] = useState([])\n const [janelaMovel, setJanelaMovel] = useState(window.innerWidth - 136)\n\n useEffect(() => {\n window.addEventListener('resize', () => {\n setJanelaMovel(window.innerWidth - 155)\n })\n\n return () => {\n window.removeEventListener('resize', () => void 0)\n }\n }, [])\n\n useEffect(() => {\n if (docasContext.horarios) {\n const horariosAux: IHorario[] = []\n docasContext.horarios\n ?.filter((x) => x.cdAgendamentoDocasJanela === cdJanela)\n .map((item: IHorario) => {\n if (horariosAux.filter((x) => x.hora === item.hora).length === 0) {\n horariosAux.push(item)\n }\n })\n setHorarios(horariosAux)\n }\n }, [docasContext.horarios])\n\n return (\n <>\n {docasContext?.dataAtual && (\n <>\n \n \n \n \n \n Docas\n {/* {moment(docasContext.dataAtual).format('DD/MM/yyyy')} */}\n \n \n {docasContext.armazemAtual?.agendamentoDocasDocas?.map(\n (doca) => {\n return (\n \n \n {doca.nomeDoca}\n \n \n )\n },\n )}\n \n \n \n \n {horarios.map((horario: IHorario) => (\n \n {`${horario.hora.split(':')[0]}:${\n horario.hora.split(':')[1]\n }`}\n \n ))}\n \n {docasContext.armazemAtual?.agendamentoDocasDocas?.map(\n (doca) => {\n return (\n \n {docasContext.horarios\n ?.filter(\n (x) =>\n x.cdAgendamendoDocasDocas ===\n doca.cdAgendamentoDocasDocas &&\n x.cdAgendamentoDocasJanela === cdJanela,\n )\n .map((horario: IHorario) => {\n return (\n \n \n \n )\n })}\n \n )\n },\n )}\n \n \n \n \n \n )}\n \n )\n}\n\nexport default Janela\n","import React, { useContext, memo } from 'react'\n\nimport { Row, Tag } from 'antd'\n\nimport { DocasContext } from '../Context/context'\n\nconst Totais = () => {\n const { docasContext } = useContext(DocasContext)\n\n const total = () => {\n return (\n (docasContext?.totais?.aprovados || 0) +\n (docasContext?.totais?.bloqueados || 0) +\n (docasContext?.totais?.cancelados || 0) +\n (docasContext?.totais?.livres || 0) +\n (docasContext?.totais?.noShows || 0) +\n (docasContext?.totais?.reservados || 0)\n )\n }\n\n return (\n \n \n Livres {docasContext.totais?.livres}\n \n Aprovados {docasContext.totais?.aprovados}\n Bloqueados {docasContext.totais?.bloqueados}\n \n Reservados {docasContext.totais?.reservados}\n \n Total {total()}\n \n )\n}\n\nexport default memo(Totais)\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport React, { ReactElement, useContext, useState } from 'react'\nimport { useEffect } from 'react'\n\nimport { Tabs } from 'antd'\nimport moment from 'moment'\n\nimport { IJanela } from '../../../Models/docas'\nimport { DocasContext } from '../Context/context'\nimport Janela from './Janela'\nimport Totais from './Totais'\n\nconst { TabPane } = Tabs\n\ninterface IProps {\n dataSelecionada: moment.Moment\n atualizaAgenda: (\n limparSelecao?: boolean,\n executandoAcao?: boolean,\n ) => Promise\n}\n\nconst Agenda = ({ dataSelecionada, atualizaAgenda }: IProps): ReactElement => {\n const { docasContext, setDocasContext } = useContext(DocasContext)\n const [janelaSelecionada, setJanelaSelecionada] = useState('0')\n\n useEffect(() => {\n selecionaJanelaHorarioAtual()\n }, [docasContext.armazemAtual, dataSelecionada])\n\n const selecionaJanelaHorarioAtual = () => {\n const dataAtual: moment.Moment = moment()\n\n if (docasContext.armazemAtual?.agendamentoDocasJanelas) {\n if (\n dataSelecionada.format('DD/MM/YYYY') === dataAtual.format('DD/MM/YYYY')\n ) {\n const horaAtual: string = dataAtual.format('HH:00:00')\n\n for (\n let i = docasContext.armazemAtual.agendamentoDocasJanelas.length - 1;\n i >= 0;\n i--\n ) {\n if (\n horaAtual >=\n docasContext.armazemAtual.agendamentoDocasJanelas[i].horaInicio\n ) {\n selecionaJanela(i)\n break\n }\n }\n } else {\n selecionaJanela(0)\n }\n }\n }\n\n const selecionaJanela = (key: number) => {\n setJanelaSelecionada(key.toString())\n\n const cdJanela =\n docasContext.armazemAtual!.agendamentoDocasJanelas![key]\n .cdAgendamentoDocasJanela\n\n setDocasContext({\n ...docasContext,\n janelaAtual: cdJanela,\n })\n }\n\n return (\n }\n type=\"card\"\n style={{ width: '100%' }}\n onTabClick={(key: string) => selecionaJanela(parseInt(key))}\n >\n {docasContext.armazemAtual?.agendamentoDocasJanelas?.map(\n (janela: IJanela, i) => {\n return (\n \n \n \n )\n },\n )}\n \n )\n}\n\nexport default Agenda\n","import React, { ReactElement } from 'react'\n\nimport { Col, PageHeader, Row } from 'antd'\n\nconst ModalAjuda = (): ReactElement => {\n return (\n \n \n \n
\n Informações de login: O\n login deve ser feito em um dispositivo por vez. Caso seja feito\n login em outro dispositivo (seja site ou aplicativo móvel) com o\n mesmo CPF, o acesso anterior perderá a sessão devido ao uso do\n Token. Cada login é único. Não é permitido login com mesmo usuário\n simultaneamente em Site e APP.\n
\n
\n \n Agendamento de candidatos:{' '}\n \n O processo de agendamento é iniciado via site. O usuário deverá\n efetuar a liberação de Agenda para a data desejada em Configurações:\n
\n → Escolher o armazém\n
\n → Opção liberar agenda e após efetuar via site a importação de\n candidatos.\n
\n
\n \n Importação de candidatos:{' '}\n \n Deverá ser feito Download do modelo de referência que se encontra na\n tela “Importar” e utilizar o mesmo para importação. OBS: Não devem\n ser importadas viagens para o mesmo veículo no mesmo horário de\n previsão. O sistema faz a verificação se há duplicados para o mesmo\n horário, não importando e avisando o usuário as linhas não\n importadas caso haja.\n
\n
\n \n Criação de candidato manual:{' '}\n \n Abrirá uma tela que terá um botão nessa tela para inserir de forma\n manual. A tela funciona através do campo de seleção de empresa e\n motoristas, onde é feita a busca diretamente no banco de dados e\n caso Empresa e Motorista não existam na seleção, deverá ser criado\n pelos menus CADASTRO-EMPRESA e CADASTRO-MOTORISTA.\n
\n
\n Exclusão de candidato: \n Os candidatos podem ser excluídos manualmente um a um. A exclusão\n manual somente permite fazer isso no armazém que está aberto em\n tela.\n
\n
\n Edição de armazém: \n A edição apenas será possível se não houver agenda liberada para\n aquela data.\n
\n
\n \n Utilização do aplicativo:{' '}\n \n O aplicativo serve como auxiliar ao fluxo de operação do sistema.\n Para gerenciamento via celular, deverá primeiramente ser liberada\n agenda e feito a importação dos candidatos via site para\n agendamento.\n
\n
\n \n Alterações do status de agendamento:\n \n
\n 1. As lacunas da Grid de Agendamento são criadas por padrão com o\n status LIVRE; As lacunas no status Livre podem receber agendamentos,\n bloquear e reservar;\n
\n 2. Deve ser possível selecionar uma ou várias lacunas e definir o\n status BLOQUEADO; As lacunas no status Bloqueado não podem receber\n agendamentos e nenhuma outra ação, apenas a ação de liberar agenda,\n para poderem voltar a ser utilizáveis primeiro é necessário liberar\n a lacuna de maneira que ela volte para o status Livre;\n
\n 3. Deve ser possível selecionar de uma a três lacunas LIVRES\n consecutivas da mesma doca para RESERVAR; Para uma lacuna RESERVADA\n devem ser possíveis as ações: Aprovar, Cancelar, Alterar Horário,\n Ver Detalhes, Chat e Macros. Obs: não deve ser possível pular\n horário, ou selecionar horários de docas diferentes.\n
\n 4. Uma vez APROVADO o agendamento de uma coluna devem ser possíveis\n as ações: Cancelar, Não compareceu, Alterar Horário, Ver Detalhes,\n Chat e Macro.\n
\n 5. Uma vez NÃO COMPARECEU o agendamento de uma coluna devem ser\n possíveis as ações: Ver Detalhes, Chat e Macro.\n
\n
\n \n Regras de mudança de status do sistema:\n \n
\n → Regra geral: nenhum Agendamento pode ser Reservado ou Aprovado ou\n Alterado ou Cancelado em horários anteriores ao atual.\n
\n → Uma alteração de horário só pode ocorrer para horários do futuro\n em relação à hora atual.\n
\n → Macros e chat podem ser gerados para agendas do passado.\n
\n → O Status No-Show somente pode ser alterado em horários anteriores\n ao atual.\n
→ O Status Cancelar faz com que o Candidato ou a Viagem volte\n para a lista para ser novamente agendado. Isto também ocorre para\n quando é marcado o Status No-Show, pois como ele não compareceu, ele\n volta para a lista para ser agendado novamente.\n
\n \n
\n
\n )\n}\n\nexport default ModalAjuda\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable react/require-default-props */\nimport React from 'react'\n\nimport { Form, DatePicker } from 'antd'\nimport { Rule } from 'antd/lib/form'\nimport moment from 'moment'\n\ninterface DateProps {\n name: string\n label: string\n showTime: boolean\n currentTime?: boolean\n rules?: Rule[]\n initialValue?: moment.Moment\n validRange?: moment.Moment[]\n disabled?: boolean\n}\n\nconst DateSelector = ({\n name,\n label,\n showTime,\n currentTime,\n rules,\n initialValue,\n validRange,\n disabled,\n}: DateProps) => {\n const disabledDate = (current: moment.Moment) => {\n if (validRange) {\n if (validRange[0] && validRange[1]) {\n return current < validRange[0] || current > validRange[1]\n } else {\n return validRange[0] ? current < validRange[0] : current > validRange[1]\n }\n } else {\n return false\n }\n }\n\n return (\n \n \n \n )\n}\n\nexport default DateSelector\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { AxiosResponse } from 'axios'\nimport hosts from 'config/microServices'\nimport QueryStringFilter from 'Helpers/QueryStringFilter'\nimport AreaGeografica from 'Models/cadastros/AreaGeografica'\nimport {\n ExportParamsBodyRequest,\n ExportParamsRequest,\n ParamsRequest,\n} from 'Services/__shared/types/resquest'\nimport ApiService from 'Services/ApiService'\nimport { ServiceListResponse } from 'Types/ServiceResponse'\nimport IFormAreasGeograficasFilter from 'Views/Cadastros/AreasGeograficas/IFormAreasGeograficasFilter'\n\nconst areasGeograficas = {\n getList: async (\n filter?: IFormAreasGeograficasFilter,\n params?: ParamsRequest,\n ) => {\n const result: AxiosResponse> =\n await ApiService().get>(\n QueryStringFilter(\n `${hosts.WS_CADASTRO}/AreaGeografica`,\n filter,\n params,\n ),\n )\n\n return result\n },\n export: async (\n filter: IFormAreasGeograficasFilter,\n params?: ExportParamsRequest,\n exportFields?: ExportParamsBodyRequest,\n ) => {\n const result: AxiosResponse = await ApiService().post(\n QueryStringFilter(\n `${hosts.WS_CADASTRO}/AreaGeografica/Exportar`,\n filter,\n params,\n ),\n exportFields,\n )\n\n return result\n },\n}\n\nexport default areasGeograficas\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { AxiosResponse } from 'axios'\nimport hosts from 'config/microServices'\nimport QueryStringFilter from 'Helpers/QueryStringFilter'\nimport Empresa from 'Models/cadastros/Empresa'\nimport {\n ExportParamsBodyRequest,\n ExportParamsRequest,\n ParamsRequest,\n} from 'Services/__shared/types/resquest'\nimport ApiService from 'Services/ApiService'\nimport {\n ServiceListResponse,\n ServiceCreateResponse,\n ServiceUpdateResponse,\n} from 'Types/ServiceResponse'\nimport IFormEmpresasFilter from 'Views/Cadastros/Empresas/IFormEmpresasFilter'\n\nconst empresas = {\n getList: async (\n idComponente: number,\n filter?: IFormEmpresasFilter,\n params?: ParamsRequest,\n ) => {\n const result: AxiosResponse> =\n await ApiService({ idComponente }).get>(\n QueryStringFilter(`${hosts.WS_CADASTRO}/Empresa`, filter, params),\n )\n\n return result\n },\n details: async (idComponente: number, id: number) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).get(`${hosts.WS_CADASTRO}/Empresa/${id.toString()}`)\n\n return result\n },\n export: async (\n idComponente: number,\n filter: IFormEmpresasFilter,\n params?: ExportParamsRequest,\n exportFields?: ExportParamsBodyRequest,\n ) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).post(\n QueryStringFilter(\n `${hosts.WS_CADASTRO}/Empresa/Exportar`,\n filter,\n params,\n ),\n exportFields,\n )\n\n return result\n },\n create: async (idComponente: number, data: Empresa) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).post(`${hosts.WS_CADASTRO}/Empresa`, data)\n\n return result\n },\n update: async (idComponente: number, data: Empresa, id?: string) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).put(`${hosts.WS_CADASTRO}/Empresa/${id}`, data)\n\n return result\n },\n}\n\nexport default empresas\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { AxiosResponse } from 'axios'\nimport hosts from 'config/microServices'\nimport QueryStringFilter from 'Helpers/QueryStringFilter'\nimport Nominatim from 'Models/cadastros/Nominatim'\nimport ApiService from 'Services/ApiService'\nimport IFormNominatimFilter from 'Views/Cadastros/Geo/IFormNominatimFilter'\n\nconst geo = {\n getListNominatim: async (type: string, filter?: IFormNominatimFilter) => {\n const result: AxiosResponse = await ApiService().get<\n Nominatim[]\n >(QueryStringFilter(`${hosts.WS_CADASTRO}/nominatim/${type}`, filter))\n\n return result\n },\n}\n\nexport default geo\n","import { AxiosResponse } from 'axios'\nimport hosts from 'config/microServices'\nimport { MenuGroup } from 'Models/cadastros/Menu'\nimport ApiService from 'Services/ApiService'\n\nconst menu = {\n getItens: async (): Promise> => {\n const result: AxiosResponse = await ApiService().get<\n MenuGroup[]\n >(`${hosts.WS_CADASTRO}/menu`)\n\n return result\n },\n}\n\nexport default menu\n","import { AxiosResponse } from 'axios'\nimport hosts from 'config/microServices'\nimport QueryStringFilter from 'Helpers/QueryStringFilter'\nimport Motorista from 'Models/cadastros/Motorista'\nimport {\n ExportParamsBodyRequest,\n ExportParamsRequest,\n ParamsRequest,\n} from 'Services/__shared/types/resquest'\nimport ApiService from 'Services/ApiService'\nimport {\n ServiceListResponse,\n ServiceCreateResponse,\n ServiceUpdateResponse,\n} from 'Types/ServiceResponse'\nimport IFormMotoristasFilter from 'Views/Cadastros/Motoristas/IFormMotoristasFilter'\n\nconst motoristas = {\n getList: async (\n idComponente: number,\n filter?: IFormMotoristasFilter,\n params?: ParamsRequest,\n ) => {\n const result: AxiosResponse> =\n await ApiService({ idComponente }).get>(\n QueryStringFilter(`${hosts.WS_CADASTRO}/Motorista`, filter, params),\n )\n\n return result\n },\n details: async (idComponente: number, id: number) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).get(`${hosts.WS_CADASTRO}/Motorista/${id.toString()}`)\n\n return result\n },\n export: async (\n idComponente: number,\n filter: IFormMotoristasFilter,\n params?: ExportParamsRequest,\n exportFields?: ExportParamsBodyRequest,\n ) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).post(\n QueryStringFilter(\n `${hosts.WS_CADASTRO}/Motorista/Exportar`,\n filter,\n params,\n ),\n exportFields,\n )\n\n return result\n },\n create: async (idComponente: number, data: Motorista) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).post(`${hosts.WS_CADASTRO}/Motorista`, data)\n\n return result\n },\n update: async (idComponente: number, data: Motorista, id?: string) => {\n const result: AxiosResponse = await ApiService({\n idComponente,\n }).put(`${hosts.WS_CADASTRO}/Motorista/${id}`, data)\n\n return result\n },\n}\nexport default motoristas\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { AxiosResponse } from 'axios'\nimport hosts from 'config/microServices'\nimport QueryStringFilter from 'Helpers/QueryStringFilter'\nimport {\n FabricanteRastreador,\n GerenciadorPosicao,\n ModoCobranca,\n Rastreador,\n} from 'Models/cadastros'\nimport {\n ExportParamsBodyRequest,\n ExportParamsRequest,\n ParamsRequest,\n} from 'Services/__shared/types/resquest'\nimport ApiService from 'Services/ApiService'\nimport {\n ServiceListResponse,\n ServiceCreateResponse,\n ServiceUpdateResponse,\n} from 'Types/ServiceResponse'\nimport IFormRastreadoresFilter from 'Views/Cadastros/Rastreadores/IFormRastreadoresFilter'\n\nconst rastreadores = {\n getListRastreadores: async (\n filter?: IFormRastreadoresFilter,\n params?: ParamsRequest,\n ) => {\n const result: AxiosResponse> =\n await ApiService().get>(\n QueryStringFilter(`${hosts.WS_CADASTRO}/Rastreador`, filter, params),\n )\n\n return result\n },\n\n getListFabricantes: async () => {\n const result: AxiosResponse =\n await ApiService().get(\n `${hosts.WS_CADASTRO}/Rastreador/ListarFabricantes`,\n )\n\n return result\n },\n\n getListGerenciadoresPosicoes: async () => {\n const result: AxiosResponse = await ApiService().get<\n FabricanteRastreador[]\n >(`${hosts.WS_CADASTRO}/Rastreador/ListarGerenciadoresPosicoes`)\n\n return result\n },\n\n getListModosCobrancas: async () => {\n const result: AxiosResponse = await ApiService().get<\n FabricanteRastreador[]\n >(`${hosts.WS_CADASTRO}/Rastreador/ListarModosCobrancas`)\n\n return result\n },\n\n details: async (id: number) => {\n const result: AxiosResponse =\n await ApiService().get(\n `${hosts.WS_CADASTRO}/Rastreador/${id.toString()}`,\n )\n\n return result\n },\n\n export: async (\n filter: IFormRastreadoresFilter,\n params?: ExportParamsRequest,\n exportFields?: ExportParamsBodyRequest,\n ) => {\n const result: AxiosResponse = await ApiService().post(\n QueryStringFilter(\n `${hosts.WS_CADASTRO}/Rastreador/Exportar`,\n filter,\n params,\n ),\n exportFields,\n )\n\n return result\n },\n\n create: async (data: Rastreador) => {\n const result: AxiosResponse =\n await ApiService().post(\n `${hosts.WS_CADASTRO}/Rastreador`,\n data,\n )\n\n return result\n },\n\n update: async (data: Rastreador, id?: string) => {\n const result: AxiosResponse =\n await ApiService().put(\n `${hosts.WS_CADASTRO}/Rastreador/${id}`,\n data,\n )\n\n return result\n },\n}\n\nexport default rastreadores\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { AxiosResponse } from 'axios'\nimport hosts from 'config/microServices'\nimport QueryStringFilter from 'Helpers/QueryStringFilter'\nimport Usuario from 'Models/cadastros/Usuario'\nimport { ParamsRequest } from 'Services/__shared/types/resquest'\nimport ApiService from 'Services/ApiService'\nimport { ServiceListResponse } from 'Types/ServiceResponse'\nimport IFormUsuariosFilter from 'Views/Cadastros/Usuarios/IFormUsuariosFilter'\n\nconst usuarios = {\n getList: async (filter?: IFormUsuariosFilter, params?: ParamsRequest) => {\n const result: AxiosResponse> =\n await ApiService().get>(\n QueryStringFilter(`${hosts.WS_CADASTRO}/usuario`, filter, params),\n )\n\n return result\n },\n\n verificaMestreSistema: async () => {\n const result: AxiosResponse = await ApiService().get<\n ServiceListResponse\n >(QueryStringFilter(`${hosts.WS_CADASTRO}/verificaMestreSistema`))\n\n return result\n },\n}\n\nexport default usuarios\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { AxiosResponse } from 'axios'\nimport hosts from 'config/microServices'\nimport { ICnpjValidator, ICpfValidator } from 'Models/cadastros/IValidator'\nimport ApiService from 'Services/ApiService'\n\nconst validadores = {\n cnpj: async (cnpj: string) => {\n const result: AxiosResponse =\n await ApiService().get(\n `${hosts.WS_CADASTRO}/cnpj/${cnpj}`,\n )\n\n return result\n },\n cpf: async (cpf: string, from: string) => {\n const result: AxiosResponse =\n await ApiService().get(\n `${hosts.WS_CADASTRO}/cpf/${cpf}?cpfFrom=${from}`,\n )\n\n return result\n },\n}\n\nexport default validadores\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { AxiosResponse } from 'axios'\nimport hosts from 'config/microServices'\nimport QueryStringFilter from 'Helpers/QueryStringFilter'\nimport Veiculo from 'Models/cadastros/Veiculo'\nimport IVeiculoTransportadora from 'Models/docas/IVeiculoTransportadora'\nimport { ParamsRequest } from 'Services/__shared/types/resquest'\nimport ApiService from 'Services/ApiService'\nimport { ServiceListResponse } from 'Types/ServiceResponse'\nimport IFormVeiculosFilter from 'Views/Cadastros/Veiculos/IFormVeiculosFilter'\n\nconst veiculos = {\n getList: async (\n idComponente: number,\n filter?: IFormVeiculosFilter,\n params?: ParamsRequest,\n ) => {\n let localFilters: IFormVeiculosFilter | undefined\n\n if (filter) {\n localFilters = filter\n\n if (filter?.situacao === 'ambos') {\n delete localFilters.ativo\n } else {\n localFilters.ativo = filter?.situacao === 'ativo'\n }\n }\n\n const result: AxiosResponse> =\n await ApiService({ idComponente }).get>(\n QueryStringFilter(`${hosts.WS_CADASTRO}/Veiculo`, localFilters, params),\n )\n\n if (result.data.items && result.data.items.length > 0) {\n result.data.items.sort((veiculo1, veiculo2) =>\n veiculo1.placa > veiculo2.placa ? 1 : -1,\n )\n }\n\n return result\n },\n}\n\nexport default veiculos\n","import areasGeograficas from './areasGeograficas'\nimport empresas from './empresas'\nimport geo from './geo'\nimport menu from './menu'\nimport motoristas from './motoristas'\nimport rastreadores from './rastreadores'\nimport usuarios from './usuarios'\nimport validadores from './validadores'\nimport veiculos from './veiculos'\n\nconst WS_CADASTRO = {\n menu,\n validadores,\n empresas,\n motoristas,\n veiculos,\n usuarios,\n rastreadores,\n areasGeograficas,\n geo,\n}\n\nexport default WS_CADASTRO\n","/* eslint-disable react/require-default-props */\nimport React, { Dispatch, SetStateAction } from 'react'\n\nimport { Form, Input } from 'antd'\nimport { Rule } from 'antd/lib/form'\n\ninterface IProps {\n name: string\n label: string\n placa: string\n setPlaca: Dispatch>\n rules?: Rule[]\n disabled?: boolean\n}\n\nconst InputPlaca: React.FC = ({\n name,\n label,\n placa,\n setPlaca,\n rules,\n disabled,\n}) => {\n return (\n \n setPlaca(e.target.value.toUpperCase())}\n />\n \n )\n}\n\nexport default InputPlaca\n","export default class ResultadoPesquisa {\n sucesso: boolean\n mensagem: string\n cor: string\n\n constructor(sucesso: boolean, mensagem: string, cor: string) {\n this.sucesso = sucesso\n this.mensagem = mensagem\n this.cor = cor\n }\n}\n","/* eslint-disable react/require-default-props */\nimport React, { Dispatch, SetStateAction, useEffect, useState } from 'react'\n\nimport { CheckOutlined, CloseOutlined, SearchOutlined } from '@ant-design/icons'\nimport { Button, Row, Col, Spin } from 'antd'\nimport { FormInstance } from 'antd/es/form/Form'\nimport Form, { Rule } from 'antd/lib/form'\nimport ID_COMPONENTE from 'config/idComponente'\nimport { Empresa, Veiculo } from 'Models/cadastros'\nimport { set, useForm } from 'react-hook-form'\nimport { Tooltip } from 'react-tooltip'\nimport { ParamsRequest } from 'Services/__shared/types/resquest'\nimport WsCadastroService from 'Services/WS_CADASTRO'\nimport 'react-tooltip/dist/react-tooltip.css'\nimport IFormEmpresasFilter from 'Views/Cadastros/Empresas/IFormEmpresasFilter'\nimport IFormVeiculosFilter from 'Views/Cadastros/Veiculos/IFormVeiculosFilter'\n\nimport InputPlaca from './InputPlaca'\nimport ResultadoPesquisa from './ResultadoPesquisa'\nimport { SelectFieldAnt, SelectItemProps } from './Select'\n\ninterface IProps {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n form: FormInstance //Nesse caso é necessário utilizar o \"any\" pois o useForm não é tipado\n setVeiculoSelecionado: Dispatch>\n veiculoSelecionado?: Veiculo\n selecionarPrimeiroVeiculoEncontrado?: boolean\n rules?: Rule[]\n\n //As props abaixo são opcionais, pois o componente pode ser utilizado sem a necessidade de selecionar uma transportadora\n obrigatorioSelecionarTransportadora?: boolean\n setTransportadoraSelecionada?: Dispatch>\n transportadoraSelecionada?: Empresa\n}\n\nconst PesquisaVeiculo: React.FC = ({\n form,\n setVeiculoSelecionado,\n veiculoSelecionado,\n selecionarPrimeiroVeiculoEncontrado = false,\n rules,\n obrigatorioSelecionarTransportadora = false,\n setTransportadoraSelecionada,\n transportadoraSelecionada,\n}) => {\n const hookForm = useForm()\n\n const [placa, setPlaca] = useState('')\n\n const [transportadoras, setTransportadoras] = useState([])\n const [selectTransportadoraItens, setSelectTransportadoraItens] = useState<\n SelectItemProps[]\n >([])\n const [cdTransportadoraSelecionada, setCdTransportadoraSelecionada] =\n useState()\n\n const [veiculos, setVeiculos] = useState()\n const [selectVeiculoItens, setSelectVeiculoItens] = useState<\n SelectItemProps[]\n >([])\n const [cdVeiculoSelecionado, setCdVeiculoSelecionado] = useState()\n\n const [carregandoPesquisa, setCarregandoPesquisa] = useState(false)\n const [resultado, setResultado] = useState()\n\n const buscaTransportadoras = async (): Promise => {\n const filtros: IFormEmpresasFilter = {\n ativo: true,\n }\n\n const parametros: ParamsRequest = {\n pageSize: 1000, //TO-DO: Ver se seria boa ideia que o WsCadastro retorne todas as empresas se esse parâmetro não for preenchido\n pageNumber: 1,\n }\n\n const { data } = await WsCadastroService.empresas.getList(\n ID_COMPONENTE.DOCAS,\n filtros,\n parametros,\n )\n\n if (data.items && data.items.length > 0) {\n setTransportadoras(data.items)\n\n setSelectTransportadoraItens(\n data.items.map((item: Empresa): SelectItemProps => {\n return {\n value: item.id.toString(),\n label: item.nome,\n }\n }),\n )\n } else {\n mostraResultado(false, 'Nenhuma transportadora encontrada')\n }\n }\n\n const validaPlaca = (placa: string): boolean => {\n const regex = /^[A-Z]{3}\\d{1,4}$|^[A-Z]{3}\\d[A-Z]\\d{2}$/ //Placas no formato ABC1234 ou ABC1D23\n return regex.test(placa)\n }\n\n const buscaVeiculos = async (): Promise => {\n if (validaPlaca(placa)) {\n try {\n const filtros: IFormVeiculosFilter = {\n placa: placa,\n situacao: 'ativo',\n }\n\n if (cdTransportadoraSelecionada) {\n filtros.cdEntidade = cdTransportadoraSelecionada\n }\n\n const parametros: ParamsRequest = {\n pageSize: 1000, //TO-DO: Ver se seria boa ideia que o WsCadastro retorne todos os veículos se esse parâmetro não for preenchido\n pageNumber: 1,\n }\n\n const { data } = await WsCadastroService.veiculos.getList(\n ID_COMPONENTE.DOCAS,\n filtros,\n parametros,\n )\n\n if (data.items) {\n if (selecionarPrimeiroVeiculoEncontrado && data.items.length > 0) {\n setVeiculos([data.items[0]])\n } else {\n setVeiculos(data.items)\n }\n }\n\n if (!data.items || data.items.length === 0) {\n mostraResultado(false, 'Nenhum veículo encontrado')\n }\n } catch (erro) {\n mostraResultado(false, 'Ocorreu um erro ao buscar os veículos')\n window.console.error(erro)\n }\n } else {\n mostraResultado(false, 'A placa precisa ter o formato ABC1234 ou ABC1D23')\n }\n\n setCarregandoPesquisa(false)\n }\n\n const selecionaTransportadora = (\n cdTransportadora: number,\n removerVeiculoSelecionado = false,\n ): void => {\n const transportadora: Empresa | undefined = transportadoras.find(\n (item: Empresa) => item.id === cdTransportadora,\n )\n\n if (transportadora && setTransportadoraSelecionada) {\n setTransportadoraSelecionada(transportadora)\n\n if (removerVeiculoSelecionado && veiculoSelecionado) {\n setVeiculoSelecionado(undefined)\n }\n } else {\n mostraResultado(\n false,\n 'Ocorreu um erro ao selecionar a transportadora, atualize a página e tente novamente',\n )\n }\n }\n\n const preparaTransportadoraSelecionada = (\n cdTransportadora?: number,\n ): void => {\n if (cdTransportadora) {\n selecionaTransportadora(cdTransportadora, true)\n } else if (transportadoraSelecionada && setTransportadoraSelecionada) {\n setTransportadoraSelecionada(undefined)\n }\n }\n\n const preparaVeiculoSelecionado = (cdVeiculo?: number): void => {\n if (cdVeiculo) {\n const veiculo: Veiculo | undefined = veiculos?.find(\n (item: Veiculo) => item.id === cdVeiculo,\n )\n\n if (veiculo) {\n setVeiculoSelecionado(veiculo)\n\n if (transportadoras.length > 0 && setTransportadoraSelecionada) {\n selecionaTransportadora(veiculo.cdEntidade)\n }\n } else {\n mostraResultado(\n false,\n 'Ocorreu um erro ao selecionar o veículo, atualize a página e tente novamente',\n )\n }\n } else if (veiculoSelecionado) {\n setVeiculoSelecionado(undefined)\n }\n }\n\n const verificaSeDesabilitaBotaoPesquisar = (): boolean => {\n return (\n placa.length !== 7 ||\n (obrigatorioSelecionarTransportadora && !transportadoraSelecionada)\n )\n }\n\n const preparaVeiculos = (): void => {\n if (veiculos) {\n if (veiculos.length <= 1) {\n setCdVeiculoSelecionado(veiculos[0]?.id) //Se o array de veículos tiver apenas um item, já o seleciona. Mas se não tiver nenhum, limpa qualquer seleção anterior\n setSelectVeiculoItens([]) //Se o array de veículos tiver 0 ou 1 item, o Select não deve ser exibido\n mostraResultado(veiculos.length > 0, 'Nenhum veículo encontrado')\n } else {\n setCdVeiculoSelecionado(undefined)\n setSelectVeiculoItens(\n veiculos\n .sort(\n (a: Veiculo, b: Veiculo) =>\n a.nomeEntidade.localeCompare(b.nomeEntidade), //Classifica os veículos por nome da transportadora em ordem alfabética\n )\n .map((item: Veiculo): SelectItemProps => {\n return {\n value: item.id.toString(),\n label: item.nomeEntidade, //Todos os veículos possuem a mesma placa, então o \"label\" é o nome da transportadora\n }\n }),\n )\n window.alert(\n 'Foram encontrados mais de um veículo com a placa informada, selecione a transportadora desejada',\n )\n }\n }\n }\n\n const verificaVeiculoSelecionado = (): void => {\n if (veiculoSelecionado) {\n mostraResultado(true)\n } else if (resultado) {\n setResultado(undefined)\n }\n }\n\n const mostraResultado = (\n sucesso: boolean,\n mensagemEmCasoDeErro?: string,\n ): void => {\n let mensagem: string\n let cor: string\n\n if (sucesso) {\n mensagem = 'Veículo encontrado'\n cor = 'green'\n } else {\n mensagem = mensagemEmCasoDeErro ?? 'Erro'\n cor = 'red'\n }\n\n setResultado(new ResultadoPesquisa(sucesso, mensagem, cor))\n }\n\n const verificaSeMostraSelectVeiculos = (): boolean => {\n return selectVeiculoItens.length > 1\n }\n\n const verificaSeMostraSelectTransportadoras = (): boolean => {\n return !verificaSeMostraSelectVeiculos() && !!setTransportadoraSelecionada //Força conversão para boolean\n }\n\n const calculaTamanhoColPlaca = (): number => {\n return verificaSeMostraSelectTransportadoras() ||\n verificaSeMostraSelectVeiculos()\n ? 12\n : 24\n }\n\n useEffect(() => {\n if (setTransportadoraSelecionada) {\n buscaTransportadoras()\n }\n }, [])\n\n useEffect(() => {\n if (cdVeiculoSelecionado) {\n setCdVeiculoSelecionado(undefined)\n setVeiculoSelecionado(undefined)\n }\n\n if (veiculos) {\n setVeiculos(undefined)\n setSelectVeiculoItens([])\n }\n\n form.resetFields(['cdVeiculo'])\n }, [placa])\n\n useEffect(() => {\n if (carregandoPesquisa) {\n buscaVeiculos()\n }\n }, [carregandoPesquisa])\n\n useEffect(() => {\n preparaTransportadoraSelecionada(cdTransportadoraSelecionada)\n }, [cdTransportadoraSelecionada])\n\n useEffect(() => {\n preparaVeiculoSelecionado(cdVeiculoSelecionado)\n }, [cdVeiculoSelecionado])\n\n useEffect(() => {\n preparaVeiculos()\n }, [veiculos])\n\n useEffect(() => {\n verificaVeiculoSelecionado()\n }, [veiculoSelecionado])\n\n return (\n \n {verificaSeMostraSelectVeiculos() && (\n \n \n setCdVeiculoSelecionado(window.parseInt(cdVeiculoStr))\n }\n rules={rules}\n />\n \n )}\n\n {verificaSeMostraSelectTransportadoras() && (\n \n {selectTransportadoraItens.length > 0 ? (\n \n setCdTransportadoraSelecionada(\n window.parseInt(cdTransportadoraStr),\n )\n }\n rules={rules}\n />\n ) : (\n \n \n \n )}\n \n )}\n\n \n \n \n \n \n\n \n
\n }\n onClick={() => setCarregandoPesquisa(true)}\n disabled={verificaSeDesabilitaBotaoPesquisar()}\n loading={carregandoPesquisa}\n />\n\n {resultado && (\n <>\n \n\n \n {resultado.sucesso ? : }\n \n \n )}\n
\n \n
\n \n
\n )\n}\n\nexport default PesquisaVeiculo\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport React, { useContext, useEffect, useState } from 'react'\n\nimport { Button, Col, Form, PageHeader, Row, Skeleton, Table } from 'antd'\nimport { MaskedInput } from 'antd-mask-input'\nimport { SelectFieldAnt } from 'Components/Form'\nimport DateSelector from 'Components/Form/DateSelector'\nimport PesquisaVeiculo from 'Components/Form/PesquisaVeiculo'\nimport { SelectItemProps } from 'Components/Form/Select'\nimport ID_COMPONENTE from 'config/idComponente'\nimport Veiculos from 'Helpers/Veiculos'\nimport { Veiculo } from 'Models/cadastros'\nimport { IHorario } from 'Models/docas'\nimport moment from 'moment'\nimport { useForm } from 'react-hook-form'\nimport { ParamsRequest } from 'Services/__shared/types/resquest'\nimport WsCadastroService from 'Services/WS_CADASTRO'\nimport WsDocasService from 'Services/WS_DOCAS'\nimport IFormVeiculosFilter from 'Views/Cadastros/Veiculos/IFormVeiculosFilter'\n\nimport IFormDocasBucasPorPlacaFilter from '../../../Models/docas/IFormDocasBuscaPorPlacaFilter'\nimport { DocasContext } from '../Context/context'\n\nconst ModalBuscaPorPlaca = () => {\n const [form] = Form.useForm()\n const { docasContext, setDocasContext } = useContext(DocasContext)\n const [agenda, setAgenda] = useState([])\n const [veiculoSelecionado, setVeiculoSelecionado] = useState()\n const [carregandoPesquisa, setCarregandoPesquisa] = useState(false)\n\n const pesquisaAgenda = async (filtros: IFormDocasBucasPorPlacaFilter) => {\n if (veiculoSelecionado) {\n filtros.dataInicio = filtros.dataInicioMoment.format(\n 'YYYY-MM-DD HH:mm:ss',\n )\n\n if (filtros.dataFimMoment) {\n filtros.dataFim = filtros.dataFimMoment.format('YYYY-MM-DD HH:mm:ss')\n }\n\n filtros.placa = veiculoSelecionado.placa\n\n try {\n const { data } = await WsDocasService.agenda.pesquisaPorPlaca(\n ID_COMPONENTE.DOCAS,\n filtros,\n )\n\n if (data.items) {\n setAgenda(data.items)\n }\n } catch (e) {\n alert('Não foram encontradas agendas no intervalo de datas informado')\n }\n } else {\n alert('Informe um veículo para pesquisa')\n }\n\n setCarregandoPesquisa(false)\n }\n\n return (\n <>\n
\n setCarregandoPesquisa(true)}\n disabled={!veiculoSelecionado}\n >\n Pesquisar\n ,\n ]}\n >\n \n \n \n \n\n \n \n \n\n \n \n \n \n \n \n\n \n \n \n moment(dtHora).format('DD/MM/YYYY HH:mm:SS'),\n },\n {\n title: 'Armazém',\n key: 'nomeArmazem',\n dataIndex: 'nomeArmazem',\n },\n {\n title: 'Doca',\n key: 'nomeDoca',\n dataIndex: 'nomeDoca',\n },\n {\n title: 'Janela',\n key: 'nomeJanela',\n dataIndex: 'nomeJanela',\n },\n {\n title: 'Motorista',\n key: 'nomeMotorista',\n dataIndex: 'nomeMotorista',\n },\n {\n title: 'Empresa',\n key: 'nomeEntidade',\n dataIndex: 'nomeEntidade',\n },\n {\n title: 'Oferta',\n key: 'numeroOferta',\n dataIndex: 'numeroOferta',\n },\n {\n title: 'Confirmado',\n key: 'confirmado',\n dataIndex: 'confirmado',\n render: (confirmado: boolean) => (confirmado ? 'Sim' : 'Não'),\n },\n {\n title: 'Alerta',\n key: 'temAlerta',\n dataIndex: 'temAlerta',\n render: (temAlerta: boolean) => (temAlerta ? 'Sim' : 'Não'),\n },\n ]}\n dataSource={agenda}\n />\n \n \n \n )\n}\n\nexport default ModalBuscaPorPlaca\n","import { IMaskFunction } from './'\n\nconst cnpj: IMaskFunction = {\n apply: (value: string) => {\n if (!value) return ''\n\n const regexp = /^(\\d{0,2})(\\d{0,3})(\\d{0,3})(\\d{0,4})(\\d{0,2}).*/\n const result = '$1.$2.$3/$4-$5'\n\n return value\n .toString()\n .replace(regexp, result)\n .replace(/[-.\\\\]$/, '')\n .replace(/[-.\\\\]$/, '')\n .replace(/[-.\\\\]$/, '')\n },\n clean: (value: string) =>\n (value?.toString() || '').replace(/\\D/gi, '').substr(0, 14),\n}\n\nexport default cnpj\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport React, {\n Dispatch,\n SetStateAction,\n useContext,\n useEffect,\n useState,\n} from 'react'\n\nimport {\n Button,\n Col,\n Form,\n Input,\n PageHeader,\n Radio,\n Row,\n Skeleton,\n Spin,\n} from 'antd'\nimport { MaskedInput } from 'antd-mask-input'\nimport DateSelector from 'Components/Form/DateSelector'\nimport PesquisaVeiculo from 'Components/Form/PesquisaVeiculo'\nimport { SelectFieldAnt, SelectItemProps } from 'Components/Form/Select'\nimport ID_COMPONENTE from 'config/idComponente'\nimport { ApplicationContext } from 'Context'\nimport Veiculos from 'Helpers/Veiculos'\nimport cnpj from 'Hooks/useMask/cnpj'\nimport cpf from 'Hooks/useMask/cpf'\nimport { Empresa, Motorista, Veiculo } from 'Models/cadastros'\nimport { ICandidato } from 'Models/docas'\nimport moment from 'moment'\nimport env from 'react-dotenv'\nimport { useForm } from 'react-hook-form'\nimport { useSnackbar } from 'react-simple-snackbar'\nimport { ParamsRequest } from 'Services/__shared/types/resquest'\nimport WsCadastroService from 'Services/WS_CADASTRO'\nimport WsDocasService from 'Services/WS_DOCAS'\nimport { MsgSuccessOptions } from 'Types/SnackbarTypes'\nimport IFormEmpresasFilter from 'Views/Cadastros/Empresas/IFormEmpresasFilter'\nimport IFormMotoristasFilter from 'Views/Cadastros/Motoristas/IFormMotoristasFilter'\nimport IFormVeiculosFilter from 'Views/Cadastros/Veiculos/IFormVeiculosFilter'\n\nimport { DocasContext } from '../Context/context'\n\ninterface IProps {\n setModal: Dispatch>\n updateGridCandidatos: () => void\n}\n\nconst ModalCandidatos = ({ setModal, updateGridCandidatos }: IProps) => {\n const hookForm = useForm()\n const [form] = Form.useForm()\n const { docasContext, setDocasContext } = useContext(DocasContext)\n const { applicationContext, setApplicationContext } =\n useContext(ApplicationContext)\n const [carregandoInclusao, setCarregandoInclusao] = useState(false)\n const [selectMotoristaItens, setSelectMotoristaItens] = useState<\n SelectItemProps[]\n >([])\n const [motoristas, setMotoristas] = useState([])\n const [carregandoMotoristas, setCarregandoMotoristas] =\n useState(true)\n\n const [veiculoSelecionado, setVeiculoSelecionado] = useState()\n const [transportadoraSelecionada, setTransportadoraSelecionada] =\n useState()\n\n const [mostrarFormulario, setMostrarFormulario] = useState(true)\n\n const [podeCriarCandidatosSemMotorista] = useState(\n env.CDS_ENTIDADES_SISTEMA_PODEM_CRIAR_CANDIDATOS_SEM_MOTORISTA.split(',')\n .map((cdEntidadeSistema: string) => window.parseInt(cdEntidadeSistema))\n .includes(applicationContext.usuarioAtual?.cdEntidadeSistema),\n )\n\n const [openSnackbarSuccess, closeSnackbarSuccess] =\n useSnackbar(MsgSuccessOptions)\n\n const getMotoristas = async () => {\n setCarregandoMotoristas(true)\n\n const filtros: IFormMotoristasFilter = {\n ativo: true,\n }\n\n const parametros: ParamsRequest = {\n pageSize: 100,\n pageNumber: 1,\n }\n\n const { data } = await WsCadastroService.motoristas.getList(\n ID_COMPONENTE.DOCAS,\n filtros,\n parametros,\n )\n\n if (data.items) {\n setMotoristas(data.items)\n\n const selectMotoristasData: SelectItemProps[] = data.items.map(\n (item: Motorista) => {\n return {\n value: item.id.toString(),\n label: item.nome + (item.sobrenome ? ' ' + item.sobrenome : ''),\n }\n },\n )\n\n setSelectMotoristaItens(selectMotoristasData)\n }\n\n if (mostrarFormulario && (!data.items || data.items.length === 0)) {\n setMostrarFormulario(false)\n }\n\n setCarregandoMotoristas(false)\n }\n\n useEffect(() => {\n getMotoristas()\n }, [])\n\n const monstraMensagemErroFormulario = () => {\n let mensagemErro =\n 'Antes de continuar, acesse a tela inicial do Compulog e cadastre pelo menos um(a)'\n\n if (selectMotoristaItens.length === 0) {\n mensagemErro += ' motorista,'\n }\n\n mensagemErro = mensagemErro.substring(0, mensagemErro.length - 1) + '.' //Remove a ultima virgula e coloca um ponto final\n\n return (\n <>\n \n \n
\n
ATENÇÃO!
\n
{mensagemErro}
\n
\n \n
\n \n )\n }\n\n const cadastraCandidato = async (candidato: ICandidato) => {\n setCarregandoInclusao(true)\n\n candidato.previsaoCargaDescarga =\n candidato.previsaoCargaDescargaMoment!.format()\n\n if (docasContext.armazemAtual) {\n candidato.armazem = docasContext.armazemAtual.nomeArmazem\n\n candidato.cdAgendamentoDocasArmazem =\n docasContext.armazemAtual.cdAgendamentoDocasArmazem\n\n candidato.cdPontoEntidadeArmazem =\n docasContext.armazemAtual.cdPontoEntidadeArmazem\n\n candidato.cdPontoEntidadeUnidade =\n docasContext.armazemAtual.cdPontoEntidadeUnidade\n }\n\n candidato.agendado = false\n candidato.ativo = true\n candidato.criaViagem = true\n\n let motorista: Motorista | undefined\n\n if (candidato.cdMotorista) {\n motorista = motoristas.find((f) => f.id == candidato.cdMotorista)\n\n if (motorista) {\n candidato.nome = motorista.nome\n candidato.sobrenome = motorista.sobrenome ?? ''\n candidato.cpf = motorista.cpf\n }\n }\n\n const cnpjString: string | undefined = transportadoraSelecionada?.cnpj\n\n if (cnpjString) {\n candidato.cnpj = parseInt(cnpj.clean(cnpjString).toString())\n }\n\n const placa: string | undefined = veiculoSelecionado?.placa\n\n if (placa) {\n candidato.placa = placa\n }\n\n candidato.nomeTransportadora = transportadoraSelecionada?.nome ?? ''\n\n const { data } = await WsDocasService.candidatos.create(\n ID_COMPONENTE.DOCAS,\n candidato,\n )\n\n if (data?.statusCode === 501) {\n setModal(false)\n openSnackbarSuccess('Candidato cadastrado com sucesso')\n await updateGridCandidatos()\n }\n\n setCarregandoInclusao(false)\n }\n\n return (\n
\n \n Cadastrar\n ,\n ]\n : []\n }\n >\n {mostrarFormulario ? (\n <>\n \n \n {carregandoMotoristas ? (\n \n \n \n ) : podeCriarCandidatosSemMotorista ? (\n \n ) : (\n \n )}\n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n Carga\n Descarga\n \n \n \n \n \n ) : (\n monstraMensagemErroFormulario()\n )}\n \n \n )\n}\n\nexport default ModalCandidatos\n","import React, { ReactElement } from 'react'\n\nimport { Col, PageHeader, Row } from 'antd'\n\nconst ModalAjudaConfiguracaoArmazem = (): ReactElement => {\n return (\n \n \n
\n A modal de configurações de armazéns dos Docas permite configurar e\n determinar alguns parâmetros para cada armazém individualmente. Como\n por exemplo: número de Docas, quantidade de janelas, tamanho de\n janelas secundarias, vincular grupos de usuários ao armazém etc.\n
\n
\n Botões de configuração:\n
\n → Editar Armazém: onde se faz toda configuração do armazém escolhido.\n
\n → Liberar Agenda: escolhe-se uma data para liberar a agenda.\n
\n → Bloquear Agenda: escolhe-se uma data para bloquear na agenda.\n
\n
\n Editar Armazém:\n
\n Clicando no botão com forma de lápis abrirá todas as opções de\n configuração do armazém escolhido. Primeiro deve-se escolher a data\n para ajustar as configurações do armazém.\n
\n Importante: A data a se\n escolher deve ser obrigatoriamente para um dia sem a agenda liberada.\n No caso específico da Adami, além da agenda liberada, a alteração da\n configuração só pode ser feita 5 dias após a data atual. Toda as vezes\n que se queira alterar a configuração do armazém e já se tenha uma\n configuração anterior que irá entrar me vigor, o sistema alertara que\n a configuração mais antiga será sobescrita.\n
\n
\n Demais configurações:\n
\n → Nome do Armazém;\n
\n → Tipo de Armazém: Expedição ou Biomassa;\n
\n → Gerencia Cota: Sim ou Não\n
\n → Número de Docas;\n
\n → Horário de Funcionamento;\n
\n → Quantidade de Janelas Primárias: As opções são calculadas\n automaticamente de acordo com o horário de funcionamento\n
\n → Tamanho das Janelas Secundárias: De 15 minutos a 2 horas, onde cada\n opção é um número múltiplo de 15\n
\n → Tipo de Macro: Simples, Portaria, Expedição e Avançado.\n
\n
\n \n Configuração de macros específicas:\n \n
\n → Pode-se configurar as Macros que podem ser usadas no Armazém. Se\n esta opção não for ajustada as regras que que determina as Macros que\n o usuário poderá usar são as determinadas pelo Grupo de Usuários.\n
\n → Usando o botão “Adicionar Macro” pode-se incluir novas Macros e\n determinar se ela será obrigatória ou não usando o checkbox.\n
\n → Opções disponíveis na grid:\n
\n
    \n
  • Setas: alteram a ordem lógica das macros
  • \n
  • Triângulo com exclamação: altera a obrigatoriedade da macro
  • \n
  • Lixeira: remove a macro
  • \n
\n \n Configurações que não dependem da data selecionada e que são\n aplicadas imediatamente:\n \n
\n → Vincular Grupos de Usuário: determina quais grupos podem visualizar\n o armazém.\n
\n → Situação: define se o armazém está ativo ou inativo.\n
\n
\n \n Após concluir a configuração do armazém, clique no botão Salvar.\n \n
\n \n
\n )\n}\n\nexport default ModalAjudaConfiguracaoArmazem\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport React, { ReactElement, useEffect, useState } from 'react'\n\nimport { DeleteOutlined, EditOutlined, PlusOutlined } from '@ant-design/icons'\nimport {\n Button,\n Col,\n Form,\n Input,\n PageHeader,\n Radio,\n Result,\n Row,\n Table,\n} from 'antd'\nimport { SelectFieldAnt } from 'Components/Form'\nimport { SelectItemProps } from 'Components/Form/Select'\nimport ID_COMPONENTE from 'config/idComponente'\nimport { Roles } from 'Models/auth'\nimport { IAlertaTipo } from 'Models/docas'\nimport { useForm } from 'react-hook-form'\nimport AuthService from 'Services/UAA'\nimport WsDocasService from 'Services/WS_DOCAS'\nimport swal from 'sweetalert'\n\nconst ModalConfigurarAlertas = (): ReactElement => {\n const [alertasTipos, setAlertasTipos] = useState([])\n const [roles, setRoles] = useState([])\n const [selectRoleItens, setSelectRoleItens] = useState([])\n const [formulario] = Form.useForm()\n const hookForm = useForm()\n const [visualizarAlertas, setVisualizarAlertas] = useState(true)\n const [carregandoInclusaoEdicao, setCarregandoInclusaoEdicao] =\n useState(false)\n const [carregandoGrid, setCarregandoGrid] = useState(false)\n const [edicaoAlerta, setEdicaoAlerta] = useState(false)\n const [result, setResult] = useState(0)\n const [mensagem, setMensagem] = useState()\n\n const cadastraOuEditaAlerta = async (alerta: IAlertaTipo) => {\n try {\n setCarregandoInclusaoEdicao(true)\n\n if (alerta.ativo === undefined || alerta.ativo === null) {\n alerta.ativo = true\n }\n\n if (alerta.idsRoles) {\n for (let i = 0; i < alerta.idsRoles.length; i++) {\n if (isNaN(alerta.idsRoles[i])) {\n alerta.idsRoles[i] = roles.find(\n (f) => f.name == alerta.idsRoles[i],\n )!.id\n }\n }\n }\n\n const { data } = edicaoAlerta\n ? await WsDocasService.alerta.updateTipo(ID_COMPONENTE.DOCAS, alerta)\n : await WsDocasService.alerta.createTipo(ID_COMPONENTE.DOCAS, alerta)\n\n let mensagem: string\n\n if (data.statusCode == 501) {\n setResult(200)\n mensagem =\n 'Alerta ' + (edicaoAlerta ? 'editado' : 'cadastrado') + ' com sucesso'\n } else {\n setResult(400)\n mensagem =\n 'Ocorreu um problema' +\n (edicaoAlerta ? ' na edição' : 'no cadastro') +\n ' do alerta, favor contatar o suporte do Compulog'\n\n if (data.message) {\n mensagem += ': ' + data.message\n }\n }\n\n setMensagem(mensagem)\n setEdicaoAlerta(false)\n await getAlertasTipos()\n setCarregandoInclusaoEdicao(false)\n formulario.resetFields()\n } catch (e) {\n setResult(400)\n setMensagem(\n 'Ocorreu um problema' +\n (edicaoAlerta ? ' na edição' : 'no cadastro') +\n ' do alerta, favor contatar o suporte do Compulog',\n )\n }\n }\n\n const preparaEdicao = (cdAlertaTipo: number) => {\n const alerta: IAlertaTipo | undefined = alertasTipos.find(\n (f) => f.cdAlertaTipo === cdAlertaTipo,\n )\n\n if (alerta) {\n const valoresFormulario = {\n cdAlertaTipo: alerta.cdAlertaTipo,\n nome: alerta.nome,\n descricao: alerta.descricao,\n ativo: alerta.ativo,\n tempo: alerta.tempo,\n idsRoles: roles\n .filter((f) => alerta.idsRoles.includes(f.id))\n .map((role) => role.name),\n }\n setVisualizarAlertas(false)\n setEdicaoAlerta(true)\n formulario.setFieldsValue(valoresFormulario)\n } else {\n alert(\n 'Ocorreu um problema na edição do alerta, favor contatar o suporte do Compulog',\n )\n }\n }\n\n const removeAlerta = async (cdAlertaTipo: number) => {\n const { data } = await WsDocasService.alerta.deleteTipo(\n ID_COMPONENTE.DOCAS,\n cdAlertaTipo,\n )\n\n if (data.statusCode == 501) {\n setResult(200)\n setMensagem('Alerta removido com sucesso')\n } else {\n setResult(400)\n setMensagem(\n 'Ocorreu um problema na remoção do alerta, favor contatar o suporte do Compulog',\n )\n }\n\n setVisualizarAlertas(false)\n await getAlertasTipos()\n }\n\n const preparaRemocao = (cdAlertaTipo: number) => {\n swal({\n title: 'Confirmar?',\n text:\n 'Tem certeza que deseja remover o alerta ' +\n (alertasTipos.find((f) => f.cdAlertaTipo === cdAlertaTipo)?.nome ??\n 'selecionado') +\n '?',\n icon: 'warning',\n buttons: ['NÃO', 'SIM'],\n dangerMode: true,\n }).then(async (willDelete) => {\n if (willDelete) {\n removeAlerta(cdAlertaTipo)\n }\n })\n }\n\n const getRoles = async () => {\n const { data } = await AuthService.GetRoles()\n\n if (data) {\n const selectRoleData: SelectItemProps[] = data.map((item: Roles) => {\n return {\n value: item.id.toString(),\n label: item.name,\n }\n })\n\n setSelectRoleItens(selectRoleData)\n setRoles(data)\n }\n }\n\n const getAlertasTipos = async () => {\n setCarregandoGrid(true)\n\n const { data } = await WsDocasService.alerta.getListTipo(\n ID_COMPONENTE.DOCAS,\n )\n\n if (data.items) {\n setAlertasTipos(data.items)\n }\n\n setCarregandoGrid(false)\n }\n\n useEffect(() => {\n getRoles()\n getAlertasTipos()\n }, [])\n\n return (\n <>\n {visualizarAlertas ? (\n \n \n \n \n \n (\n <>\n preparaEdicao(cdAlertaTipo)}\n >\n \n \n preparaRemocao(cdAlertaTipo)}\n >\n \n \n \n ),\n },\n {\n title: 'Nome',\n key: 'nome',\n dataIndex: 'nome',\n },\n {\n title: 'Tempo (em minutos)',\n key: 'tempo',\n dataIndex: 'tempo',\n },\n {\n title: 'Situação',\n key: 'ativo',\n dataIndex: 'ativo',\n render: (ativo: boolean) => (ativo ? 'Ativo' : 'Inativo'),\n },\n ]}\n dataSource={alertasTipos}\n />\n \n \n ) : result === 0 ? (\n \n \n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n Ativo\n Inativo\n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n\n \n \n \n \n \n \n\n \n \n \n {edicaoAlerta ? 'Salvar' : 'Cadastrar'}\n \n {\n setVisualizarAlertas(true)\n formulario.resetFields()\n }}\n style={{ marginLeft: '-12px' }}\n >\n Voltar\n \n \n \n \n ) : (\n {\n setResult(0)\n\n if (result === 200) {\n setVisualizarAlertas(true)\n }\n }}\n >\n Voltar\n ,\n ]}\n />\n )}\n \n )\n}\n\nexport default ModalConfigurarAlertas\n","/* eslint-disable react/require-default-props */\nimport React, { Dispatch, ReactElement, SetStateAction, useState } from 'react'\n\nimport { CloseOutlined } from '@ant-design/icons'\nimport {\n Button,\n Col,\n DatePicker,\n Form,\n PageHeader,\n Radio,\n Result,\n Row,\n Select,\n Typography,\n} from 'antd'\nimport ID_COMPONENTE from 'config/idComponente'\nimport { IArmazem } from 'Models/docas'\nimport moment from 'moment'\nimport WsDocasService from 'Services/WS_DOCAS'\n\ninterface IProps {\n armazemSelecionado?: IArmazem\n dataSelecionada: moment.Moment\n setTela: Dispatch>\n}\n\nconst BloqueioAgenda = ({\n armazemSelecionado,\n dataSelecionada,\n setTela,\n}: IProps): ReactElement => {\n const { RangePicker } = DatePicker\n const [result, setResult] = useState(0)\n const [resultError, setResultError] = useState('')\n const [tipoBloqueio, setTipoBloqueio] = useState(1)\n const { Paragraph } = Typography\n const { Option } = Select\n\n const disabledDates = (current: moment.Moment) => {\n const inPast = moment().diff(current, 'days') > 0\n const tooEarly = current.diff(moment().add(10, 'days'), 'days') >= 0\n return inPast || tooEarly\n }\n\n const handleSubmitBloquearAgenda = async (values: any) => {\n if (armazemSelecionado && armazemSelecionado.cdAgendamentoDocasArmazem) {\n let result\n\n const ini: moment.Moment = values.data[0]\n const fim: moment.Moment = values.data[1]\n\n if (tipoBloqueio === 1) {\n //Armazém\n result = await WsDocasService.agenda.bloqueiaAgendaByArmazem(\n ID_COMPONENTE.DOCAS,\n moment(\n ini.subtract(3, 'hours').format('YYYY-MM-DD HH:mm') + ':00',\n ).format('YYYY-MM-DD HH:mm:ss'),\n moment(\n fim.subtract(3, 'hours').format('YYYY-MM-DD HH:mm') + ':59',\n ).format('YYYY-MM-DD HH:mm:ss'),\n armazemSelecionado.cdAgendamentoDocasArmazem,\n )\n } else if (tipoBloqueio === 2) {\n //Janelas\n result = await WsDocasService.agenda.bloqueiaAgendaByJanela(\n ID_COMPONENTE.DOCAS,\n ini.format('YYYY-MM-DD') + ' 00:00:00',\n fim.format('YYYY-MM-DD') + ' 23:59:59',\n values.janela,\n )\n } else {\n result = await WsDocasService.agenda.bloqueiaAgendaByDoca(\n ID_COMPONENTE.DOCAS,\n moment(\n ini.subtract(3, 'hours').format('YYYY-MM-DD HH:mm') + ':00',\n ).format('YYYY-MM-DD HH:mm:ss'),\n moment(\n fim.subtract(3, 'hours').format('YYYY-MM-DD HH:mm') + ':59',\n ).format('YYYY-MM-DD HH:mm:ss'),\n values.doca,\n )\n }\n\n if (!result?.data.error) {\n setResult(200)\n } else {\n setResult(400)\n if (result?.data.message) {\n setResultError(result.data.message)\n }\n }\n } else {\n console.log('Armazém não selecionado')\n }\n }\n\n return (\n <>\n setTela('')}>\n \n ,\n ]}\n />\n {result === 0 ? (\n \n \n \n O bloqueio de agendas bloqueia um período inteiro de agendamento\n fazendo com que todos os horários fiquem indisponíveis.\n \n \n \n \n \n setTipoBloqueio(e.target.value)}\n value={tipoBloqueio}\n >\n Armazém\n Janela\n Doca\n \n \n \n \n {tipoBloqueio === 1 && (\n <>\n \n Armazém: \n {armazemSelecionado?.nomeArmazem}\n \n \n \n \n \n \n \n \n \n )}\n\n {tipoBloqueio === 2 && (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )}\n\n {tipoBloqueio === 3 && (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )}\n \n \n \n \n \n \n ) : (\n <>\n {result === 200 ? (\n setResult(0)}\n >\n Bloquear outra data\n ,\n ]}\n />\n ) : null}\n\n {result !== 200 ? (\n setResult(0)}\n >\n Tentar novamente\n ,\n ]}\n />\n ) : null}\n \n )}\n \n )\n}\n\nexport default BloqueioAgenda\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable no-plusplus */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable react/require-default-props */\nimport React, {\n Dispatch,\n ReactElement,\n SetStateAction,\n useContext,\n useEffect,\n useState,\n} from 'react'\n\nimport {\n ArrowDownOutlined,\n ArrowUpOutlined,\n CheckOutlined,\n CloseOutlined,\n DeleteOutlined,\n WarningOutlined,\n} from '@ant-design/icons'\nimport {\n Button,\n Checkbox,\n Col,\n Form,\n Input,\n InputNumber,\n PageHeader,\n Radio,\n RadioChangeEvent,\n Result,\n Row,\n Skeleton,\n Slider,\n Table,\n TimePicker,\n Typography,\n} from 'antd'\nimport { CheckboxChangeEvent } from 'antd/lib/checkbox'\nimport { SelectFieldAnt } from 'Components/Form'\nimport DateSelector from 'Components/Form/DateSelector'\nimport { SelectItemProps } from 'Components/Form/Select'\nimport ID_COMPONENTE from 'config/idComponente'\nimport { UsuarioGrupo } from 'Models/cadastros'\nimport {\n IArmazem,\n IMacro,\n IMacroPermitida,\n IMacroPermitidaBase,\n IMacroTipo,\n} from 'Models/docas'\nimport IArmazemTipo from 'Models/docas/IArmazemTipo'\nimport IFormArmazemInput from 'Models/docas/IFormArmazemInput'\nimport moment from 'moment'\nimport { useForm } from 'react-hook-form'\nimport WsDocasService from 'Services/WS_DOCAS'\n\nimport { DocasContext } from '../Context/context'\n\ninterface IProps {\n armazemSelecionado?: IArmazem\n setTela: Dispatch>\n getArmazens: () => Promise\n}\n\nconst CadastroEdicaoArmazem = ({\n armazemSelecionado,\n setTela,\n getArmazens,\n}: IProps): ReactElement => {\n const calculaTotalHoras = (horarios?: any) => {\n const horariosAux =\n horarios || !armazemSelecionado\n ? horarios\n : [\n moment(armazemSelecionado.horaInicioFuncionamento, 'HH:mm:ss'),\n moment(armazemSelecionado.horaFimFuncionamento, 'HH:mm:ss'),\n ]\n\n let totalHoras = 24\n\n if (horariosAux) {\n //totalHoras = horariosAux[1].diff(horariosAux[0], 'hours', true)\n\n const difHoras: number = horariosAux[1].diff(\n horariosAux[0],\n 'hours',\n true,\n )\n\n totalHoras = window.parseFloat(difHoras.toFixed(2))\n }\n\n return totalHoras\n }\n\n const { docasContext, setDocasContext } = useContext(DocasContext)\n\n const [result, setResult] = useState(0)\n const [resultError, setResultError] = useState('')\n const { Paragraph } = Typography\n const [horarioFuncionamentoSelecionado, setHorarioFuncionamentoSelecionado] =\n useState(false)\n const [qtdMinimaJanelasPrimarias] = useState(1)\n const [qtdMaximaJanelasPrimarias, setQtdMaximaJanelasPrimarias] =\n useState(8)\n const [formulario] = Form.useForm()\n const [opcoesJanelasPrimarias, setOpcoesJanelasPrimarias] = useState()\n const [tamanhoJanelaSecundaria, setTamanhoJanelaSecundaria] =\n useState(60)\n const [tamanhoMinimoJanelaSecundaria] = useState(15)\n const [tamanhoMaximoJanelaSecundaria] = useState(135)\n const [medidaJanelaSecundaria] = useState(15)\n const [marcadoresJanelasSecundarias, setMarcadoresJanelasSecundarias] =\n useState()\n const [totalHoras, setTotalHoras] = useState(calculaTotalHoras())\n const hookForm = useForm()\n const [macros, setMacros] = useState([])\n const [macrosDisponiveis, setMacrosDisponiveis] = useState([])\n const [selectMacroDisponivelItens, setSelectMacroDisponivelItens] = useState<\n SelectItemProps[]\n >([])\n\n const [selectTipoMacroItens, setSelectTipoMacroItens] = useState<\n SelectItemProps[]\n >([])\n const [selectUsuarioGrupoItens, setSelectUsuarioGrupoItens] = useState<\n SelectItemProps[]\n >([])\n const [selectTipoArmazemItens, setSelectTipoArmazemItens] = useState<\n SelectItemProps[]\n >([])\n const [carregandoEdicaoArmazem, setCarregandoEdicaoArmazem] =\n useState(false)\n const [processandoFormulario, setProcessandoFormulario] =\n useState(false)\n const [cdMacroTipoSelecionado, setCdMacroTipoSelecionado] =\n useState('1')\n const [macrosPermitidas, setMacrosPermitidas] = useState(\n [],\n )\n const [macrosPermitidasAnteriores, setMacrosPermitidasAnteriores] = useState<\n IMacroPermitida[]\n >([])\n const [adicionandoMacro, setAdicionandoMacro] = useState(false)\n const [cdMacroSelecionada, setCdMacroSelecionada] = useState()\n const [macroSelecionadaObrigatoria, setMacroSelecionadaObrigatoria] =\n useState(false)\n\n const getMacros = async () => {\n const { data } = await WsDocasService.macro.getList(ID_COMPONENTE.DOCAS)\n\n if (data.items) {\n setMacros(data.items)\n }\n }\n\n const getTiposMacro = async () => {\n const { data } = await WsDocasService.macro.getTiposMacro(\n ID_COMPONENTE.DOCAS,\n )\n\n if (data.items) {\n const selectTiposMacroData: SelectItemProps[] = data.items.map(\n (item: IMacroTipo) => {\n return {\n value: item.cdMacro.toString(),\n label: item.nome,\n }\n },\n )\n\n setSelectTipoMacroItens(selectTiposMacroData)\n }\n }\n\n const getUsuariosGrupos = async () => {\n const { data } = await WsDocasService.misc.getUsuariosGrupos(\n ID_COMPONENTE.DOCAS,\n )\n\n if (data.items) {\n const selectUsuariosGruposData: SelectItemProps[] = data.items.map(\n (item: UsuarioGrupo) => {\n return {\n value: item.cdUsuarioGrupo.toString(),\n label: item.nome,\n }\n },\n )\n\n setSelectUsuarioGrupoItens(selectUsuariosGruposData)\n }\n }\n\n const getTiposArmazens = async () => {\n const { data } = await WsDocasService.armazem.getListTypes(\n ID_COMPONENTE.DOCAS,\n )\n\n if (data.items) {\n const selectTiposArmazemData: SelectItemProps[] = data.items.map(\n (item: IArmazemTipo) => {\n return {\n value: item.cdAgendamentoDocasArmazemTipo.toString(),\n label: item.descricao,\n }\n },\n )\n\n setSelectTipoArmazemItens(selectTiposArmazemData)\n }\n }\n\n const defineMarcadoresJanelasSecundarias = () => {\n const marcadores: any = {}\n\n if (tamanhoMinimoJanelaSecundaria <= 30) {\n marcadores[30] = 'meia hora'\n }\n\n for (let i = 60; i <= tamanhoMaximoJanelaSecundaria; i += 30) {\n const horas: number = i / 60\n const horasInteiras: number = Math.trunc(horas)\n\n marcadores[i] = horasInteiras + (horasInteiras === 1 ? ' hora' : ' horas')\n\n if (horas > horasInteiras) {\n marcadores[i] += ' e meia'\n }\n }\n\n setMarcadoresJanelasSecundarias(marcadores)\n }\n\n const buscaUltimaConfiguracao = async (armazemSelecionado: IArmazem) => {\n setCarregandoEdicaoArmazem(true)\n\n const { data } = await WsDocasService.armazem.getFutureConfigurations(\n ID_COMPONENTE.DOCAS,\n armazemSelecionado.cdAgendamentoDocasArmazem,\n )\n\n const cdsUsuariosGrupos: string[] = armazemSelecionado.cdsUsuariosGrupos\n .filter((cdUsuarioGrupo) => cdUsuarioGrupo !== 1) //O grupo master da Compuletra não deve aparecer\n .map((cdUsuarioGrupo) => cdUsuarioGrupo.toString())\n\n let armazemInput: IFormArmazemInput\n\n if (data.items && data.items.length > 0) {\n const ultimaConfiguracao: IArmazem = data.items[data.items.length - 1]\n\n if (ultimaConfiguracao.cdMacroTipo) {\n setCdMacroTipoSelecionado(ultimaConfiguracao.cdMacroTipo.toString())\n } else if (armazemSelecionado.cdMacroTipo) {\n setCdMacroTipoSelecionado(armazemSelecionado.cdMacroTipo.toString())\n }\n\n armazemInput = {\n nomeArmazem:\n ultimaConfiguracao.nomeArmazem ?? armazemSelecionado.nomeArmazem,\n ativo: armazemSelecionado.ativo,\n cdAgendamentoDocasArmazemTipo:\n ultimaConfiguracao.cdAgendamentoDocasArmazemTipo.toString() ??\n armazemSelecionado.cdAgendamentoDocasArmazemTipo.toString(),\n docasUteis:\n ultimaConfiguracao.docasUteis ?? armazemSelecionado.docasUteis,\n qtdJanelasPrimarias:\n ultimaConfiguracao.qtdJanelasPrimarias ??\n armazemSelecionado.qtdJanelasPrimarias,\n funcionamento:\n ultimaConfiguracao.horaInicioFuncionamento &&\n ultimaConfiguracao.horaFimFuncionamento\n ? [\n moment(ultimaConfiguracao.horaInicioFuncionamento, 'HH:mm:ss'),\n moment(ultimaConfiguracao.horaFimFuncionamento, 'HH:mm:ss'),\n ]\n : [\n moment(armazemSelecionado.horaInicioFuncionamento, 'HH:mm:ss'),\n moment(armazemSelecionado.horaFimFuncionamento, 'HH:mm:ss'),\n ],\n dataInicioMoment: moment(\n ultimaConfiguracao.dtInicio,\n 'DD/MM/YYYY HH:mm:ss',\n ),\n cdMacroTipo: cdMacroTipoSelecionado,\n tempoJanelaMinutos: ultimaConfiguracao.tempoJanelaMinutos,\n cdsUsuariosGrupos: cdsUsuariosGrupos,\n gerenciaCota: ultimaConfiguracao.gerenciaCota,\n }\n\n if (ultimaConfiguracao.macrosPermitidas) {\n setMacrosPermitidas([...ultimaConfiguracao.macrosPermitidas])\n setMacrosPermitidasAnteriores([...ultimaConfiguracao.macrosPermitidas])\n } else {\n setMacrosPermitidas([])\n setMacrosPermitidasAnteriores([])\n }\n\n setTimeout(() => {\n alert(\n 'Você está visualizando os dados de uma edição que ainda não foi aplicada. Se você editar novamente, a edição atual será sobreescrita.',\n )\n }, 500)\n } else {\n armazemInput = {\n nomeArmazem: armazemSelecionado.nomeArmazem,\n ativo: armazemSelecionado.ativo,\n cdAgendamentoDocasArmazemTipo:\n armazemSelecionado.cdAgendamentoDocasArmazemTipo.toString(),\n docasUteis: armazemSelecionado.docasUteis,\n qtdJanelasPrimarias: armazemSelecionado.qtdJanelasPrimarias,\n funcionamento: [\n moment(armazemSelecionado.horaInicioFuncionamento, 'HH:mm:ss'),\n moment(armazemSelecionado.horaFimFuncionamento, 'HH:mm:ss'),\n ],\n dataInicioMoment: moment().add(1, 'days'),\n cdMacroTipo: armazemSelecionado.cdMacroTipo?.toString(),\n tempoJanelaMinutos: armazemSelecionado.tempoJanelaMinutos,\n cdsUsuariosGrupos: cdsUsuariosGrupos,\n gerenciaCota: armazemSelecionado.gerenciaCota,\n }\n\n if (armazemSelecionado.macrosPermitidas) {\n setMacrosPermitidas([...armazemSelecionado.macrosPermitidas])\n setMacrosPermitidasAnteriores([...armazemSelecionado.macrosPermitidas])\n } else {\n setMacrosPermitidas([])\n setMacrosPermitidasAnteriores([])\n }\n }\n\n formulario.setFieldsValue(armazemInput)\n\n setCarregandoEdicaoArmazem(false)\n }\n\n const calculaQtdJanelasSecundarias = (qtdJanelasPrimarias: number) => {\n const qtdReal: number =\n totalHoras / qtdJanelasPrimarias / (tamanhoJanelaSecundaria / 60)\n\n return Math.round(qtdReal)\n }\n\n const converteMacrosPermitidasParaBase = (macros: IMacroPermitida[]) => {\n const macrosCopia: IMacroPermitida[] = [...macros]\n\n const macrosBase: IMacroPermitidaBase[] = []\n\n for (let i = 0; i < macros.length; i++) {\n macrosBase.push({\n cdMacro: macrosCopia[i].cdMacro,\n ordem: macrosCopia[i].ordem,\n obrigatoria: macrosCopia[i].obrigatoria,\n })\n }\n\n return macrosBase\n }\n\n const cadastraOuEditaArmazem = async (armazemInput: IFormArmazemInput) => {\n setProcessandoFormulario(true)\n\n try {\n const docas = []\n\n for (let i = 0; i < armazemInput.docasUteis; i++) {\n docas.push({\n nomeDoca: `Doca ${i + 1}`,\n status: 1,\n funcao: 0,\n })\n }\n\n const janelas = []\n\n for (let i = 0; i < armazemInput.qtdJanelasPrimarias; i++) {\n janelas.push({\n nomeJanela: `Janela ${i + 1}`,\n })\n }\n\n const macrosPermitidasBaseAnteriores: IMacroPermitidaBase[] =\n converteMacrosPermitidasParaBase(macrosPermitidasAnteriores)\n\n const macrosPermitidasBaseNovas: IMacroPermitidaBase[] =\n converteMacrosPermitidasParaBase(macrosPermitidas)\n\n const atualizaMacros: boolean =\n JSON.stringify(macrosPermitidasBaseAnteriores) !==\n JSON.stringify(macrosPermitidasBaseNovas)\n\n const armazem = {\n cdArmazem: armazemSelecionado?.cdAgendamentoDocasArmazem,\n cdAgendamentoDocasArmazemTipo: window.parseInt(\n armazemInput.cdAgendamentoDocasArmazemTipo,\n ),\n cdPontoEntidadeUnidade: 0,\n cdPontoEntidadeArmazem: 0,\n dataInicio: armazemSelecionado\n ? armazemInput.dataInicioMoment.format('YYYY-MM-DD HH:mm:ss')\n : undefined,\n nomeArmazem: armazemInput.nomeArmazem,\n ativo: armazemInput.ativo,\n funcionamentoInicio: {\n horas: parseInt(armazemInput.funcionamento[0].format('HH')),\n minutos: parseInt(armazemInput.funcionamento[0].format('mm')),\n },\n funcionamentoFim: {\n horas: parseInt(armazemInput.funcionamento[1].format('HH')),\n minutos: parseInt(armazemInput.funcionamento[1].format('mm')),\n },\n docas,\n janelas,\n qtdJanelasSecundarias: calculaQtdJanelasSecundarias(\n armazemInput.qtdJanelasPrimarias,\n ),\n criarAutomatico: true,\n cdMacroTipo: cdMacroTipoSelecionado,\n tempoJanelaMinutos: tamanhoJanelaSecundaria,\n cdsUsuariosGrupos: armazemInput.cdsUsuariosGrupos,\n gerenciaCota: armazemInput.gerenciaCota,\n macrosPermitidas: macrosPermitidasBaseNovas,\n atualizaMacros: atualizaMacros,\n }\n\n try {\n const { data } = armazemSelecionado\n ? await WsDocasService.armazem.update(ID_COMPONENTE.DOCAS, armazem)\n : await WsDocasService.armazem.create(ID_COMPONENTE.DOCAS, armazem)\n\n if (data.statusCode == 501) {\n await getArmazens()\n setDocasContext({ ...docasContext, refreshArmazem: new Date() })\n setResult(200)\n } else {\n setResult(400)\n if (data.message) {\n setResultError(data.message)\n }\n }\n } catch (e) {\n console.error(e)\n\n setResult(400)\n setResultError(\n 'Verifique se você preencheu todos os campos corretamente',\n )\n }\n } catch (e) {\n console.error(e)\n }\n\n setProcessandoFormulario(false)\n }\n\n const alteraOpcoesJanelasPrimarias = (horarios: any) => {\n const numHoras: number = calculaTotalHoras(horarios)\n let qtdMaximaOpcoes = 1\n\n if (numHoras !== totalHoras) {\n setTotalHoras(numHoras)\n }\n\n const opcoes: any = {}\n opcoes[1] = 1\n\n for (let i = 2; i < numHoras; i++) {\n if (numHoras % i === 0) {\n opcoes[i] = i\n qtdMaximaOpcoes = i\n }\n }\n\n setOpcoesJanelasPrimarias(opcoes)\n setQtdMaximaJanelasPrimarias(qtdMaximaOpcoes)\n\n const dadosFormulario = formulario.getFieldsValue()\n\n if (!opcoes[dadosFormulario.qtdJanelasPrimarias]) {\n dadosFormulario.qtdJanelasPrimarias = 1\n formulario.resetFields()\n formulario.setFieldsValue(dadosFormulario)\n }\n\n if (!horarioFuncionamentoSelecionado) {\n setHorarioFuncionamentoSelecionado(true)\n }\n }\n\n const alteraOrdemMacro = (ordemOriginal: number, incremento: number) => {\n const ordemNova: number = ordemOriginal + incremento\n\n if (ordemNova >= 1 && ordemNova <= macrosPermitidas.length) {\n const macrosOrdenadas: IMacroPermitida[] = [...macrosPermitidas]\n\n macrosOrdenadas[ordemOriginal - 1].ordem = ordemNova\n macrosOrdenadas[ordemNova - 1].ordem = ordemOriginal\n\n macrosOrdenadas.sort((macro1: IMacroPermitida, macro2: IMacroPermitida) =>\n macro1.ordem > macro2.ordem ? 1 : -1,\n )\n\n setMacrosPermitidas(macrosOrdenadas)\n }\n }\n\n const alteraObrigatoriedadeMacro = (cdMacro: number) => {\n const macrosAtualizadas: IMacroPermitida[] = [...macrosPermitidas]\n\n const macroAtualizada: IMacroPermitida | undefined = macrosAtualizadas.find(\n (macro) => macro.cdMacro === cdMacro,\n )\n\n if (macroAtualizada) {\n macroAtualizada.obrigatoria = !macroAtualizada.obrigatoria\n setMacrosPermitidas(macrosAtualizadas)\n } else {\n window.alert(\n 'Ocorreu um erro ao atualizar a obrigatoriedade da macro, atualize a página e tente novamente',\n )\n }\n }\n\n const preparaAdicaoMacro = () => {\n if (!adicionandoMacro) {\n if (selectMacroDisponivelItens.length > 0) {\n setCdMacroSelecionada(undefined)\n setMacroSelecionadaObrigatoria(false)\n formulario.setFieldsValue({ cdMacroSelecionada: undefined })\n\n setAdicionandoMacro(true)\n } else {\n window.alert('Todas as macros disponíveis já foram adicionadas')\n }\n }\n }\n\n const adicionaMacro = (cdMacro: number, obrigatoria: boolean) => {\n let macroSelecionada: IMacro | undefined = macros.find(\n (macro) => macro.cdMacro == cdMacro,\n )\n\n if (macroSelecionada) {\n macroSelecionada = { ...macroSelecionada }\n\n const macrosAtualizadas: IMacroPermitida[] = [...macrosPermitidas]\n\n const novaMacro: IMacroPermitida = {\n cdAgendamentoDocasArmazemConfig:\n armazemSelecionado?.cdAgendamentoDocasArmazemConfig,\n cdMacro: macroSelecionada.cdMacro!,\n nome: macroSelecionada.nome!,\n ordem: macrosAtualizadas.length + 1,\n obrigatoria: obrigatoria,\n ativo: true,\n }\n\n macrosAtualizadas.push(novaMacro)\n\n setMacrosPermitidas(macrosAtualizadas)\n\n setAdicionandoMacro(false)\n } else {\n window.alert(\n 'Ocorreu um erro ao adicionar a macro, atualize a página e tente novamente',\n )\n }\n }\n\n const removeMacro = (macro: IMacroPermitida) => {\n let macrosAtualizadas: IMacroPermitida[] = [...macrosPermitidas]\n\n macrosAtualizadas = macrosAtualizadas.filter(\n (_macro) => _macro.cdMacro !== macro.cdMacro,\n )\n\n for (let i = 0; i < macrosAtualizadas.length; i++) {\n macrosAtualizadas[i].ordem = i + 1\n }\n\n setMacrosPermitidas(macrosAtualizadas)\n }\n\n const verificaMacrosDisponiveis = () => {\n let macrosAtualizadas: IMacro[] = []\n\n if (macrosPermitidas.length > 0) {\n if (macrosAtualizadas.length < macros.length) {\n for (let i = 0; i < macros.length; i++) {\n const macroEstaDisponivel = !macrosPermitidas.some(\n (macro) => macro.cdMacro === macros[i].cdMacro,\n )\n\n if (macroEstaDisponivel) {\n macrosAtualizadas.push(macros[i])\n }\n }\n }\n } else {\n macrosAtualizadas = [...macros]\n }\n\n const opcoesMacrosAtualizadas: SelectItemProps[] = macrosAtualizadas.map(\n (item: IMacro) => {\n return {\n value: item.cdMacro!.toString(),\n label: item.nome!,\n }\n },\n )\n\n setMacrosDisponiveis(macrosAtualizadas)\n setSelectMacroDisponivelItens(opcoesMacrosAtualizadas)\n }\n\n useEffect(() => {\n getMacros()\n getTiposMacro()\n getUsuariosGrupos()\n getTiposArmazens()\n defineMarcadoresJanelasSecundarias()\n }, [])\n\n useEffect(() => {\n verificaMacrosDisponiveis()\n }, [macrosPermitidas])\n\n useEffect(() => {\n if (armazemSelecionado) {\n buscaUltimaConfiguracao(armazemSelecionado)\n\n if (armazemSelecionado.tempoJanelaMinutos) {\n setTamanhoJanelaSecundaria(armazemSelecionado.tempoJanelaMinutos)\n }\n\n alteraOpcoesJanelasPrimarias([\n moment(armazemSelecionado.horaInicioFuncionamento, 'HH:mm:ss'),\n moment(armazemSelecionado.horaFimFuncionamento, 'HH:mm:ss'),\n ])\n } else {\n formulario.setFieldsValue({ ativo: true })\n }\n }, [armazemSelecionado])\n\n return (\n <>\n setTela('')}>\n \n ,\n ]}\n />\n {result === 0 ? (\n \n \n \n {/* {mensagemEdicao} */}\n \n \n \n \n \n \n \n \n\n {armazemSelecionado ? (\n \n \n \n ) : null}\n \n\n \n \n \n \n\n \n \n \n Sim\n Não\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n\n \n \n Opções\n ),\n key: 'opcoes',\n dataIndex: 'ordem',\n width: '105px',\n render: (ordem: number, macro: IMacroPermitida) => (\n <>\n alteraOrdemMacro(ordem, -1)}\n >\n \n \n\n alteraOrdemMacro(ordem, 1)}\n >\n \n \n\n \n alteraObrigatoriedadeMacro(macro.cdMacro)\n }\n >\n \n \n\n removeMacro(macro)}\n >\n \n \n \n ),\n },\n {\n title: 'Ordem',\n key: 'ordem',\n dataIndex: 'ordem',\n width: '60px',\n },\n {\n title: 'Obrigatória',\n key: 'obrigatoria',\n dataIndex: 'obrigatoria',\n width: '65px',\n render: (obrigatoria: boolean) =>\n obrigatoria ? 'Sim' : 'Não',\n },\n {\n title: 'Nome',\n key: 'nome',\n dataIndex: 'nome',\n },\n ]}\n />\n \n\n {adicionandoMacro && (\n <>\n \n \n \n setCdMacroSelecionada(window.parseInt(value))\n }\n items={selectMacroDisponivelItens}\n />\n \n\n \n \n setMacroSelecionadaObrigatoria(\n !macroSelecionadaObrigatoria,\n )\n }\n >\n Obrigatória\n \n \n \n\n \n \n \n adicionaMacro(\n cdMacroSelecionada!,\n macroSelecionadaObrigatoria,\n )\n }\n >\n Confirmar\n \n \n\n \n setAdicionandoMacro(false)}\n danger\n >\n Cancelar\n \n \n \n \n )}\n \n \n\n {armazemSelecionado ? (\n \n \n As configurações abaixo serão aplicadas imediatamente:\n \n \n ) : null}\n\n \n \n \n \n\n \n \n \n Ativo\n Inativo\n \n \n \n \n\n \n \n \n {armazemSelecionado ? 'Salvar' : 'Cadastrar'}\n \n \n \n \n \n ) : (\n <>\n {result === 200 ? (\n setResult(0)}\n >\n Adicionar outro armazém\n ,\n ]\n : null\n }\n />\n ) : (\n setResult(0)}\n >\n Tentar novamente\n ,\n ]}\n />\n )}\n \n )}\n \n )\n}\n\nexport default CadastroEdicaoArmazem\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { Dispatch, ReactElement, SetStateAction, useState } from 'react'\n\nimport { CloseOutlined } from '@ant-design/icons'\nimport {\n Button,\n Col,\n DatePicker,\n Form,\n PageHeader,\n Result,\n Row,\n Typography,\n} from 'antd'\nimport ID_COMPONENTE from 'config/idComponente'\nimport { IArmazem } from 'Models/docas'\nimport moment from 'moment'\nimport WsDocasService from 'Services/WS_DOCAS'\n\ninterface IProps {\n armazemSelecionado?: IArmazem\n dataSelecionada: moment.Moment\n setDataSelecionada: Dispatch>\n setTela: Dispatch>\n}\n\nconst LiberacaoAgenda = ({\n armazemSelecionado,\n dataSelecionada,\n setDataSelecionada,\n setTela,\n}: IProps): ReactElement => {\n const [result, setResult] = useState(0)\n const [resultError, setResultError] = useState('')\n const [liberandoAgenda, setLiberandoAgenda] = useState(false)\n const { Paragraph } = Typography\n\n const disabledDates = (current: moment.Moment) => {\n const inPast = moment().diff(current, 'days') > 0\n const tooEarly = current.diff(moment().add(10, 'days'), 'days') >= 0\n return inPast || tooEarly\n }\n\n const handleChangeData = (date: any) => {\n setDataSelecionada(date)\n }\n\n const handleSubmitLiberarAgenda = async () => {\n if (armazemSelecionado?.cdAgendamentoDocasArmazem && dataSelecionada) {\n setLiberandoAgenda(true)\n\n const { data } = await WsDocasService.agenda.liberarAgenda(\n ID_COMPONENTE.DOCAS,\n armazemSelecionado?.cdAgendamentoDocasArmazem,\n dataSelecionada.format('YYYY-MM-DD'),\n )\n\n if (data.statusCode === 501) {\n setResult(200)\n } else {\n setResult(400)\n if (data.message) {\n setResultError(data.message)\n }\n }\n\n setLiberandoAgenda(false)\n }\n }\n\n return (\n <>\n setTela('')}>\n \n ,\n ]}\n />\n {result === 0 ? (\n \n \n \n A liberação de agendas cria a estrutura definida na configuração\n de Armazém para que as transportadoras possam ver as Docas,\n Janelas e Horários disponibilizados de cada Armazém.\n \n \n \n \n \n \n \n \n \n \n \n handleSubmitLiberarAgenda()}\n loading={liberandoAgenda}\n >\n Liberar agenda\n \n \n \n \n ) : (\n <>\n {result === 200 ? (\n setResult(0)}\n >\n Liberar outra data\n ,\n ]}\n />\n ) : null}\n\n {result !== 200 ? (\n setResult(0)}\n >\n Tentar novamente\n ,\n ]}\n />\n ) : null}\n \n )}\n \n )\n}\n\nexport default LiberacaoAgenda\n","/* eslint-disable react/no-array-index-key */\n/* eslint-disable react/display-name */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport React, { useCallback, useContext, useEffect, useState } from 'react'\n\nimport {\n EditTwoTone,\n ClockCircleTwoTone,\n StopTwoTone,\n CloseOutlined,\n PlusOutlined,\n} from '@ant-design/icons'\nimport {\n Button,\n Col,\n DatePicker,\n Form,\n Input,\n InputNumber,\n PageHeader,\n Radio,\n Result,\n Row,\n Select,\n Slider,\n Table,\n TimePicker,\n Tooltip,\n Typography,\n} from 'antd'\nimport ID_COMPONENTE from 'config/idComponente'\nimport Claims from 'Hooks/usePermissions/Claims'\nimport usePermissions from 'Hooks/usePermissions/usePermissions'\nimport moment from 'moment'\nimport { Scrollbars } from 'react-custom-scrollbars'\nimport WsDocasService from 'Services/WS_DOCAS'\n\nimport { IArmazem } from '../../../Models/docas'\nimport BloqueioAgenda from '../Armazem/BloqueioAgenda'\nimport CadastroEdicaoArmazem from '../Armazem/CadastroEdicaoArmazem'\nimport LiberacaoAgenda from '../Armazem/LiberacaoAgenda'\n\nconst ModalConfigurarArmazem = () => {\n const [armazemItens, setArmazemItens] = useState()\n\n const [armazemSelecionado, setArmazemSelecionado] = useState()\n\n const [tela, setTela] = useState('')\n\n const [dataSelecionada, setDataSelecionada] = useState(\n moment(),\n )\n const [janelasSecundarias, setJanelasSecundarias] = useState(0)\n\n const [result, setResult] = useState(0)\n const [resultError, setResultError] = useState('')\n const { isAuthorized } = usePermissions()\n\n const disabledDates = (current: moment.Moment) => {\n const inPast = moment().diff(current, 'days') > 0\n const tooEarly = current.diff(moment().add(10, 'days'), 'days') >= 0\n return inPast || tooEarly\n }\n\n const getArmazens = async () => {\n const { data } = await WsDocasService.armazem.getList(ID_COMPONENTE.DOCAS, {\n apenasAtivos: false,\n })\n if (data.items) {\n setArmazemItens(data.items)\n }\n }\n\n const getArmazensDetalhes = async (armazemSelecionado: number) => {\n const { data } = await WsDocasService.armazem.details(\n ID_COMPONENTE.DOCAS,\n armazemSelecionado,\n moment().format('YYYY-MM-DD HH:mm:ss'),\n )\n if (data && data.items) {\n setArmazemSelecionado(data.items)\n setTela('bloquearAgenda')\n }\n }\n\n useEffect(() => {\n getArmazens()\n return () => {\n setResult(0)\n setResultError('')\n }\n }, [])\n\n const preparaConfiguracao = async (tela: string, cdArmazem?: number) => {\n let sucesso = true\n\n if (cdArmazem) {\n const { data } = await WsDocasService.armazem.details(\n ID_COMPONENTE.DOCAS,\n cdArmazem,\n moment().format('YYYY-MM-DD'),\n )\n\n if (data.items) {\n setArmazemSelecionado(data.items)\n } else {\n sucesso = false\n }\n }\n\n if (sucesso) {\n setTela(tela)\n setResult(0)\n setResultError('')\n } else {\n setResultError(\n 'Ocorreu um erro ao buscar os detalhes do armazem, atualize a tela e tente novamente',\n )\n }\n }\n\n return (\n \n \n \n {isAuthorized(Claims.CriarEditarArmazem) && (\n \n \n \n )}\n \n (ativo ? 'Ativo' : 'Inativo'),\n },\n {\n title: 'Ações',\n dataIndex: 'cdAgendamentoDocasArmazem',\n width: 180,\n render: (cdArmazem: number) => (\n <>\n {isAuthorized(Claims.CriarEditarArmazem) && (\n \n \n preparaConfiguracao('editarArmazem', cdArmazem)\n }\n >\n \n \n \n )}\n \n \n preparaConfiguracao('liberarAgenda', cdArmazem)\n }\n >\n \n \n \n \n \n preparaConfiguracao('bloquearArmazem', cdArmazem)\n }\n >\n \n \n \n \n ),\n },\n ]}\n dataSource={armazemItens}\n />\n \n \n\n \n {tela === 'adicionarArmazem' && (\n \n )}\n\n {tela === 'editarArmazem' && (\n \n )}\n\n {tela === 'liberarAgenda' && (\n \n )}\n\n {tela === 'bloquearAgenda' && (\n \n )}\n \n \n \n )\n}\n\nexport default ModalConfigurarArmazem\n","import React, { ReactElement } from 'react'\n\nimport { Col, PageHeader, Row, Tabs } from 'antd'\n\nimport ModalAjudaConfiguracaoArmazem from './ModalAjudaConfiguracaoArmazem'\nimport ModalConfigurarAlertas from './ModalConfigurarAlertas'\nimport ModalConfigurarArmazem from './ModalConfigurarArmazem'\n\nconst { TabPane } = Tabs\n\nconst ModalConfiguracoes = (): ReactElement => {\n return (\n \n \n \n \n \n \n \n \n \n {/* \n

Macros

\n
\n \n

Checklists

\n
*/}\n \n \n \n \n \n \n
\n
\n \n )\n}\n\nexport default ModalConfiguracoes\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable react/display-name */\nimport React, {\n Dispatch,\n ReactElement,\n SetStateAction,\n useContext,\n useEffect,\n useState,\n} from 'react'\n\nimport { Col, PageHeader, Row, Select, Table } from 'antd'\nimport { ICandidato } from 'Models/docas'\nimport IDetalhes from 'Models/docas/IDetalhes'\n\ninterface IProps {\n candidato?: ICandidato\n}\nconst ModalDetalhesCandidato = ({ candidato }: IProps): ReactElement => {\n const [detalhes, setDetalhes] = useState([])\n const [title, setTitle] = useState()\n\n useEffect(() => {\n atribuiDetalhes()\n }, [])\n\n const atribuiDetalhes = async () => {\n if (candidato) {\n setDetalhes(candidato.detalhes!)\n\n let title = ''\n\n if (candidato.numeroViagem)\n title =\n 'Detalhes do Candidato ' +\n candidato?.placa +\n ' para a Viagem ' +\n candidato?.numeroViagem\n else title = 'Detalhes do Candidato ' + candidato?.placa\n\n setTitle(title)\n }\n }\n\n return (\n <>\n \n\n \n \n \n \n \n \n )\n}\n\nexport default ModalDetalhesCandidato\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { ReactElement, useContext, useEffect, useState } from 'react'\n\nimport {\n Button,\n Col,\n Descriptions,\n message,\n PageHeader,\n Progress,\n Result,\n Row,\n Space,\n Upload,\n} from 'antd'\nimport { ResultStatusType } from 'antd/lib/result'\nimport ID_COMPONENTE from 'config/idComponente'\nimport ICandidato from 'Models/docas/ICandidato'\nimport WS_DOCAS from 'Services/WS_DOCAS'\n\nimport { DocasContext } from '../Context/context'\n\ninterface IProps {\n handleClose: () => void\n atualizaAgenda: (\n limparSelecao?: boolean,\n executandoAcao?: boolean,\n ) => Promise\n}\n\nconst ModalImportarCandidatos = ({\n handleClose,\n atualizaAgenda,\n}: IProps): ReactElement => {\n const { docasContext, setDocasContext } = useContext(DocasContext)\n const [base64, setBase64] = useState()\n const [fileName, setFileName] = useState()\n const [fileSize, setFileSize] = useState(0)\n const [result, setResult] = useState(0)\n const [resultError, setResultError] = useState('')\n const [carregandoImportacao, setCarregandoImportacao] =\n useState(false)\n const [mensagem, setMensagem] = useState('')\n const [status, setStatus] = useState()\n\n const handleSendFile = async () => {\n setCarregandoImportacao(true)\n\n if (base64) {\n const result = await WS_DOCAS.candidatos.importar(\n ID_COMPONENTE.DOCAS,\n base64.split('base64,')[1],\n )\n\n if (result?.status === 200) {\n setResult(200)\n\n if (result.data.items && result.data.items.length > 0) {\n const erros: ICandidato[] = result.data.items\n let mensagem =\n 'Nem todos os candidatos foram importados com sucesso, confira ao lado os erros:'\n\n for (let i = 0; i < erros.length; i++) {\n mensagem +=\n ' ' + erros[i].erroImportacao + ' (placa ' + erros[i].placa + ').'\n }\n\n setStatus('error')\n setMensagem(mensagem)\n } else {\n setStatus('success')\n setMensagem('Arquivo importado com sucesso.')\n\n atualizaAgenda()\n }\n } else {\n setResult(400)\n }\n\n setCarregandoImportacao(false)\n }\n }\n\n const handleDownloadModelo = async () => {\n const result = await WS_DOCAS.candidatos.downloadModelo(ID_COMPONENTE.DOCAS)\n if (result.data.arquivo) {\n const a: any = document.createElement('a')\n a.href =\n 'data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; base64,' +\n result.data.arquivo\n a.download = 'arquivo.xlsx'\n document.body.appendChild(a)\n a.click()\n document.body.removeChild(a)\n }\n }\n\n const handleUpload = (info: any) => {\n const fileList = [...info.fileList]\n fileList.forEach(function (file, index) {\n const reader = new FileReader()\n reader.onload = (e) => {\n if (e?.target?.result) {\n setBase64(e?.target?.result.toString())\n }\n }\n reader.readAsDataURL(info.file.originFileObj)\n })\n }\n\n const beforeUpload = (file: any) => {\n if (\n file.type === 'application/vnd.ms-excel' ||\n file.type ==\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n ) {\n setFileName(file.name)\n setFileSize(file.size)\n } else {\n message.error(\n `${file.name} este arquivo não é uma planilha de excel válida`,\n )\n }\n return file.type === 'application/vnd.ms-excel' ||\n file.type ===\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n ? true\n : Upload.LIST_IGNORE\n }\n\n return (\n <>\n \n {result < 200 && (\n handleSendFile()}\n loading={carregandoImportacao}\n >\n Importar\n \n )}\n ,\n handleDownloadModelo()}\n >\n Baixar modelo\n ,\n ]}\n >\n <>\n {result === 0 ? (\n <>\n \n \n \n \n \n\n {fileName}\n \n \n \n \n \n \n Campo}>\n Descrição\n \n Placa}>\n Placa do veículo.\n \n Nome_Motorista}>\n Nome do Motorista.\n \n CPF_Motorista}>\n CPF do Motorista.\n \n CNPJ_Transportadora}>\n CNPJ da transportadora.\n \n Nome_Transportadora}>\n Nome da transportadora.\n \n Data_Previsao}>\n Data em que deve ocorrer a visita às docas para o processo\n de Carga/Descarga.\n \n Hora_Previsao}>\n Hora em que deve ocorrer a visita às docas para o processo\n de Carga/Descarga.\n \n Tipo}>\n Define se a visita às docas é para o processo de Carga=1, ou\n Descarga =2, esse campo deve ser preenchido apenas com os\n valores 1 e 2.\n \n Armazem}>\n Informar o nome do armazém onde ocorrerá a visita em suas\n docas.\n \n \n \n \n ) : (\n <>\n {result === 200 ? (\n {\n setResult(0)\n setResultError('')\n setFileName(null)\n setFileSize(0)\n setBase64(null)\n }}\n >\n Importar outro arquivo\n ,\n ]}\n />\n ) : null}\n\n {result !== 200 ? (\n {\n setResult(0)\n setResultError('')\n setFileName(null)\n setFileSize(0)\n setBase64(null)\n }}\n >\n Tentar novamente\n ,\n ]}\n />\n ) : null}\n \n )}\n \n \n \n )\n}\n\nexport default ModalImportarCandidatos\n","import { SelectItemProps } from 'Components/Form/Select'\nimport ID_COMPONENTE from 'config/idComponente'\nimport { Veiculo } from 'Models/cadastros'\nimport { ParamsRequest } from 'Services/__shared/types/resquest'\nimport WsCadastroService from 'Services/WS_CADASTRO'\nimport IFormVeiculosFilter from 'Views/Cadastros/Veiculos/IFormVeiculosFilter'\nimport { DocasContextValue } from 'Views/Docas/Context/ContextType'\n\nconst Veiculos = {\n get: async (forcarAtualizacao = false): Promise => {\n if (!forcarAtualizacao) {\n const veiculos = window.sessionStorage.getItem('veiculos')\n\n if (veiculos) {\n return JSON.parse(veiculos)\n }\n }\n\n const filtros: IFormVeiculosFilter = {\n situacao: 'ativo',\n }\n\n const parametros: ParamsRequest = {\n pageSize: 10000,\n pageNumber: 1,\n }\n\n const { data } = await WsCadastroService.veiculos.getList(\n ID_COMPONENTE.DOCAS,\n filtros,\n parametros,\n )\n\n if (data.items) {\n window.sessionStorage.setItem('veiculos', JSON.stringify(data.items))\n\n return data.items\n } else {\n return []\n }\n },\n\n getListaSelecao: async (\n docasContext: DocasContextValue,\n setDocasContext: (value: DocasContextValue) => void,\n veiculos?: Veiculo[],\n listaPorCdVeiculo?: boolean,\n ): Promise => {\n const veiculosAux: Veiculo[] = veiculos ? veiculos : await Veiculos.get()\n\n return veiculosAux\n ? veiculosAux.map((item: Veiculo) => {\n return {\n value: listaPorCdVeiculo ? item.id.toString() : item.placa,\n label: item.placa,\n }\n })\n : []\n },\n}\n\nexport default Veiculos\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport React, {\n Dispatch,\n ReactElement,\n SetStateAction,\n useContext,\n useEffect,\n useState,\n} from 'react'\n\nimport {\n CheckOutlined,\n CloseOutlined,\n DeleteOutlined,\n EditOutlined,\n EyeOutlined,\n} from '@ant-design/icons'\nimport {\n Button,\n Col,\n Divider,\n Form,\n Input,\n PageHeader,\n Radio,\n Row,\n Skeleton,\n Spin,\n Switch,\n Table,\n} from 'antd'\nimport { SelectFieldAnt } from 'Components/Form'\nimport DateRange from 'Components/Form/DateRange'\nimport DateSelector from 'Components/Form/DateSelector'\nimport { SelectItemProps } from 'Components/Form/Select'\nimport ID_COMPONENTE from 'config/idComponente'\nimport Veiculos from 'Helpers/Veiculos'\nimport { Veiculo } from 'Models/cadastros'\nimport { IArmazem, IChegada, ISMSConfig } from 'Models/docas'\nimport IAtualizacaoPlaca from 'Models/docas/IAtualizacaoPlaca'\nimport IFormListaChegadaFilter from 'Models/docas/IFormListaChegadaFilter'\nimport moment from 'moment'\nimport env from 'react-dotenv'\nimport { useForm } from 'react-hook-form'\nimport WsDocasService from 'Services/WS_DOCAS'\n\nimport { DocasContext } from '../Context/context'\n\ninterface IProps {\n listaChegadas: IChegada[]\n setListaChegadas: Dispatch>\n}\n\nconst ModalListaChegadas = ({\n listaChegadas,\n setListaChegadas,\n}: IProps): ReactElement => {\n const today: Date = new Date()\n const hookForm = useForm()\n const hookFormAtualizacaoPlaca = useForm()\n const { docasContext, setDocasContext } = useContext(DocasContext)\n const [veiculos, setVeiculos] = useState([])\n const [selectVeiculoItens, setSelectVeiculoItens] = useState<\n SelectItemProps[]\n >([])\n const [selectOpcoesChegadaVisualizada, setSelectOpcoesChegadaVisualizada] =\n useState([])\n const [selectArmazemItens, setSelectArmazemItens] = useState<\n SelectItemProps[]\n >([])\n const [imagens, setImagens] = useState()\n const [imagemUltimaChegada, setImagemUltimaChegada] = useState()\n // const [tempoMsAtualizacao] = useState(30000)\n // const [restauracaoImagemEmAndamento, setRestauracaoImagemEmAndamento] =\n // useState()\n const [configuracaoSMS, setConfiguracaoSMS] = useState({\n ativo: true,\n })\n const [cssSwitchLabel] = useState({\n fontSize: '14px',\n paddingLeft: '8px',\n paddingRight: '2px',\n })\n const [carregandoImagens, setCarregandoImagens] = useState(false)\n const [carregandoPesquisa, setCarregandoPesquisa] = useState(false)\n\n const [segundosEntreRequisicoes] = useState(\n window.parseInt(\n env.ATUALIZACAO_AUTOMATICA_MODAL_CHEGADAS_SEGUNDOS_ENTRE_REQUISICOES,\n ),\n )\n\n const [segundosNoPassadoParaDataInicial] = useState(\n window.parseInt(\n env.ATUALIZACAO_AUTOMATICA_MODAL_CHEGADAS_SEGUNDOS_NO_PASSADO,\n ),\n )\n\n const [intervaloMaximoDias] = useState(\n window.parseInt(env.MODAL_CHEGADAS_INTERVALO_MAXIMO_DIAS),\n )\n\n const [atualizacaoAutomatica, setAtualizacaoAutomatica] =\n useState(false)\n const [carregandoAtualizacaoAutomatica, setCarregandoAtualizacaoAutomatica] =\n useState(false)\n const [ultimaAtualizacao, setUltimaAtualizacao] = useState()\n const [idTimeout, setIdTimeout] = useState()\n\n const [carregandoSMS, setCarregandoSMS] = useState(false)\n const [veiculoAtualizado, setVeiculoAtualizado] = useState()\n const [\n cdIntegracaoCameraPlacaParaAtualizar,\n setCdIntegracaoCameraPlacaParaAtualizar,\n ] = useState()\n const [placaCadastrada, setPlacaCadastrada] = useState()\n const [placaAtualizada, setPlacaAtualizada] = useState()\n\n useEffect(() => {\n // const ultimaChegada =\n // listaChegadas.length > 0 ? listaChegadas[0] : undefined\n\n // if (ultimaChegada) {\n // const imagem = ultimaChegada.imagem\n\n // if (imagem) {\n // setImagens(imagem)\n // setImagemUltimaChegada(imagem)\n // }\n\n // if (!ultimaChegada.visualizado) {\n // visualizaChegada(ultimaChegada.cdIntegracaoCameraPlaca)\n // }\n // }\n\n getVeiculos()\n getArmazens()\n getConfiguracaoSMS()\n getOpcoesChegadaVisualizada()\n\n // setInterval(() => {\n // pesquisaListaChegadas()\n // }, tempoMsAtualizacao)\n\n const bolinhaBotaoSwitch = document.getElementsByClassName(\n 'ant-switch-handle',\n )[0] as HTMLElement\n\n bolinhaBotaoSwitch.style.top = '6px'\n }, [])\n\n const getVeiculos = async () => {\n const veiculos: Veiculo[] = await Veiculos.get()\n setVeiculos(veiculos)\n setSelectVeiculoItens(\n await Veiculos.getListaSelecao(\n docasContext,\n setDocasContext,\n veiculos,\n true,\n ),\n )\n }\n\n const getArmazens = async () => {\n const { data } = await WsDocasService.armazem.getList(ID_COMPONENTE.DOCAS, {\n apenasAtivos: true,\n })\n\n if (data.items) {\n const selectArmazensData: SelectItemProps[] = data.items.map(\n (item: IArmazem) => {\n return {\n value: item.nomeArmazem,\n label: item.nomeArmazem,\n }\n },\n )\n\n setSelectArmazemItens(selectArmazensData)\n }\n }\n\n const getConfiguracaoSMS = async () => {\n setCarregandoSMS(true)\n\n const { data } = await WsDocasService.sms.getConfiguracao(\n ID_COMPONENTE.DOCAS,\n )\n\n if (data?.item) {\n setConfiguracaoSMS(data.item)\n } else {\n const { data } = await WsDocasService.sms.createConfiguracao(\n ID_COMPONENTE.DOCAS,\n configuracaoSMS,\n )\n\n if (data.statusCode != 501) {\n alert(\n 'Não foi possível criar a configuração do alerta, favor contatar o suporte do Compulog',\n )\n }\n }\n\n setCarregandoSMS(false)\n }\n\n const getOpcoesChegadaVisualizada = () => {\n const opcoes: SelectItemProps[] = [\n { label: 'Sim', value: 'true' },\n { label: 'Não', value: 'false' },\n { label: 'Ambas', value: 'null' },\n ]\n\n setSelectOpcoesChegadaVisualizada(opcoes)\n }\n\n const pesquisaListaChegadas = async (filtros: IFormListaChegadaFilter) => {\n const numHorasIntervalo: number = filtros.dataFinalMoment.diff(\n filtros.dataInicialMoment,\n 'hours',\n )\n\n if (numHorasIntervalo / 24 > intervaloMaximoDias) {\n alert(\n `O intervalo entre a data inicial e data final deve ser de no máximo ${intervaloMaximoDias} dias`,\n )\n } else if (!carregandoPesquisa) {\n setCarregandoPesquisa(true)\n\n filtros.dataInicial = filtros.dataInicialMoment.format(\n 'YYYY-MM-DD HH:mm:ss',\n )\n\n filtros.dataFinal = filtros.dataFinalMoment.format('YYYY-MM-DD HH:mm:ss')\n\n if (filtros.visualizadoString !== 'null') {\n filtros.visualizado = filtros.visualizadoString === 'true'\n }\n\n if (filtros.placas && filtros.placas.length > 0) {\n const cdsVeiculos: number[] = filtros.placas.map((cdVeiculo) =>\n window.parseInt(cdVeiculo),\n )\n\n filtros.placas = veiculos\n .filter((veiculo) => cdsVeiculos.includes(veiculo.id))\n .map((veiculo) => veiculo.placa)\n }\n\n try {\n const { data } = await WsDocasService.listaChegadas.buscaChegadas(\n ID_COMPONENTE.DOCAS,\n filtros,\n )\n\n if (data.items) {\n setListaChegadas(data.items)\n\n setCdIntegracaoCameraPlacaParaAtualizar(undefined)\n setVeiculoAtualizado(undefined)\n setImagens(undefined)\n\n // const imagemUltimaChegada =\n // data.items.length > 0 ? data.items[0].imagens : undefined\n\n // setImagemUltimaChegada(imagemUltimaChegada)\n\n // if (!restauracaoImagemEmAndamento) {\n // setImagem(imagemUltimaChegada)\n // }\n }\n } catch (e) {\n alert(\n 'Não foram encontradas chegadas com os parâmetros de pesquisa informados',\n )\n }\n\n setCarregandoPesquisa(false)\n }\n }\n\n const mostraImagens = async (cdIntegracaoCameraPlaca: number) => {\n setCarregandoImagens(true)\n\n await visualizaChegada(cdIntegracaoCameraPlaca)\n await buscaImagens(cdIntegracaoCameraPlaca)\n\n setCarregandoImagens(false)\n\n // if (chegada.imagens) {\n // setImagens(chegada.imagens)\n\n // if (restauracaoImagemEmAndamento) {\n // window.clearTimeout(restauracaoImagemEmAndamento)\n // }\n\n // setRestauracaoImagemEmAndamento(\n // window.setTimeout(() => {\n // setImagem(imagemUltimaChegada)\n // setRestauracaoImagemEmAndamento(undefined)\n // }, tempoMsAtualizacao),\n // )\n // } else {\n // alert('A chegada selecionada não possui imagem')\n // }\n }\n\n const buscaImagens = async (cdIntegracaoCameraPlaca: number) => {\n const { data } = await WsDocasService.listaChegadas.buscaImagens(\n ID_COMPONENTE.DOCAS,\n cdIntegracaoCameraPlaca,\n )\n\n if (data.items) {\n setImagens(data.items)\n }\n }\n\n const visualizaChegada = async (cdIntegracaoCameraPlaca: number) => {\n await WsDocasService.listaChegadas.visualizaChegada(\n ID_COMPONENTE.DOCAS,\n cdIntegracaoCameraPlaca,\n )\n\n listaChegadas.find(\n (chegada) => chegada.cdIntegracaoCameraPlaca == cdIntegracaoCameraPlaca,\n )!.visualizado = true\n setListaChegadas(listaChegadas)\n }\n\n const descartaChegada = async (cdIntegracaoCameraPlaca: number) => {\n setListaChegadas(\n listaChegadas.filter(\n (chegada) =>\n chegada.cdIntegracaoCameraPlaca !== cdIntegracaoCameraPlaca,\n ),\n )\n\n await WsDocasService.listaChegadas.descartaChegada(\n ID_COMPONENTE.DOCAS,\n cdIntegracaoCameraPlaca,\n )\n }\n\n const processaAtualizacaoAutomatica = async () => {\n setCarregandoAtualizacaoAutomatica(true)\n\n try {\n const dataFinal: moment.Moment = moment()\n const dataInicial: moment.Moment = moment().subtract(\n segundosNoPassadoParaDataInicial,\n 'seconds',\n )\n\n const filtros: IFormListaChegadaFilter = {\n dataInicialMoment: dataInicial,\n dataFinalMoment: dataFinal,\n dataInicial: dataInicial.format('YYYY-MM-DD HH:mm:ss'),\n dataFinal: dataFinal.format('YYYY-MM-DD HH:mm:ss'),\n visualizadoString: 'null',\n }\n\n const { data } = await WsDocasService.listaChegadas.buscaChegadas(\n ID_COMPONENTE.DOCAS,\n filtros,\n )\n\n if (data.items) {\n setListaChegadas(data.items)\n\n setUltimaAtualizacao(dataFinal.format('HH:mm:ss'))\n setCdIntegracaoCameraPlacaParaAtualizar(undefined)\n setVeiculoAtualizado(undefined)\n }\n } catch (e) {\n window.console.error(e)\n }\n\n if (atualizacaoAutomatica) {\n const idTimeout: number = window.setTimeout(\n () => processaAtualizacaoAutomatica(),\n segundosEntreRequisicoes * 1000,\n )\n\n setIdTimeout(idTimeout)\n }\n\n setCarregandoAtualizacaoAutomatica(false)\n }\n\n useEffect(() => {\n if (atualizacaoAutomatica) {\n processaAtualizacaoAutomatica()\n } else if (idTimeout !== undefined) {\n window.clearTimeout(idTimeout)\n setIdTimeout(undefined)\n }\n }, [atualizacaoAutomatica])\n\n const ativaOuDesativaAtualizacaoAutomatica = () => {\n if (atualizacaoAutomatica) {\n setUltimaAtualizacao(undefined)\n }\n\n setAtualizacaoAutomatica(!atualizacaoAutomatica)\n }\n const ativaOuDesativaSMS = async () => {\n setCarregandoSMS(true)\n\n configuracaoSMS.ativo = !configuracaoSMS.ativo\n setConfiguracaoSMS(configuracaoSMS)\n\n const { data } = await WsDocasService.sms.updateConfiguracao(\n ID_COMPONENTE.DOCAS,\n configuracaoSMS,\n )\n\n if (data.statusCode != 501) {\n alert(\n 'Não foi possível atualizar a configuração do alerta, favor contatar o suporte do Compulog',\n )\n }\n\n setCarregandoSMS(false)\n }\n\n const preparaAtualizacaoPlaca = (cdIntegracaoCameraPlaca: number) => {\n setCdIntegracaoCameraPlacaParaAtualizar(cdIntegracaoCameraPlaca)\n }\n\n const atualizaPlaca = async () => {\n try {\n if (cdIntegracaoCameraPlacaParaAtualizar && veiculoAtualizado) {\n const dadosAtualizacao: IAtualizacaoPlaca = {\n cdIntegracaoCameraPlaca: cdIntegracaoCameraPlacaParaAtualizar,\n cdVeiculo: veiculoAtualizado.id,\n placa: veiculoAtualizado.placa,\n }\n const { data } = await WsDocasService.listaChegadas.atualizaPlaca(\n ID_COMPONENTE.DOCAS,\n dadosAtualizacao,\n )\n\n const chegada: IChegada = listaChegadas.find(\n (_chegada) =>\n _chegada.cdIntegracaoCameraPlaca ===\n cdIntegracaoCameraPlacaParaAtualizar,\n )!\n chegada.placaVeiculo = dadosAtualizacao.placa\n chegada.tipoOperacao = data.tipoOperacao\n chegada.armazem = data.armazem\n\n setListaChegadas(listaChegadas)\n }\n } catch (e) {\n console.error(e)\n\n alert(\n 'Ocorreu um erro ao atualizar a placa, favor contatar o suporte do Compulog',\n )\n }\n\n setCdIntegracaoCameraPlacaParaAtualizar(undefined)\n setVeiculoAtualizado(undefined)\n }\n\n const selecionaVeiculo = (cdVeiculo: number) => {\n setVeiculoAtualizado(veiculos.find((veiculo) => veiculo.id === cdVeiculo))\n }\n\n const ajustaPlaca = (\n placa: string,\n setPlaca: Dispatch>,\n ) => {\n setPlaca(\n placa\n .replace(/[^a-zA-Z0-9*]/g, '') //Pode ter letras, números e asterisco\n .substring(0, 10) //Deve ter no máximo 10 caracteres, considerando o padrão Mercosul\n .toUpperCase(), //Deve ter letras maiúsculas\n )\n }\n\n const mostraPlaca = (placa: string, chegada: IChegada) => {\n return cdIntegracaoCameraPlacaParaAtualizar ===\n chegada.cdIntegracaoCameraPlaca ? (\n <>\n ajustaPlaca(value, setPlacaAtualizada)}\n onChangeValue={(value: string) => {\n selecionaVeiculo(window.parseInt(value))\n setPlacaAtualizada(undefined)\n }}\n />\n atualizaPlaca()}\n >\n \n \n \n ) : (\n <>{placa}\n )\n }\n\n return (\n <>\n \n \n {ultimaAtualizacao ? (\n \n Última atualização em {ultimaAtualizacao}\n \n ) : null}\n ,\n Atualização Automática\n }\n unCheckedChildren={\n Atualização Automática\n }\n checked={atualizacaoAutomatica}\n onClick={() => ativaOuDesativaAtualizacaoAutomatica()}\n loading={carregandoAtualizacaoAutomatica}\n style={{ height: '32px', top: '-2px' }}\n disabled={selectVeiculoItens.length === 0 || carregandoPesquisa}\n />,\n // SMS Ativado\n // }\n // unCheckedChildren={\n // SMS Desativado\n // }\n // checked={configuracaoSMS?.ativo}\n // onClick={() => ativaOuDesativaSMS()}\n // loading={carregandoSMS}\n // style={{ height: '32px', top: '-2px' }}\n // disabled={selectVeiculoItens.length === 0}\n // />,\n \n Pesquisar\n ,\n ]}\n >\n {/* \n \n

\n Para ocorrer a referência da macro ENTRADA NO ESTACIONAMENTO, o\n agendamento deve existir antes da chegada do veículo ou antes de\n correção de placa\n

\n \n
*/}\n \n \n \n \n \n\n \n \n \n\n \n \n \n \n\n \n \n \n ajustaPlaca(value, setPlacaCadastrada)\n }\n onChangeValue={(value: string) =>\n setPlacaCadastrada(undefined)\n }\n mode=\"multiple\"\n disabled={atualizacaoAutomatica}\n />\n \n\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n (\n <>\n \n preparaAtualizacaoPlaca(cdIntegracaoCameraPlaca)\n }\n >\n \n \n\n mostraImagens(cdIntegracaoCameraPlaca)}\n >\n \n \n\n descartaChegada(cdIntegracaoCameraPlaca)}\n >\n \n \n \n ),\n },\n {\n title: 'Placa',\n key: 'placaVeiculo',\n dataIndex: 'placaVeiculo',\n width: '135px',\n render: (placa: string, chegada: IChegada) =>\n mostraPlaca(placa, chegada),\n },\n {\n title: 'Data/Hora',\n key: 'dataHoraChegadaString',\n dataIndex: 'dataHoraChegadaString',\n width: '165px',\n },\n {\n title: 'Transportadora',\n key: 'nomeTransportadora',\n dataIndex: 'nomeTransportadora',\n width: '140px',\n },\n {\n title: 'Agendamento',\n key: 'agendamento',\n dataIndex: 'agendamento',\n width: '170px',\n },\n {\n title: 'Visualizada',\n key: 'visualizado',\n dataIndex: 'visualizado',\n render: (visualizado: boolean) =>\n visualizado ? 'Sim' : 'Não',\n width: '105px',\n },\n {\n title: 'Tipo de Operação',\n key: 'tipoOperacao',\n dataIndex: 'tipoOperacao',\n width: '145px',\n },\n {\n title: 'Armazém',\n key: 'armazem',\n dataIndex: 'armazem',\n width: '115px',\n },\n ]}\n dataSource={listaChegadas}\n // rowClassName={(chegada: IChegada) =>\n // chegada.possuiAgendamentoFuturoProximo\n // ? 'agendamentoFuturoProximo'\n // : chegada.cdAgendamentoDocasHorario\n // ? 'agendamentoFuturoDistante'\n // : 'semAgendamento'\n // }\n />\n \n \n\n {imagens || carregandoImagens ? (\n \n {imagens || carregandoImagens ? (\n !imagens || carregandoImagens ? (\n \n ) : (\n <>\n \n \n setImagens(undefined)}\n >\n \n \n\n
\n Imagem original:\n
\n \n
\n
\n \n
\n\n \n \n
\n {imagens[1] ? (\n <>\n
\n Placa ampliada (resolução baixa):\n
\n
\n \n
\n \n ) : (\n
\n A câmera não capturou a foto da placa\n
\n )}\n
\n \n
\n \n )\n ) : null}\n \n ) : null}\n
\n \n )\n}\n\nexport default ModalListaChegadas\n","import React, { useState } from 'react'\n\nimport { Form, DatePicker } from 'antd'\nimport { Rule } from 'antd/lib/form'\nimport moment from 'moment'\nimport { CSSProperties } from 'styled-components'\n\ninterface DateRangeProps {\n name: string\n label: string\n showTime: boolean\n maxDays?: number\n rules?: Rule[]\n}\n\nconst DateRange = ({\n name,\n label,\n showTime,\n maxDays,\n rules,\n}: DateRangeProps) => {\n const [dates, setDates] = useState([])\n const [hackValue, setHackValue] = useState()\n const [value, setValue] = useState()\n\n const today: Date = new Date()\n\n function disabledDate(current: moment.Moment) {\n return (\n maxDays &&\n dates?.length > 0 &&\n ((dates[0] && current.diff(dates[0], 'days') > maxDays) ||\n (dates[1] && dates[1].diff(current, 'days') > maxDays))\n )\n }\n\n function onOpenChange(open: boolean) {\n if (open) {\n setHackValue([])\n setDates([])\n } else {\n setHackValue(undefined)\n }\n }\n\n return (\n \n setDates(val)}\n onChange={(val) => setValue(val)}\n onOpenChange={onOpenChange}\n style={{ width: '100%' }}\n />\n \n )\n}\n\nexport default DateRange\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useState, useEffect, ReactElement, useContext } from 'react'\n\nimport {\n Row,\n Col,\n Table,\n Form,\n Input,\n Button,\n PageHeader,\n Skeleton,\n Spin,\n} from 'antd'\nimport DateRange from 'Components/Form/DateRange'\nimport PesquisaVeiculo from 'Components/Form/PesquisaVeiculo'\nimport { SelectFieldAnt, SelectItemProps } from 'Components/Form/Select'\nimport ID_COMPONENTE from 'config/idComponente'\nimport { ApplicationContext } from 'Context'\nimport Veiculos from 'Helpers/Veiculos'\nimport { Empresa, Veiculo } from 'Models/cadastros'\nimport { IArmazem, IDoca } from 'Models/docas'\nimport IAcao from 'Models/docas/IAcao'\nimport IFormDocasLogsFilter from 'Models/docas/IFormDocasLogsFilter'\nimport ILog from 'Models/docas/ILog'\nimport UsuarioDocas from 'Models/docas/Usuario'\nimport moment from 'moment'\nimport { useForm } from 'react-hook-form'\nimport { ParamsRequest } from 'Services/__shared/types/resquest'\nimport WsCadastroService from 'Services/WS_CADASTRO'\nimport WsDocasService from 'Services/WS_DOCAS'\nimport IFormEmpresasFilter from 'Views/Cadastros/Empresas/IFormEmpresasFilter'\nimport IFormVeiculosFilter from 'Views/Cadastros/Veiculos/IFormVeiculosFilter'\n\nimport { DocasContext } from '../Context/context'\n\nconst ModalLogs = (): ReactElement => {\n const hookForm = useForm()\n const [form] = Form.useForm()\n const { docasContext, setDocasContext } = useContext(DocasContext)\n const { applicationContext } = useContext(ApplicationContext)\n\n const [armazens, setArmazens] = useState([])\n const [logs, setLogs] = useState([])\n\n const [selectAcaoItens, setSelectAcaoItens] = useState([])\n const [selectArmazemItens, setSelectArmazemItens] = useState<\n SelectItemProps[]\n >([])\n const [selectDocaItens, setSelectDocaItens] = useState([])\n const [selectUsuarioItens, setSelectUsuarioItens] = useState<\n SelectItemProps[]\n >([])\n\n const [cdArmazemSelecionado, setCdArmazemSelecionado] = useState()\n\n const [veiculoSelecionado, setVeiculoSelecionado] = useState()\n const [transportadoraSelecionada, setTransportadoraSelecionada] =\n useState()\n\n const [carregandoPesquisa, setCarregandoPesquisa] = useState(false)\n const [carregandoExportacao, setCarregandoExportacao] =\n useState(false)\n const [carregandoAcoes, setCarregandoAcoes] = useState(true)\n const [carregandoArmazens, setCarregandoArmazens] = useState(true)\n const [carregandoUsuarios, setCarregandoUsuarios] = useState(true)\n\n useEffect(() => {\n getAcoes()\n getArmazens()\n getUsuarios()\n }, [])\n\n const getAcoes = async () => {\n const { data } = await WsDocasService.misc.getAcoes(ID_COMPONENTE.DOCAS)\n\n if (data.items) {\n const selectAcoesData: SelectItemProps[] = data.items.map(\n (item: IAcao) => {\n return {\n value: item.cdAcao.toString(),\n label: item.descricao,\n }\n },\n )\n\n setSelectAcaoItens(selectAcoesData)\n }\n\n setCarregandoAcoes(false)\n }\n\n const getArmazens = async () => {\n const { data } = await WsDocasService.armazem.getList(ID_COMPONENTE.DOCAS, {\n apenasAtivos: true,\n })\n\n if (data.items) {\n setArmazens(data.items)\n\n const selectArmazensData: SelectItemProps[] = data.items\n // .filter((f) => f.ativo)\n .map((item: IArmazem) => {\n return {\n value: item.cdAgendamentoDocasArmazem.toString(),\n label: item.nomeArmazem,\n }\n })\n\n setSelectArmazemItens(selectArmazensData)\n }\n\n setCarregandoArmazens(false)\n }\n\n const getUsuarios = async () => {\n const { data } = await WsDocasService.usuario.getList(ID_COMPONENTE.DOCAS)\n\n if (data.items) {\n const selectUsuariosData: SelectItemProps[] = data.items.map(\n (item: UsuarioDocas) => {\n return {\n value: item.cdUsuario.toString(),\n label: item.nome,\n }\n },\n )\n\n setSelectUsuarioItens(selectUsuariosData)\n }\n\n setCarregandoUsuarios(false)\n }\n\n const handleChangeArmazem = (cdArmazemString: string) => {\n if (cdArmazemString !== '') {\n const cdArmazem: number = parseInt(cdArmazemString)\n const armazem: IArmazem | undefined = armazens.find(\n (f) => f.cdAgendamentoDocasArmazem == cdArmazem,\n )\n\n if (armazem) {\n const selectDocasData: SelectItemProps[] =\n armazem.agendamentoDocasDocas.map((item: IDoca) => {\n return {\n value: item.cdAgendamentoDocasDocas.toString(),\n label: item.nomeDoca,\n }\n })\n\n setSelectDocaItens(selectDocasData)\n setCdArmazemSelecionado(cdArmazem)\n }\n } else {\n setCdArmazemSelecionado(undefined)\n }\n }\n\n const pesquisaOuExportaLogs = async (filtros: IFormDocasLogsFilter) => {\n if (filtros.intervalo) {\n filtros.dataInicio = filtros.intervalo[0].format('YYYY-MM-DD HH:mm:ss')\n filtros.dataFim = filtros.intervalo[1].format('YYYY-MM-DD HH:mm:ss')\n } else {\n const dataAtual: string = moment().format('YYYY-MM-DD')\n filtros.dataInicio = dataAtual + ' 00:00:00'\n filtros.dataFim = dataAtual + ' 23:59:59'\n }\n\n if (veiculoSelecionado) {\n filtros.cdVeiculos = [veiculoSelecionado.id]\n }\n\n if (transportadoraSelecionada) {\n filtros.cdEntidade = transportadoraSelecionada.id\n }\n\n if (carregandoPesquisa) {\n const { data } = await WsDocasService.log.getList(\n ID_COMPONENTE.DOCAS,\n filtros,\n )\n\n if (data.items) {\n setLogs(data.items)\n }\n\n setCarregandoPesquisa(false)\n } else {\n const { data } = await WsDocasService.log.export(\n ID_COMPONENTE.DOCAS,\n filtros,\n )\n\n if (data.items) {\n const a: any = document.createElement('A')\n a.href =\n 'data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; base64,' +\n data.items\n a.download = 'Log de ações.xlsx'\n document.body.appendChild(a)\n a.click()\n document.body.removeChild(a)\n }\n\n setCarregandoExportacao(false)\n }\n }\n\n return (\n <>\n
\n setCarregandoPesquisa(true)}\n >\n Pesquisar\n ,\n\n setCarregandoExportacao(true)}\n >\n Exportar\n ,\n ]}\n >\n \n \n \n \n\n \n \n \n \n\n \n \n {carregandoUsuarios ? (\n \n \n \n ) : (\n \n )}\n \n\n \n {carregandoAcoes ? (\n \n \n \n ) : (\n \n )}\n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n {carregandoArmazens ? (\n \n \n \n ) : (\n \n )}\n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n )\n}\n\nexport default ModalLogs\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable react/display-name */\nimport React, {\n Dispatch,\n ReactElement,\n SetStateAction,\n useContext,\n useEffect,\n useState,\n} from 'react'\n\nimport {\n Button,\n Col,\n Form,\n Input,\n PageHeader,\n Row,\n Select,\n Skeleton,\n Table,\n} from 'antd'\nimport { SelectValue } from 'antd/lib/select'\nimport ID_COMPONENTE from 'config/idComponente'\nimport MACRO_CODIGO from 'config/macroCodigo'\nimport TIPO_MACRO from 'config/tipoMacro'\nimport TIPO_USUARIO from 'config/tipoUsuario'\nimport { ApplicationContext } from 'Context'\nimport buscaAgendamentoMultiplo from 'Helpers/agendamentoMultiplo'\nimport Claims from 'Hooks/usePermissions/Claims'\nimport usePermissions from 'Hooks/usePermissions/usePermissions'\nimport { IPerfil } from 'Models/auth'\nimport { ICandidato, IMacro } from 'Models/docas'\nimport { STATUS_HORARIOS } from 'Models/docas/IHorario'\nimport moment from 'moment'\nimport WsDocasService from 'Services/WS_DOCAS'\nimport { ServiceListResponse } from 'Types/ServiceResponse'\n\nimport { DocasContext } from '../Context/context'\n\ninterface IProps {\n candidato?: ICandidato\n atualizaAgenda: (\n limparSelecao?: boolean,\n executandoAcao?: boolean,\n ) => Promise\n}\nconst ModalMacrosCandidato = ({\n candidato,\n atualizaAgenda,\n}: IProps): ReactElement => {\n const [formulario] = Form.useForm()\n const [envia, setEnvia] = useState(false)\n const [macro, setMacro] = useState()\n const [macros, setMacros] = useState([])\n const [macrosEmitidas, setMacrosEmitidas] = useState([])\n const [justificativa, setJustificativa] = useState('')\n const [justificativaObrigatoria, setJustificativaObrigatoria] = useState<\n boolean | undefined\n >(true)\n const { applicationContext } = useContext(ApplicationContext)\n const { docasContext, setDocasContext } = useContext(DocasContext)\n const { Option } = Select\n const [emitindoMacro, setEmitindoMacro] = useState(false)\n const [carregandoMacros, setCarregandoMacros] = useState(true)\n const [carregandoMacrosEmitidas, setCarregandoMacrosEmitidas] =\n useState(true)\n\n const { isAuthorized, isSystemMaster } = usePermissions()\n\n useEffect(() => {\n buscaMacros()\n buscaMacrosEmitidas()\n }, [])\n\n const buscaMacros = async () => {\n const { data } = await WsDocasService.macro.getList(\n ID_COMPONENTE.DOCAS,\n docasContext.cdArmazemAtual,\n )\n\n if (data?.items) {\n setMacros(data.items)\n }\n\n setCarregandoMacros(false)\n }\n\n const buscaMacrosEmitidas = async () => {\n if (candidato) {\n const { data } = await WsDocasService.macro.buscaMacrosEmitidas(\n ID_COMPONENTE.DOCAS,\n candidato.cdCandidatoAgendamento,\n )\n\n if (data?.items) {\n setMacrosEmitidas(data.items)\n }\n }\n\n setCarregandoMacrosEmitidas(false)\n }\n\n const handleChangeMacro = (value: SelectValue) => {\n const cdMacro = value as number\n\n setMacro(cdMacro)\n setJustificativaObrigatoria(\n macros.find((f) => f.cdMacro === cdMacro)?.justObrigatoria,\n )\n\n if (justificativa.length >= 20 && value) {\n setEnvia(true)\n } else {\n setEnvia(false)\n }\n }\n\n const handleChangeJustificativa = (e: {\n target: { value: React.SetStateAction }\n }) => {\n setJustificativa(e.target.value.toString().trimStart())\n if (e.target.value.toString().trimStart().length >= 20 && macro) {\n setEnvia(true)\n } else {\n setEnvia(false)\n }\n }\n\n const executaMacro = async () => {\n if (macro && candidato) {\n setEnvia(false)\n setEmitindoMacro(true)\n\n const { data } = await WsDocasService.macro.executaMacro(\n ID_COMPONENTE.DOCAS,\n {\n cdArmazem: candidato.cdAgendamentoDocasArmazem,\n cdCandidato: candidato.cdCandidatoAgendamento,\n cdMacro: macro,\n justificativa,\n placaVeiculo: candidato.placa,\n transportadora: candidato.nomeTransportadora,\n cdEntidade: candidato.cdEntidade,\n cdVeiculo: candidato.cdVeiculo,\n cdViagem: candidato.cdViagem,\n },\n )\n\n if (data.message !== 'Sucesso') {\n window.alert(`Erro no registro de macro. ${data.message}`)\n }\n\n atualizaAgenda()\n await buscaMacrosEmitidas()\n\n setMacro(undefined)\n setJustificativa('')\n\n setEmitindoMacro(false)\n }\n }\n\n return (\n <>\n executaMacro()}\n loading={emitindoMacro}\n >\n Emitir macro\n ,\n ]\n : []\n }\n />\n\n \n {isAuthorized(Claims.EmitirMacrosDocas) && (\n
\n \n \n \n \n {macros.length > 0\n ? macros.map((m) => (\n \n ))\n : []}\n \n \n \n \n \n \n \n \n \n
\n )}\n\n \n \n {text},\n },\n {\n title: 'Justificativa',\n dataIndex: 'justificativa',\n key: 'justificativa',\n render: (text: string) => {text},\n },\n ]}\n dataSource={macrosEmitidas}\n pagination={false}\n size=\"small\"\n sticky\n scroll={{ y: 350 }}\n />\n \n \n
\n \n )\n}\n\nexport default ModalMacrosCandidato\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport React, { useState, useEffect, ReactElement, useContext } from 'react'\n\nimport { CheckOutlined, CloseOutlined } from '@ant-design/icons'\nimport {\n Button,\n Col,\n Divider,\n Form,\n Input,\n PageHeader,\n Row,\n Skeleton,\n Table,\n} from 'antd'\nimport { SelectFieldAnt, SelectItemProps } from 'Components/Form/Select'\nimport ID_COMPONENTE from 'config/idComponente'\nimport { ApplicationContext } from 'Context'\nimport Claims from 'Hooks/usePermissions/Claims'\nimport usePermissions from 'Hooks/usePermissions/usePermissions'\nimport { IMacro, IMacroTipo, IMacroViagem } from 'Models/docas'\nimport moment from 'moment'\nimport { useForm } from 'react-hook-form'\nimport WsDocasService from 'Services/WS_DOCAS'\n\ninterface IProps {\n atualizaAgenda: (\n limparSelecao?: boolean,\n executandoAcao?: boolean,\n ) => Promise\n}\nconst ModalPesquisaInclusaoMacros = ({\n atualizaAgenda,\n}: IProps): ReactElement => {\n const hookForm = useForm()\n\n const { applicationContext } = useContext(ApplicationContext)\n\n const [chavePesquisa, setChavePesquisa] = useState()\n const [valorPesquisa, setValorPesquisa] = useState()\n\n const [macroSelecionada, setMacroSelecionada] = useState()\n const [macroOutrosSelecionada, setMacroOutrosSelecionada] =\n useState(false)\n const [justificativaMacro, setJustificativaMacro] = useState()\n\n const [tiposMacros, setTiposMacros] = useState([])\n const [tiposMacrosPesquisa, setTiposMacrosPesquisa] = useState(\n [],\n )\n const [selectTiposMacros, setSelectTiposMacros] = useState(\n [],\n )\n const [selectChavesPesquisa, setSelectChavesPesquisa] = useState<\n SelectItemProps[]\n >([])\n\n const [carregandoTiposMacros, setCarregandoTiposMacros] =\n useState(true)\n const [carregandoPesquisa, setCarregandoPesquisa] = useState(false)\n const [carregandoInclusao, setCarregandoInclusao] = useState(false)\n\n const [macrosViagem, setMacrosViagem] = useState([])\n const [sucessoPesquisa, setSucessoPesquisa] = useState()\n const [cdViagem, setCdViagem] = useState()\n const [numeroViagem, setNumeroViagem] = useState()\n const [placaVeiculo, setPlacaVeiculo] = useState()\n\n const { isAuthorized, isSystemMaster } = usePermissions()\n\n useEffect(() => {\n getChavesPesquisa()\n getTiposMacros()\n getTiposMacrosPesquisa()\n }, [])\n\n const getChavesPesquisa = (): void => {\n const selectChavesPesquisa: SelectItemProps[] = [\n {\n value: 'numeroDocumento',\n label: applicationContext.textoDocumentoViagem!,\n },\n { value: 'numeroViagem', label: 'Número da Viagem' },\n { value: 'placa', label: 'Placa do Veículo' },\n ]\n\n setSelectChavesPesquisa(selectChavesPesquisa)\n }\n\n const getTiposMacros = async (): Promise => {\n const { data } = await WsDocasService.macro.getList(ID_COMPONENTE.DOCAS)\n\n if (data.items) {\n setTiposMacros(data.items)\n\n const selectTiposMacros: SelectItemProps[] = data.items.map(\n (item: IMacro) => {\n return {\n value: item.cdMacro!.toString(),\n label: item.nome!,\n }\n },\n )\n\n setSelectTiposMacros(selectTiposMacros)\n }\n\n setCarregandoTiposMacros(false)\n }\n\n const getTiposMacrosPesquisa = async (): Promise => {\n const { data } = await WsDocasService.macro.getTiposMacroViagemPesquisa(\n ID_COMPONENTE.DOCAS,\n )\n\n if (data.items) {\n setTiposMacrosPesquisa(data.items)\n }\n }\n\n const pesquisaMacros = async (): Promise => {\n if (chavePesquisa && valorPesquisa) {\n try {\n const { data } = await WsDocasService.macro.buscaRegistrosMacroViagem(\n ID_COMPONENTE.DOCAS,\n chavePesquisa,\n valorPesquisa,\n )\n\n if (data.items) {\n const macrosViagem: IMacroViagem[] = []\n\n for (let i = 0; i < data.items.length; i++) {\n const macro: IMacroViagem = data.items[i]\n\n macro.dtAcaoStr = moment(macro.dtAcao).format('DD/MM/YYYY HH:mm:ss')\n\n macro.nomeMacro = tiposMacrosPesquisa.find(\n (tipoMacro) => tipoMacro.cdMacro === macro.cdMacro,\n )!.nome\n\n macrosViagem.push(macro)\n }\n\n setMacrosViagem(macrosViagem)\n setCdViagem(data.cdViagem)\n setNumeroViagem(data.numeroViagem)\n setPlacaVeiculo(data.placa ?? 'Sem placa')\n\n setSucessoPesquisa(true)\n } else {\n setMacrosViagem([])\n setSucessoPesquisa(false)\n }\n } catch (e) {\n console.error(e)\n\n setMacrosViagem([])\n setSucessoPesquisa(false)\n }\n }\n\n setCarregandoPesquisa(false)\n }\n\n const registraMacro = async (): Promise => {\n if (macroSelecionada && cdViagem) {\n const dtAtual: moment.Moment = moment()\n\n const macro: IMacroViagem = {\n cdMacro: macroSelecionada.cdMacro!,\n justificativa: justificativaMacro,\n cdViagem: cdViagem,\n cdUsuario: applicationContext.usuarioAtual?.cdUsuario ?? 0,\n usuarioNome: applicationContext.usuarioAtual?.nome,\n dtAcao: dtAtual.format('YYYY-MM-DD HH:mm:ss'),\n }\n\n try {\n const { data } = await WsDocasService.macro.registraMacroViagem(\n ID_COMPONENTE.DOCAS,\n macro,\n )\n\n if (data.statusCode === 501) {\n macro.dtAcaoStr = dtAtual.format('DD/MM/YYYY HH:mm:ss')\n\n macro.nomeMacro = tiposMacros.find(\n (tipoMacro) => tipoMacro.cdMacro === macroSelecionada.cdMacro,\n )!.nome\n\n setMacrosViagem([...macrosViagem, macro])\n\n atualizaAgenda()\n } else {\n window.alert(`Erro no registro de macro. ${data.message}`)\n }\n } catch (e) {\n console.error(e)\n alert(\n 'Ocorreu um erro para registrar a macro, favor contatar o suporte do Compulog',\n )\n }\n }\n\n setCarregandoInclusao(false)\n }\n\n const selecionaMacro = (cdMacro: number): void => {\n const macroSelecionada: IMacro = tiposMacros.find(\n (macro) => macro.cdMacro === cdMacro,\n )!\n\n setMacroSelecionada(macroSelecionada)\n setMacroOutrosSelecionada(macroSelecionada.nome!.toUpperCase() === 'OUTROS')\n }\n\n return (\n <>\n \n {sucessoPesquisa ? (\n <>\n \n \n \n ) : (\n <>\n \n \n \n )}\n ,\n ]\n : []\n }\n />\n\n \n \n setChavePesquisa(value)}\n />\n \n\n \n \n ) =>\n setValorPesquisa(event.target.value)\n }\n />\n \n \n\n \n {\n setCarregandoPesquisa(true)\n pesquisaMacros()\n }}\n >\n Pesquisar\n \n \n \n\n \n \n \n \n \n\n {isAuthorized(Claims.EmitirMacrosDocas) && (\n <>\n Registrar nova macro para a viagem\n\n \n \n \n \n selecionaMacro(window.parseInt(value))\n }\n />\n \n\n \n \n ) =>\n setJustificativaMacro(event.target.value)\n }\n />\n \n \n\n \n {\n setCarregandoInclusao(true)\n registraMacro()\n }}\n >\n Registrar\n \n \n \n \n \n )}\n \n )\n}\n\nexport default ModalPesquisaInclusaoMacros\n","import React, { Dispatch, SetStateAction, useState } from 'react'\n\nimport { Button, Col, Form, PageHeader, Row } from 'antd'\nimport TextArea from 'antd/lib/input/TextArea'\nimport ID_COMPONENTE from 'config/idComponente'\nimport { ICandidato } from 'Models/docas'\nimport { useSnackbar } from 'react-simple-snackbar'\nimport WsDocasService from 'Services/WS_DOCAS'\nimport { MsgSuccessOptions } from 'Types/SnackbarTypes'\n\ninterface IProps {\n id?: number\n nome?: string\n candidatos?: ICandidato[]\n setCandidatos: Dispatch>\n setModal: Dispatch>\n}\n\nconst ModalRemocaoCandidato = ({\n id,\n nome,\n candidatos,\n setCandidatos,\n setModal,\n}: IProps) => {\n const [openSnackbarSuccess, closeSnackbarSuccess] =\n useSnackbar(MsgSuccessOptions)\n\n const removeCandidato = async (justificativa: string) => {\n if (id) {\n setCandidatos(candidatos?.filter((f) => f.cdCandidatoAgendamento !== id))\n const { data } = await WsDocasService.candidatos.delete(\n ID_COMPONENTE.DOCAS,\n id,\n justificativa,\n )\n\n if (data?.statusCode === 200 || data?.statusCode === 501) {\n openSnackbarSuccess('Candidato removido com sucesso')\n setModal(false)\n }\n }\n }\n\n return (\n
\n \n Remover\n ,\n ]}\n >\n \n \n \n