INTRODUÇÃO
Post anterior: Do Caos ao Prompt T4E05: Desenvolvimento do App AG2P – Evento "Terminou tarefa do negócio"
Evento “Ocorreu um incidente”
Link da conversa com o Gemini, na qual foi apresentado um Prompt contendo os itens Objetivo, Contexto, Ferramentas e Especificações, para geração do código para implementar o evento
"Ocorreu um incidente": https://g.co/gemini/share/cc7b890fee26
Comando ao Gemini para solicitar a implementação do evento
Objetivo, Contexto e Ferramentas
Clique aqui para ver os itens Objetivo, Contexto e Ferramentas do Comando.
Especificações
Segue abaixo o post da temporada 3 desta série, que contém as especificações do evento "Ocorreu um incidente", que faz parte deste comando:
As especificações do evento foram feitas com Finite State Machine (FSM), de tal forma que cada evento pode ser automatizado e testado de forma independente.
Resposta do Gemini
Explicação do Código:
ocorreuUmIncidente()
: Esta é a função principal que será executada quando o evento "Ocorreu um incidente" for disparado.SpreadsheetApp.getActiveSpreadsheet()
: Obtém uma referência à planilha ativa.ss.getActiveSheet()
: Obtém uma referência à aba atualmente ativa.ss.getSheetByName("GPS")
: Obtém uma referência à aba chamada "GPS".- Verificação da Aba Ativa: O código verifica se a aba ativa é a "RDM". Se não for, exibe um alerta e interrompe a execução.
- Verificação do Estado da RDM: O código lê o valor da célula "T1" na aba "RDM" para verificar se o estado é "RDM Ativa". Se não for, exibe um alerta e interrompe a execução.
- Mantém o Estado da RDM: A célula "T1" na aba "RDM" é explicitamente definida como "RDM Ativa", garantindo a aplicação da regra R44.
- Solicitação ao Usuário: Um alerta é exibido ao usuário, instruindo-o a registrar os detalhes do incidente nas colunas "I" e "J" da aba "GPS". Isso atende às regras R48 e R50, pois direciona a ação imediata e a importância de dados completos e precisos.
- Regras R06 e R31: A implementação direta das regras R06 e R31 neste script é um pouco complexa, pois elas dependem do momento exato em que o incidente ocorreu em relação aos horários de início e fim registrados na planilha RDM. Uma abordagem mais eficaz para essas regras seria:
- Data Validation na Aba "GPS": Configurar regras de validação de dados nas colunas de hora da ocorrência do incidente na aba "GPS", que consultem os horários de início e fim da aba "RDM".
- Script Adicional (Opcional): Criar um script separado que seja executado após a inserção dos dados na aba "GPS" para verificar e ajustar os horários do incidente de acordo com as regras R06 e R31.
Logger.log()
: Registra uma mensagem no log de execução indicando que o evento foi processado.
Como Usar:
- Abra sua planilha do Google Sheets.
- Vá em "Ferramentas" > "Editor de script".
- Copie e cole o código acima no editor.
- Salve o script (dê um nome significativo, como
AutomacaoRDM
). - Para que este script seja executado quando o evento "Ocorreu um incidente" acontecer, você precisará vincular este script a um gatilho. A forma como o gatilho será implementado dependerá de como o evento "Ocorreu um incidente" é disparado no seu "app" (que ainda será construído). Algumas possibilidades incluem:
- Um botão na interface do seu "app" que chama uma função do Google Apps Script.
- Um evento específico na planilha (embora para este cenário, um gatilho baseado em tempo ou em edição talvez não seja o mais adequado para representar um "incidente" disparado pelo usuário).
Lembre-se de que este script pressupõe que a aba ativa no momento em que o evento é disparado seja a aba "RDM" e que a célula "T1" contenha o estado correto. A integração completa dependerá da construção do seu "app" e de como ele interage com a planilha.
CONCLUSÃO
Neste episódio 6, da temporada 4 da série "Do Caos ao Prompt", foi apresentada a implementação do Evento "Ocorreu um incidente", realizada pelo Chatbot de IA Gemini 2.0 Flash.
As especificações do evento foram feitas em Finite State Machine (FSM).
Próximo post: Do Caos ao Prompt T4E07: Desenvolvimento do App AG2P – Evento "Decidiu encerrar a jornada"
Nenhum comentário:
Postar um comentário