INTRODUÇÃO
Post anterior: Do Caos ao Prompt T4E10: Desenvolvimento do App AG2P - Evento "Selecionou totais para produtividade"
Este Post é o episódio 11 da temporada 4 da série "Do Caos ao Prompt", que apresenta o desenvolvimento do Agente de Gestão de Processo Pessoal (AG2P), tendo como foco o evento "Selecionou incidentes por origem".
Evento “Selecionou incidentes por origem”
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
"Selecionou incidentes por origem": https://g.co/gemini/share/da4d0f0e5210
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 "Selecionou incidentes por origem", 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:
-
onSelecionouIncidentesPorOrigem()
:- Esta é a função principal que será executada quando o evento "Selecionou incidentes por origem" for disparado (isso dependerá de como você implementará a interface do usuário - botões, menus, etc.).
- Obtém a planilha ativa e a referência para a aba "RDM".
- Chama a função
obterEstadoRDM()
para verificar o estado atual da aba "RDM". - Verifica a Regra R41: Se o estado da aba "RDM" não for "RDM Antes do fim", a função registra um log e exibe um alerta, interrompendo a execução.
- Chama a função
atualizarAbaPareto()
para executar a ação correspondente. - Registra um log indicando a conclusão do evento e a manutenção do estado da "RDM".
-
obterEstadoRDM(abaRDM)
:- Esta função recebe a aba "RDM" como parâmetro.
- Importante: Assume que o estado da aba "RDM" está armazenado em uma célula específica (no exemplo, a célula "A1"). Você precisará ajustar essa célula para corresponder à estrutura da sua planilha.
- Retorna o valor contido nessa célula, que representa o estado da "RDM".
-
atualizarAbaPareto(spreadsheet)
:- Recebe a planilha ativa como parâmetro.
- Obtém referências para as abas "GPS" e "Pareto".
- Regras R17 a R22 (Período de Referência):
- Assume que o período de referência está definido em células específicas da aba "Pareto" (no exemplo, "A1" para a data inicial e "B1" para a data final). Você precisará ajustar essas células conforme a sua planilha.
- Valida o formato das datas (Regras R18 e R20) usando uma expressão regular.
- Extrai as datas inicial e final para comparação (embora a comparação direta com as datas da planilha GPS não seja feita explicitamente neste código, as fórmulas
SUMIFS
farão essa filtragem).
- Regra R23 (Atualização das fórmulas):
- Define as colunas correspondentes às origens dos defeitos na aba "GPS" (K a P) e as células onde as fórmulas de soma serão inseridas na aba "Pareto" (A3 a F3).
- Itera sobre as origens e constrói uma fórmula
SUMIFS
para cada uma. Essa fórmula soma os valores da coluna de origem na aba "GPS" onde a data na coluna A da aba "GPS" está dentro do período de referência definido na aba "Pareto". - Insere essas fórmulas nas células correspondentes da aba "Pareto".
- Apresentação do Gráfico Pareto (AG2P):
- Obtém todos os gráficos existentes na aba "Pareto".
- Se houver pelo menos um gráfico, ele assume que o primeiro gráfico encontrado é o gráfico de Pareto e o exibe em uma barra lateral usando
SpreadsheetApp.getUi().showSidebar()
. - Se nenhum gráfico for encontrado, exibe um alerta.
- Regra R41 (Manutenção do estado da RDM):
- A função
atualizarAbaPareto
não modifica o estado da aba "RDM". A responsabilidade de verificar e manter o estado é da funçãoonSelecionouIncidentesPorOrigem()
.
- A função
- Registra um log indicando que a aba Pareto foi atualizada.
Próximos Passos e Considerações:
- Interface do Usuário: Você precisará criar uma maneira para o usuário disparar o evento "Selecionou incidentes por origem". Isso pode ser um botão na planilha, um item de menu personalizado ou outro elemento de interface fornecido pelo Google Apps Script. A função
onSelecionouIncidentesPorOrigem()
seria vinculada a esse elemento. - Localização do Estado da RDM: Certifique-se de que a função
obterEstadoRDM()
esteja lendo o estado correto da aba "RDM". - Localização do Período de Referência: Ajuste as células na aba "Pareto" onde o período de referência é inserido.
- Estrutura da Aba GPS: Verifique se as colunas mencionadas (A para datas, K a P para origens) correspondem à estrutura real da sua aba "GPS".
- Gráfico de Pareto: Certifique-se de que o gráfico de Pareto já esteja inserido na aba "Pareto" e que seus dados sejam baseados nas células A3:F3 (ou ajuste o código se for diferente).
- Tratamento de Erros: O código inclui algumas verificações básicas (formato das datas, estado da RDM, existência do gráfico), mas você pode adicionar tratamento de erros mais robusto conforme necessário.
- Testes: Teste cuidadosamente a função com diferentes cenários e dados para garantir que ela funcione conforme o esperado e siga todas as regras especificadas.
Lembre-se de substituir os nomes das abas e as referências de células no código para corresponderem à sua planilha real.
CONCLUSÃO
Neste episódio 11, da temporada 4 da série "Do Caos ao Prompt", foi apresentada a implementação do Evento "Selecionou incidentes por origem", 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 T4E12: Desenvolvimento do App AG2P -
Evento "Avaliou a capacidade do processo"
Nenhum comentário:
Postar um comentário