Backlog Unificado
Projeto: RioNoTeatro. Fonte principal: /www/wwwroot/rionoteatro.com.br/docs/BACKLOG.md.
Modo read-only: ações de escrita ficam disponíveis apenas para o Cérebro.
Sem itens pendentes em /www/wwwroot/rionoteatro.com.br/docs/BACKLOG.md.
Especificações Disponíveis (fora da fila pendente)
- BK-136
- BK-137
- BK-138
- BK-147
- BK-148
- BK-149
- BK-150
- BK-151
- BK-156
- BK-158
- BK-159
- BK-160
- BK-161
- BK-162
- BK-163
- BK-164
- BK-165
- BK-166
- BK-170
- BK-171
- BK-172
- BK-177
- BK-183
- BK-186
- BK-187
- BK-189
- BK-190
- BK-191
- BK-192
- BK-193
- BK-195
- BK-196
- BK-197
- BK-198
- BK-199
- BK-201
- BK-205
- BK-207
- BK-208
- BK-209
- BK-210
- BK-211
- BK-212
- BK-213
- BK-214
- BK-215
- BK-216
- BK-217
- BK-218
- BK-219
- BK-220
- BK-221
- BK-229
- BK-230
- BK-231
- BK-232
- BK-233
- BK-234
- BK-235
- BK-236
- BK-239
- BK-240
- BK-241
- BK-242
- BK-243
- BK-244
- BK-245
- BK-246
- BK-248
- BK-249
- BK-250
- BK-251
- BK-252
- BK-253
- BK-254
- BK-255
- BK-256
- BK-257
- BK-258
- BK-259
- BK-260
- BK-261
- BK-262
- BK-263
- BK-264
- BK-265
- BK-266
- BK-267
- BK-268
- BK-269
- BK-270
- BK-271
- BK-272
- BK-275
- BK-276
- BK-277
- BK-278
- BK-279
- BK-280
- BK-295
- BK-313
Detalhe do BK Selecionado
/www/wwwroot/rionoteatro.com.br/docs/backlog/BK-242-pecas-encerradas-ainda-ativas-no-admin.md • 2026-04-09T18:18:55.414Z
BK-242 - Peças encerradas ainda ativas no admin
Objetivo
- impedir que peças com
fim_temporada < hojepermaneçam comstatus = 'A' - impedir que essas peças sigam aparecendo na aba
Ativasdo admin por inércia de status - acoplar a inativação automática ao fluxo do admin e ao script de sincronização
Evidência inicial
- consulta real na VPS em
2026-04-09: SELECT id,nome,status,inicio_temporada,fim_temporada,origem,id_produtor,parceria_online FROM pecas WHERE nome LIKE '%Bee Gees%' ORDER BY id DESC- resultado relevante:
id=333nome=Bee Gees, Abba e Carpenters - Nos embalos de SÁBADO a noitestatus=Ainicio_temporada=2026-03-04fim_temporada=2026-03-25origem=admin- contagem adicional:
79peças ainda estavam comstatus='A'apesar defim_temporada < CURDATE()
Causa raiz
- a aba
Ativasemadmin/modulos/pecas/index.phpfiltra apenasp.status = 'A' - a query da listagem não corta por
fim_temporada - já existia um utilitário avulso em
admin/cron/tmp_inativar_pecas_antigas.php, mas fora do fluxo normal
Plano
- criar helper compartilhado para localizar e inativar peças vencidas com guarda contra reexecução excessiva
- chamar o helper no carregamento da listagem do admin
- chamar o helper também no início de
admin/cron/sync_facebook_events.php - validar em SQL e em sintaxe PHP
Arquivos em escopo
admin/modulos/pecas/index.phpadmin/cron/sync_facebook_events.phpadmin/cron/expired_pecas_status_helper.phpdocs/LOCK.mddocs/BACKLOG.md
Execução desta rodada
- criado o helper compartilhado
admin/cron/expired_pecas_status_helper.php admin/modulos/pecas/index.phpagora chama o helper antes de montar a listagemadmin/cron/sync_facebook_events.phpagora chama o helper antes da sincronização e loga quando houver atualização- a regra aplicada na automação ficou:
status = 'A'fim_temporada IS NOT NULLfim_temporada <> '0000-00-00'DATE(fim_temporada) < CURDATE()
Validações executadas
php -l admin/cron/expired_pecas_status_helper.phpphp -l admin/modulos/pecas/index.phpphp -l admin/cron/sync_facebook_events.php- execução real da rotina:
updated=79matched=79- a peça
id=333passou destatus='A'parastatus='I' - conferência posterior:
SELECT COUNT(*) AS total FROM pecas WHERE status='A' AND fim_temporada < CURDATE()retornou0
Ponto de atenção
- o filtro
Ativasdo admin continua semanticamente baseado emstatus = 'A' - a correção desta rodada não mudou essa regra de listagem; ela corrige a base para que peças vencidas não permaneçam ativas por inércia
Fechamento
- status operacional: concluído e validado em
2026-04-09 - changelog detalhado publicado em:
docs/changelog/2026/CL-2026-04-09-BK-242-inativacao-pecas-vencidas-admin.md- pronto para commit/push na
maincom escopo isolado do BK-242