-- ---------------------------------------------------------------------------
-- Desde quando a sessao de pacote grava quem vendeu e a cota dele: a linha `cotaDoPacote` de `colunas_gravadas`
-- (03/11/2026, a fatia 74 da fila das telas que faltam, PDV-COTA-DO-PACOTE; a P5 da secao 4 de
-- `docs/f3-relatorios/spec-ordem.md`, a secao 3 do `spec-cota-parte.md`, a pergunta 16 (b) do dono e a nota 4 da
-- fatia 70). A QUINTA E ULTIMA linha das colunas da fatia do PDV.
--
--   docker compose exec -T mysql mysql -uroot -proot franquiabv_dev < scripts/colunas-gravadas-cota-do-pacote.sql
--
-- O MOLDE E O DAS QUATRO DE ANTES (`scripts/colunas-gravadas-cancelamento.sql`, `-desconto-manual.sql`,
-- `-valor-contado.sql`, `-motivo-da-retirada.sql`), pelo mesmo porque: NAO E MIGRACAO DE ESQUEMA, E NAO VAI AO LACO
-- DO PASSO 0. As colunas (`produtos.cota_parte_pacote`, `vendas_produtos.vendedor_do_pacote` e `cota_do_vendedor`) ja
-- existem desde a P0 (a fatia 70); esta linha diz a Cota-parte "toda sessao de pacote finalizada desde este instante
-- tem quem vendeu": a finalizacao (`VendaPagamentoService::atualizarValorComissaoPacote`, a porta da comanda e da
-- agenda) grava o vendedor e a cota dele. A partir do dia dela, a Cota-parte credita a sessao tambem a quem vendeu (o
-- bloco `pacotesPorSessao`) e o `cota.pacotes` deixa de ser nulo; antes, "sem registro". Escrita antes do codigo que
-- grava, a sessao sem vendedor entre as duas datas pareceria registro, e quem vendeu ficaria sem a cota calado.
--
-- POR ISSO RODA DEPOIS DO CODIGO QUE GRAVA, sempre: na copia local, no dia da fatia 74 (o codigo que grava ja esta
-- nela); em producao, NA ETAPA 1, NO PASSO 7 DA JANELA, logo depois da linha do motivo da retirada, com a aplicacao
-- em manutencao -- ninguem finaliza sessao de pacote entre o codigo e a linha (`docs/procedimento-de-corte-etapa-1.md`).
-- A carga da etapa 2 a leva ao PostgreSQL, e o "7d" de `docs/procedimento-de-corte.md`
-- (`postgres/colunas-gravadas-cota-do-pacote.sql`, o irmao deste) nao a muda. Nao depende das outras quatro: a ordem e
-- so a do passo.
--
-- So o `cotaDoPacote`: as outras quatro tem os seus arquivos, e o `indicacaoDoFormulario` e da I3.
--
-- IDEMPOTENTE: so escreve se nao houver a linha (a segunda vez nao muda o instante da primeira). Nao apaga nada.
--
-- PARA DESFAZER: `DELETE FROM colunas_gravadas WHERE nome = 'cotaDoPacote';` -- a Cota-parte volta a dizer "ainda
-- nao gravado", e o `cota.pacotes` volta a ser nulo em toda parte (as colunas gravadas ficam, e voltam a contar quando
-- a linha voltar).
-- ---------------------------------------------------------------------------

INSERT INTO colunas_gravadas (nome, desde)
SELECT 'cotaDoPacote', NOW()
  FROM DUAL
 WHERE NOT EXISTS (SELECT 1 FROM colunas_gravadas WHERE nome = 'cotaDoPacote');

-- Conferencia. O esperado: as cinco linhas `cancelamento`, `cotaDoPacote`, `descontoManual`, `motivoDaRetirada` e
-- `valorContado`.
SELECT nome, desde FROM colunas_gravadas ORDER BY nome;
