-- Script para limpar negociação de cobrança PF e permitir recomeçar
-- Substitua :PCO_CODIGO pelo código do processo de cobrança

-- 1. Remove vínculos de mensalidades com parcelas (seta tim_tip_numero_parcela para NULL)
UPDATE uniod.tb_titulos_mensalidade
SET tim_tip_numero_parcela = NULL
WHERE tim_tip_pco_codigo = :PCO_CODIGO;

-- 2. Exclui títulos/parcelas não pagas do processo
DELETE FROM uniod.tb_titulos_processo
WHERE tip_pco_codigo = :PCO_CODIGO
  AND tip_data_pagamento IS NULL;

-- 3. Limpa dados de negociação do processo
UPDATE uniod.tb_processo_cobranca
SET pco_valor_negociacao = NULL,
    pco_forma_cobranca = NULL,
    pco_acrescimo = NULL,
    pco_desconto = NULL,
    pco_qtd_parcelas = NULL,
    pco_valor_parcelas = NULL,
    pco_intervalo_dias_parcela = NULL,
    pco_data_primeira_parcela = NULL,
    pco_motivo_desconto = NULL,
    pco_situacao = 'P'
WHERE pco_codigo = :PCO_CODIGO;

-- Exemplo de uso (substitua 3786 pelo código do processo):
-- UPDATE uniod.tb_titulos_mensalidade SET tim_tip_numero_parcela = NULL WHERE tim_tip_pco_codigo = 3786;
-- DELETE FROM uniod.tb_titulos_processo WHERE tip_pco_codigo = 3786 AND tip_data_pagamento IS NULL;
-- UPDATE uniod.tb_processo_cobranca SET pco_valor_negociacao = NULL, pco_forma_cobranca = NULL, pco_acrescimo = NULL, pco_desconto = NULL, pco_qtd_parcelas = NULL, pco_valor_parcelas = NULL, pco_intervalo_dias_parcela = NULL, pco_data_primeira_parcela = NULL, pco_motivo_desconto = NULL, pco_situacao = 'P' WHERE pco_codigo = 3786;
