Skip to content
Open

Esse #13

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file removed .gitkeep
Empty file.
1,114 changes: 958 additions & 156 deletions app.js

Large diffs are not rendered by default.

257 changes: 210 additions & 47 deletions impressao-planilha.html

Large diffs are not rendered by default.

299 changes: 185 additions & 114 deletions index.html

Large diffs are not rendered by default.

86 changes: 86 additions & 0 deletions README.md → readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,22 @@ Na aba **Cadastro** existe uma seção para upload de arquivo (`.xlsx`, `.xls`,

### Colunas esperadas

Formato 1 (direto):

- `area`
- `sku`
- `tipo`
- `paletes`
- `acao` (opcional)

Formato 2 (planilha operacional):

- `sku`
- `deposito` (Principal/Tissue/Lonil/TTD/Estrutura)
- `quadrante` (ex.: A03, B02D, Direito/Esquerdo, Chão)
- `qtd plt`
- `tipo plt` (opcional; se ausente assume `PL2`)

### Regras

- Se `acao` for `APAGAR`, `EXCLUIR`, `DELETE`, `DEL`, `REMOVER` ou `REMOVE`, a posição é apagada.
Expand Down Expand Up @@ -117,3 +127,79 @@ Quando ativo, após ações de cadastro/edição, exclusão, importação e expe
- totais expedidos por SKU.

> Importante: por segurança do navegador, não é possível editar automaticamente o mesmo arquivo Excel já aberto no seu computador. O que o sistema faz é gerar uma nova versão atualizada da planilha.


## Login de usuários (Supabase)

Para cadastrar novos usuários da aplicação, execute também:

- `supabase/wmss_users.sql`

Esse script cria a tabela `public.wmss_users` com:

- `usuario` (único),
- `senha`,
- `perfil` (`MASTER`/`COMUM`),
- `ativo`.

Depois de rodar o script, você pode inserir novos usuários assim:

```sql
insert into public.wmss_users (usuario, senha, nome, perfil, ativo)
values ('12345678', 'minhasenha', 'Operador 1', 'COMUM', true)
on conflict (usuario) do update
set senha = excluded.senha,
nome = excluded.nome,
perfil = excluded.perfil,
ativo = excluded.ativo;
```

> Segurança: o login atual é simples (senha em texto) para operação rápida. Recomendado migrar para Supabase Auth ou hash de senha em produção.

## Integração de IA (AirLLM/OpenAI via Edge Function)

A tela de **Planejamento** agora possui o botão **✨ Sugerir com IA**.

Ela chama a função HTTP:

- `POST /functions/v1/wmss-ai-assist`

com payload:

```json
{
"prompt": "texto digitado pelo usuário",
"context": {
"capacidadePlanejamento": {"A":80,"BD":40,"BE":32,"C":48},
"ocupado": {"A":0,"BD":0,"BE":0,"C":0},
"ocupacaoSetores": {"principal":0,"tissue":0,"lonil":0,"ttd":0},
"topSkus": []
}
}
```

### Próximo passo para ativar de verdade

Publique uma Edge Function `wmss-ai-assist` no Supabase para conectar no provedor de LLM (AirLLM/OpenAI/etc).

> Recomendado: manter chave do provedor **somente** no backend (Edge Function), nunca no browser.


### Edge Function pronta no repositório

Também foi adicionada a implementação pronta em:

- `supabase/functions/wmss-ai-assist/index.ts`

E guia de deploy em:

- `supabase/functions/wmss-ai-assist/README.md`

## Tela de cadastro de usuários

Na aba **Cadastro** foi incluída a seção **Cadastro de usuários** (somente mestre), com:

- criação/edição de usuário,
- seleção de perfil (`COMUM`/`MASTER`),
- ativação/desativação,
- listagem de usuários já cadastrados.
File renamed without changes.
Loading