Correção do relatório que é gerado para completo
This commit is contained in:
44
README.md
44
README.md
@@ -1452,13 +1452,47 @@ feito manualmente para entregar ao cliente.
|
||||
ENTREGAS azul `1155CC` (A–T) + vermelho `C00000` (U–Z), quadros do RESUMO em
|
||||
`002060`/`0070C0`/`C00000`/`A5A5A5`, status verde/laranja/azul, títulos 16pt, performance em
|
||||
itálico %, cabeçalhos mesclados. Validado offline com caxlsx + LibreOffice.
|
||||
- **Links das fotos são hiperlinks clicáveis** (azul sublinhado): Nota Fiscal, Termo de
|
||||
Recebimento, Foto da Fachada e Relatório de visita abrem o comprovante direto do Excel.
|
||||
Qualquer célula que seja URL `http(s)` vira link (`#linkar_urls`).
|
||||
- Arquivos: `Analytics::PlanilhaEntregas` (dados) + `Analytics::PlanilhaEntregasXlsx` (binário,
|
||||
caxlsx), rota `operacoes_planilha_baixar`, action `baixar_planilha`.
|
||||
- ⚠️ **Ressalvas:** nomes de coluna das tabelas `gade_entregas_*`/rastreio foram deduzidos com
|
||||
fallback seguro (coluna inexistente sai **vazia**, sem quebrar o layout) — conferir o primeiro
|
||||
download real e ajustar `COLUNAS_GADE`/`RASTREIO_COLUNAS` se algo sair em branco. Os 2
|
||||
**gráficos embutidos** do RESUMO não são replicados. "Conferência Documentos" é controle
|
||||
manual (sai "A iniciar").
|
||||
|
||||
#### Nomes de coluna — conferidos no banco real (22/07/2026)
|
||||
Os nomes eram **deduzidos** e 9 cabeçalhos nunca casavam, saindo vazios em silêncio. Os nomes
|
||||
reais foram conferidos com `Entrega.column_names` e estão como 1º candidato em
|
||||
`RASTREIO_COLUNAS`; os chutes antigos continuam na lista como rede de segurança.
|
||||
- Espelho usa o padrão do export pt-BR: `codrivers`, `responsible_person`, `advance`,
|
||||
`start_of_time_window_1..2`, `end_of_time_window_1..2`, `required_skills`, `optional_skills`,
|
||||
`comments`. Corrigidos — antes eram `copilots`, `receiver`, `early`, `window_start`, etc.
|
||||
- Tabelas `gade_entregas_*` gravam a geo como **`lat`/`long`** (não `latitude`/`longitude`) —
|
||||
as duas colunas da aba ENTREGAS saíam vazias. Ver `ALIAS_GADE`.
|
||||
- **`Load 4` não existe** no espelho (só `load`, `load_2`, `load_3`) — sai vazia de propósito.
|
||||
- Coluna **`protocolo_de_entrega`** existe no espelho e não estava em lugar nenhum: entrou como
|
||||
última coluna (AU), **depois** do layout A–AT do modelo, para não deslocar nada do cliente.
|
||||
- ⚠️ Vazias por **falta de dado na origem**, não por bug: `contact_phone`, `account_id`,
|
||||
`account_name` (colunas existem no espelho e o sync nunca preenche — a API do SimpliRoute
|
||||
TEM o valor, conferido na NF 79093) e `codrivers`/`required_skills`/`optional_skills`/
|
||||
`contact_email`/`load_2`/`load_3` (vazios também no relatório baixado direto do SimpliRoute).
|
||||
- ⚠️ Os 2 **gráficos embutidos** do RESUMO não são replicados. "Conferência Documentos" é
|
||||
controle manual (sai "A iniciar").
|
||||
|
||||
#### 🔄 Número de série da base (aparelho) — job em background
|
||||
A coluna AT da aba SimpliRoute é o único campo do modelo que o espelho **nunca** traz (0 de
|
||||
~6.000 linhas em fev/mar/mai/jul/2026), e não dá para deduzir da `gade_entregas_*`: os seriais
|
||||
de `num_serie_base` são de NFs **disjuntas** das que têm série no SimpliRoute (0 de 203 batem).
|
||||
O dado só existe na API, em `extra_field_values` — o mesmo hash das fotos do motorista.
|
||||
- `SincronizarSeriesAparelhoJob` varre a API por DATA (a API não filtra intervalo; cada dia são
|
||||
~4 MB / ~9 s) em lotes de 6 threads e grava em **`series_aparelho`** (tabela nossa — o espelho
|
||||
é read-only). Um dia que não responde vira aviso, não derruba a rodada.
|
||||
- `Analytics::PlanilhaEntregas#completar_serie` completa **só** as linhas em que o espelho veio
|
||||
vazio: se um dia o sync passar a preencher, o valor do espelho continua ganhando.
|
||||
- Agendado em `config/schedule.rb` às **01h** (últimos 45 dias). Backfill de meses antigos:
|
||||
`rake "simpli_route:series_operacao[gade_entregas_ubs_sudeste_jul_2026]"` ou
|
||||
`rake "simpli_route:series_periodo[2026-07-01,2026-07-31]"`.
|
||||
- Se a rodada varrer visitas e não achar **nenhuma** série, o log lista as chaves de
|
||||
`extra_field_values` que vieram — é o sinal de que o campo mudou de nome e basta acrescentá-lo
|
||||
em `CAMPOS_SERIE` (foi chute de nome de campo que causou o bug acima).
|
||||
|
||||
### 📊 Dashboard financeiro
|
||||
- **Paginação nas tabelas de pagamentos** ("realizados" e "pendentes"): 10 linhas/página com
|
||||
|
||||
Reference in New Issue
Block a user