-- Primero con esta consulta vemos si hay codigo_unico_af repetidos.
SELECT codigo_unico_af , COUNT(codigo_unico_af ) AS Conteo
FROM cheques
GROUP BY codigo_unico_af
HAVING COUNT(codigo_unico_af ) > 1;
-- Luego lo que hay que hacer es arreglar los repetidos con esta consulta.
WITH CTE AS (
SELECT
codigo_unico_af,
ROW_NUMBER() OVER (PARTITION BY RTRIM(codigo_unico_af) ORDER BY (SELECT NULL)) AS RowNum
FROM cheques
)
UPDATE CTE
SET codigo_unico_af =
CASE
WHEN RowNum = 1 THEN RTRIM(codigo_unico_af)
ELSE RTRIM(codigo_unico_af) + CHAR(ASCII('A') + (RowNum - 2) % 26)
END;
-- Y por ultimo hay que volver a enviar las ventas a nscloud en caso de que el local tenga.
UPDATE cheques SET sistema_envio = 0 WHERE folio in ( SELECT folio FROM cheques WHERE fecha > 'dd/mm/aaaa' AND pagado = 1)
--Hay que fijarse que dentro del periodo que queremos volver a enviar no halla ninguna cuenta que tenga el campo intentoEnvioAf > 10. Si hay alguna que lo tenga entonces antes hay que bajarla a 0 o 1
--REPALDAR BASE DE DATOS SIEMPRE ANTES