Programa de Qualidade
Programa De Qualidade — Cadastros (Portal Easypac)
A tela de Programa De Qualidade é um menu do módulo Cadastros que define os programas de qualidade usados para agrupar planilhas da gestão da qualidade e para parametrizar o envio automático de relatório quando uma planilha vinculada a esse programa tem sua assinatura fechada.
Visão Geral
A tela de Programa De Qualidade é um menu do módulo Cadastros que define os programas de qualidade usados para agrupar planilhas da gestão da qualidade e para parametrizar o envio automático de relatório quando uma planilha vinculada a esse programa tem sua assinatura fechada. Ela não gera nem envia o relatório em si: apenas cadastra o programa (código, descrição, situação) e configura, num modal próprio, para quais destinos — e-mail, Google Drive ou Azure Blob Storage — o relatório deve ser enviado quando o fechamento da planilha acontecer. O processo de fechamento da planilha, onde o relatório é efetivamente gerado e enviado, ocorre fora desta tela.
Pré-requisitos
Não há cadastro anterior obrigatório para criar um programa de qualidade em si — é um cadastro-base que pode ser criado isoladamente. As planilhas que serão vinculadas a este programa e contadas na coluna de quantidade de planilhas são cadastradas em telas próprias, fora deste acervo.
Para habilitar o envio automático de relatório, cada tipo de destino tem um pré-requisito próprio, verificado apenas no momento de adicionar o destino no modal de configuração:
- E-mail: nenhum pré-requisito externo; basta informar ao menos um endereço.
- Google Drive: exige que a conexão OAuth com o Google já tenha sido concluída nesta tela (upload do arquivo de credenciais) antes de informar o ID da pasta; sem essa conexão, o destino não é adicionado.
- Azure Blob Storage: exige que a URL do container já exista e esteja disponível para ser informada; sem ela, o destino não é adicionado.
Permissões e Perfis de Acesso
Não há dependência de módulo contratado específico para esta tela — ela integra o cadastro padrão do módulo Cadastros, sem checagem de contrato adicional.
Quanto ao papel do usuário, cada operação exige uma permissão própria, traduzida para linguagem de negócio: visualizar a listagem exige a permissão de visualizar programa de qualidade; abrir o formulário de novo cadastro e gravar um programa novo exigem a permissão de cadastrar programa de qualidade; abrir o formulário de edição, consultar um programa específico por Id e gravar uma edição exigem a permissão de editar programa de qualidade; excluir um programa exige a permissão de excluir programa de qualidade. Já a lista de seleção de programas de qualidade (usada por outras telas para vincular um programa), o salvamento e a desativação da configuração de envio automático de relatório e a conexão com o Google Drive não exigem nenhuma permissão específica de papel além da autenticação padrão do Portal — ou seja, qualquer usuário autenticado pode alterar a configuração de envio de um programa, mesmo sem a permissão de editar programa de qualidade.
Perfil fiscal: não tem acesso à tela, ou seja, não pode realizar nenhuma das ações mencionadas acima.
Quanto ao recorte de dados: ao contrário de algumas telas do sistema, a listagem de Programas de Qualidade não aplica filtro por empresa — programas de qualidade de todas as empresas aparecem juntos na mesma listagem, sem isolamento multiempresa.
Fluxo Operacional
O usuário acessa a tela de Programa De Qualidade pelo menu Cadastros. Na listagem, pode pesquisar, ordenar e paginar os programas já cadastrados, abrir o formulário de um novo programa pelo botão Novo, abrir a edição de um programa existente pelo botão Editar ou por duplo clique na linha, ou excluir um programa pelo botão Excluir mediante confirmação. Dentro do formulário de edição, o usuário pode ainda abrir o modal de Configuração de Envio de Relatório para definir se o envio automático fica habilitado e para quais destinos ele deve ocorrer. Ao concluir o cadastro ou a edição, a tela retorna para a listagem.
Interface e Comportamentos da Tela
Listagem de programas de qualidade
A grade pagina e ordena no servidor, com 20 registros por página e ordenação inicial pelo Id em ordem decrescente. A coluna Status é calculada no navegador a partir do campo ativo do programa: exibe Ativo quando o valor é 1, e Inativo em qualquer outro caso. A coluna de quantidade de planilhas não é ordenável nem pesquisável. A pesquisa livre só dispara uma nova busca ao servidor a partir de 3 caracteres digitados, ao apertar Enter, ou ao limpar o campo; as requisições são adiadas em 500ms após o usuário parar de digitar, para evitar uma chamada a cada tecla. O botão Novo leva ao formulário de cadastro; o botão Editar (ou duplo clique na linha) leva ao formulário de edição do programa selecionado; o botão Excluir aciona a confirmação de remoção.
Formulário de cadastro e edição de programa de qualidade
Quando um Id é informado na rota de edição, a tela carrega os dados do programa (código, descrição, status e configuração de envio de relatório) e marca o valor de status atual como selecionado; quando nenhum Id é informado, a tela abre em branco para um novo cadastro, com o status inicial não pré-selecionado nas opções (assume o padrão do controle). O campo Código é obrigatório, com até 40 caracteres; a Descrição é opcional, com até 150 caracteres; o Status é um controle de seleção única e obrigatório, pré-selecionado com o valor atual do programa — o padrão é Ativo. A validação de preenchimento ocorre no navegador antes do envio. O botão Configuração de Envio de Relatório só aparece no cabeçalho quando o programa já foi salvo pelo menos uma vez (edição); no cadastro de um programa novo esse botão não é exibido, então a configuração de envio só pode ser feita depois de o programa existir. O botão Cancelar sempre volta para a listagem, sem pedir confirmação e sem salvar alterações.
Modal de configuração de envio automático de relatório
O painel de parâmetros de destino só é exibido quando o interruptor Habilitar Envio Automático está marcado. Ao trocar o Tipo de Destino entre E-mail, Google Drive e Azure Blob Storage, apenas os campos correspondentes àquele tipo ficam visíveis. Para o destino de e-mail, é exigido ao menos um endereço; endereços já adicionados são comparados sem diferenciar maiúsculas de minúsculas e não podem se repetir, e cada endereço é normalizado para minúsculas e sem espaços nas pontas antes de ser comparado e enviado. Um destino do tipo Google Drive exige o ID da pasta e a conexão OAuth com o Google já realizada; faltando qualquer um dos dois, o destino não é adicionado. Um destino do tipo Azure Blob Storage exige a URL do container informada; sem ela, o destino não é adicionado. A conexão com o Google Drive é feita enviando um arquivo de credenciais no formato .json escolhido pelo usuário; o seletor de arquivos restringe a extensão a .json, mas não há checagem de tamanho no navegador. Ao fechar o modal sem salvar, a configuração exibida volta para o último estado salvo capturado quando o modal foi carregado; se o modal nunca chegou a carregar dados salvos, a lista de destinos volta vazia.
Feedbacks ao Usuário
| Situação | Feedback | Texto exato |
|---|---|---|
| Exclusão de programa solicitada na listagem | Diálogo de confirmação | “Tem certeza? Você está prestes a remover o programa de qualidade: {id} – {código}” |
| Exclusão concluída com sucesso | Notificação | “Operação efetuada com sucesso.” |
| Exclusão de um Id que não existe mais | Notificação de erro | “Programa de qualidade não encontrado.” |
| Exclusão de programa em uso em outros cadastros | Notificação de erro | “Não foi possível deletar o programa de qualidade pois ele está em uso.” |
| Cadastro ou edição salvos com sucesso | Notificação | “Operação efetuada com sucesso.” |
| Cadastro com Código já usado por outro programa | Notificação de erro | “Programa de qualidade já cadastrado.” |
| Edição de um Id que não existe mais no momento de salvar | Notificação de erro | “Programa de Qualidade não encontrado.” |
| Tentativa de adicionar e-mail já presente na lista de destinos | Notificação inline no modal | “Os seguintes e-mails já foram adicionados” |
| Configuração de envio salva ou desativada pelo modal | Notificação | “Configuração salva com sucesso.” |
| Tipo de destino não reconhecido ao salvar a configuração | Notificação de erro | “Tipo de configuração desconhecido” |
Feedbacks — configuração de envio sem mensagem literal capturada
| Situação | Feedback | Mensagem |
|---|---|---|
| Destino Google Drive sem pasta informada ou sem conexão OAuth concluída | Notificação inline no modal | O modal impede adicionar o destino e sinaliza que faltam a pasta ou a conexão com o Google |
| Destino Azure Blob Storage sem URL do container informada | Notificação inline no modal | O modal impede adicionar o destino por falta da URL do container |
Processamento pelo Backend
Ao carregar a listagem, o servidor monta a consulta com a página, o tamanho de página, a busca e a ordenação recebidos do portal; aplica a busca por Id exato quando o texto digitado é numérico, ou por trecho contido na Descrição ou no Código caso contrário; ordena pela coluna solicitada (Id, Código ou Descrição — qualquer outro índice de coluna não altera a ordem apresentada); e calcula, para cada programa, a quantidade de planilhas como a contagem de planilhas ativos vinculados. Essa consulta não aplica filtro por empresa, ao contrário do padrão do restante do sistema.
Ao gravar um cadastro novo ou uma edição, o servidor recebe a mesma operação de gravação e decide entre inserir e editar a partir do Id enviado; valida a duplicidade do Código conforme a regra de unicidade e, na edição, confirma que o registro ainda existe antes de gravar.
Ao excluir, o servidor confirma que o registro ainda existe e que não há vínculo que impeça a exclusão por integridade referencial, registra o identificador do usuário autenticado e o instante da operação, e devolve essas informações à interface.
Ao salvar a configuração de envio automático de relatório, o servidor valida cada destino conforme o tipo informado e grava a configuração como habilitada com a lista de destinos; ao desativar, apaga o destino gravado anteriormente e marca a configuração como desabilitada. Em ambos os casos, se o programa de qualidade não existir mais no momento da gravação, a operação apenas devolve confirmação negativa, sem gerar erro.
Ao autorizar a conexão com o Google Drive, o servidor monta a URL de consentimento OAuth2 a partir das credenciais enviadas e do Id do programa de qualidade; se a autorização falhar por um problema relacionado ao provedor de autenticação do Google, a mensagem é devolvida como resposta normal para que o portal a trate; qualquer outra falha é devolvida como erro genérico do servidor.
Regras de Negócio
O campo Status reconhece o valor 1 como Ativo; qualquer outro valor é tratado como Inativo. Quando não alterado no formulário, o padrão assumido é Ativo (valor 1).
O Tipo de Destino de envio de relatório reconhece três valores: 1 para E-mail, 2 para Google Drive e 3 para Azure Blob Storage; um valor fora dessa faixa é rejeitado no momento da leitura dos dados enviados.
A grade lista 20 registros por página, com ordenação inicial pelo Id em ordem decrescente. A ordenação reconhece três colunas por posição: 0 é o Id, 1 é o Código e 2 é a Descrição; qualquer outro índice de coluna não altera a ordem apresentada. A coluna de quantidade de planilhas não é ordenável nem pesquisável.
A listagem de Programas de Qualidade não aplica filtro por empresa: programas de todas as empresas aparecem juntos na mesma listagem.
O Código é obrigatório, com até 40 caracteres; a Descrição é opcional, com até 150 caracteres; o Status é obrigatório.
Um Código já usado por outro programa é rejeitado no cadastro; na edição, a mesma checagem de Código duplicado é feita, mas o próprio Código do registro que está sendo editado é permitido.
A exclusão é bloqueada quando o programa está em uso em outros cadastros (violação de integridade referencial) ou quando o Id informado não existe mais no banco.
A quantidade de planilhas exibida na grade é a contagem de planilhas ativas vinculadas ao programa de qualidade; Planilhas inativas não entram nessa contagem.
Cada destino de configuração de envio de relatório é validado conforme o tipo: um destino de e-mail exige ao menos um endereço na lista; os endereços são comparados sem diferenciar maiúsculas de minúsculas e normalizados para minúsculas e sem espaços nas pontas antes de comparar e enviar. Um destino Google Drive exige a pasta e os dados de conexão OAuth completos (cliente, segredo e token de atualização). Um destino Azure Blob Storage exige uma URL de container absoluta e válida. Um tipo de destino não reconhecido é rejeitado com a mensagem de tipo de configuração desconhecido.
A configuração de envio de relatório só existe para um programa já salvo pelo menos uma vez: não é possível configurá-la antes do primeiro cadastro. Ao gravar o cadastro principal, apenas Id, Código, Descrição e Status são enviados ao servidor; os campos de configuração de envio, mesmo presentes no mesmo formulário, são gravados e desativados por operações próprias e independentes, acionadas pelo modal.
Toda exclusão de programa de qualidade é registrada com o identificador do usuário autenticado que a efetuou e o instante da operação.
Relatórios e Documentos Gerados
Esta tela não gera relatório diretamente; ela parametriza o envio automático de um relatório disparado pelo fechamento de assinatura de uma planilha vinculada a este programa de qualidade. Quando o envio automático está habilitado, o relatório é gerado e enviado de forma assíncrona aos destinos configurados (e-mail, Google Drive ou Azure Blob Storage) no momento do fechamento da planilha; a geração e o envio propriamente ditos acontecem fora desta tela, no processo de fechamento da planilha.
Anexos e Arquivos
A conexão com o Google Drive é feita enviando um arquivo de credenciais no formato .json escolhido pelo usuário no modal de configuração de envio. O seletor de arquivos restringe a extensão a .json, mas não há checagem de tamanho do arquivo no navegador.
Integrações
O modal de configuração de envio de relatório integra com três destinos externos: e-mail, Google Drive e Azure Blob Storage. A conexão com o Google Drive depende de autorização OAuth2, cuja URL de consentimento é montada pelo servidor a partir das credenciais enviadas e do Id do programa de qualidade; falhas relacionadas ao provedor de autenticação do Google são devolvidas de forma diferenciada para que o portal as trate.
Troubleshooting
T-01 — A opção Programa De Qualidade não aparece ou a listagem não abre
Cenário: o usuário tenta acessar a tela pelo menu.
Mensagem exibida: Nenhuma — a opção fica indisponível ou o acesso é negado.
O que fazer: confirmar se o usuário tem a permissão de visualizar programa de qualidade; sem ela, o acesso à tela é bloqueado.
T-02 — O botão Novo não abre o formulário de cadastro
Mensagem exibida: Nenhuma — a ação fica indisponível.
O que fazer: confirmar se o usuário tem a permissão de cadastrar programa de qualidade.
T-03 — O botão Editar (ou duplo clique) não abre a edição do programa
Mensagem exibida: Nenhuma — a ação fica indisponível.
O que fazer: confirmar se o usuário tem a permissão de editar programa de qualidade; ela também é exigida para simplesmente consultar os dados de um programa específico por Id.
T-04 — O botão Excluir não remove o programa de qualidade
Mensagem exibida: Nenhuma — a ação fica indisponível.
O que fazer: confirmar se o usuário tem a permissão de excluir programa de qualidade.
T-05 — Não é possível excluir um programa de qualidade em uso
Mensagem exibida: “Não foi possível deletar o programa de qualidade pois ele está em uso.”
O que fazer: verificar quais cadastros ainda referenciam este programa (planilhas vinculadas) e desvinculá-los antes de excluir.
T-06 — Exclusão de um programa que já não existe mais
Cenário: dois usuários tentam excluir o mesmo programa ao mesmo tempo, ou o registro já foi removido antes.
Mensagem exibida: “Programa de qualidade não encontrado.”
O que fazer: atualizar a listagem; o registro já não existe e não requer nova ação.
T-07 — Não é possível cadastrar um novo programa: Código já em uso
Mensagem exibida: “Programa de qualidade já cadastrado.”
O que fazer: informar um Código diferente, ou localizar e editar o programa existente com aquele Código.
T-08 — Editar um programa que foi excluído por outro usuário
Cenário: a tela de edição foi aberta antes de o registro ser removido por outra sessão.
Mensagem exibida: “Programa de Qualidade não encontrado.”
O que fazer: fechar a edição e atualizar a listagem; o registro precisa ser recriado, se ainda necessário.
T-09 — A tela de edição apresenta erro inesperado ao abrir um programa específico
Cenário: o campo de situação do programa está gravado sem valor no servidor.
Mensagem exibida: Nenhuma — a tela não carrega e apresenta um erro inesperado.
O que fazer: registrar o Id do programa afetado e encaminhar ao suporte técnico para correção do dado de situação diretamente na origem.
T-10 — Mensagem “Os seguintes e-mails já foram adicionados” ao configurar envio
Mensagem exibida: “Os seguintes e-mails já foram adicionados”
O que fazer: verificar a lista de destinos já configurada; o mesmo endereço (sem diferenciar maiúsculas de minúsculas) não pode ser adicionado duas vezes.
T-11 — Não é possível adicionar um destino Google Drive na configuração de envio
Cenário: falta o ID da pasta ou a conexão OAuth com o Google ainda não foi concluída.
Mensagem exibida: Nenhuma — o modal impede adicionar o destino e sinaliza os dados faltantes.
O que fazer: concluir a conexão com o Google enviando o arquivo de credenciais .json e informar o ID da pasta de destino.
T-12 — Não é possível adicionar um destino Azure Blob Storage na configuração de envio
Mensagem exibida: Nenhuma — o modal impede adicionar o destino.
O que fazer: informar a URL do container de destino antes de adicionar o destino.
T-13 — Mensagem “Tipo de configuração desconhecido” ao salvar a configuração de envio
Mensagem exibida: “Tipo de configuração desconhecido”
O que fazer: reabrir o modal e reconfigurar o destino escolhendo novamente um dos tipos válidos (E-mail, Google Drive ou Azure Blob Storage); encaminhar ao suporte técnico se o erro persistir com um tipo válido selecionado.
T-14 — A configuração de envio informa sucesso, mas o destino não é aplicado depois
Cenário: o programa de qualidade associado deixou de existir entre a abertura do modal e o clique em Salvar.
Mensagem exibida: “Configuração salva com sucesso.” (exibida mesmo quando a gravação não ocorreu de fato)
O que fazer: reabrir o programa de qualidade e conferir se a configuração de envio realmente foi aplicada; se não, refazer a configuração.
T-15 — A listagem mostra programas de qualidade de outras empresas
Cenário: o usuário esperava ver apenas os programas da própria empresa.
Mensagem exibida: Nenhuma — este é o comportamento normal da tela.
O que fazer: explicar que, diferente das demais listagens do sistema, a tela de Programa De Qualidade não isola os registros por empresa; todos os programas cadastrados aparecem juntos.
Casos de Uso
Caso 1 — Cadastro de um novo programa de qualidade com envio automático por e-mail
Um usuário com permissão de cadastrar programa de qualidade abre o formulário pelo botão Novo, informa o Código e a Descrição, mantém o Status Ativo e salva. A mensagem “Operação efetuada com sucesso.” é exibida e a tela retorna à listagem. Em seguida, o usuário reabre o programa recém-criado, agora com o botão Configuração de Envio de Relatório disponível, habilita o interruptor de envio automático, escolhe o Tipo de Destino e realiza as devidas configurações. Ao salvar, recebe “Configuração salva com sucesso.”.
Caso 2 — Edição de programa de qualidade trocando o destino de Google Drive para Azure Blob Storage
Um usuário com permissão de editar programa de qualidade abre a edição do programa que já tinha um destino Google Drive configurado. No modal de configuração, ele desmarca o destino Google Drive, troca o Tipo de Destino para Azure Blob Storage e informa a URL do container. Ao salvar, o servidor grava a nova configuração habilitada com o destino Azure; a partir do próximo fechamento de assinatura de planilha vinculada a esse programa, o relatório passa a ser enviado para o container informado, e não mais para o Google Drive.
Caso 3 — Tentativa de exclusão de um programa de qualidade vinculado a planilhas ativas
Um usuário com permissão de excluir programa de qualidade tenta remover o programa que possui planilhas ativas vinculadas (visível na coluna de quantidade de planilhas da listagem). Ao confirmar a exclusão no diálogo, o servidor rejeita a operação com “Não foi possível deletar o programa de qualidade pois ele está em uso.”, e o registro permanece na listagem.
Caso 4 — Usuário sem permissão de editar tenta abrir o cadastro de um programa
Um usuário autenticado, que só possui a permissão de visualizar programa de qualidade, tenta abrir a edição de um programa pela listagem. Como a permissão de editar programa de qualidade não está atribuída ao seu perfil, a ação de edição fica indisponível; o mesmo usuário continua conseguindo consultar a listagem normalmente.