123 lines
4.3 KiB
MySQL
Raw Normal View History

use telus;
/*verificar convenios antes del 2024*/
if OBJECT_ID('tempdb.dbo.#convenios_revisar') is not null
drop table #convenios_revisar
select id, create_date
into #convenios_revisar
from db_olympo_web.dbo.convenios_cabecera where code in('002068');
declare
@cuotas_pagadas int,
@total_lotes int,
@fecha_convenio date
--print @agreement_id;
set @cuotas_pagadas = (select count(*) from db_olympo_web.dbo.convenios_detalle de where agreement_id in(select id from #convenios_revisar) and all_paid = 1);
print 'Cuotas pagadas: ' + CAST(@cuotas_pagadas as VARCHAR(MAX));
set @fecha_convenio = (select MIN(create_date) from #convenios_revisar);
if OBJECT_ID('tempdb.dbo.#lotes_convenio_re') is not null
drop table #lotes_convenio_re
select
--top 10
*, cast('0.00' as numeric(18,2)) AS saldo_kardex,
0 AS revisar,
0 AS anio_min,
0 AS anio_max,
0 AS anio_max_recaudo
into #lotes_convenio_re
from agcm_2022_tram_liquidaciones_convenio lc where lc.id_convenio in(select id from #convenios_revisar) and lc.estado = 'ACTIVO';
set @total_lotes = (select COUNT(*) from #lotes_convenio_re);
print 'Claves catastrales: ' + CAST(@total_lotes as VARCHAR(MAX));
DECLARE
@id INT,
@lote_id INT,
@desde INT,
@hasta INT,
@valor NUMERIC(18,2),
@valorinicial NUMERIC(18,2),
@saldo NUMERIC(18,2)
DECLARE procesar_cursor CURSOR FOR
select id, lote_id, desde, hasta, valor, valorinicial from #lotes_convenio_re r
where estado = 'ACTIVO'
OPEN procesar_cursor
FETCH NEXT FROM procesar_cursor INTO @id, @lote_id, @desde, @hasta, @valor, @valorinicial
WHILE @@FETCH_STATUS = 0
BEGIN
print @lote_id;
declare @anio_max_recaudado int;
declare @anio_max_kardex int;
declare @anio_min_kardex int;
declare @revisar int = 0;
declare @date date = '2024-12-04';
declare @kardexDeu table (emision_id int, lote_id int,rubro_id int,ano_id int,base_imponible numeric (25,2),rubro varchar (max), saldo numeric (11,2) ,valor_porcentaje numeric (11,2))
insert into @kardexDeu
exec telus.dbo.agcm_telus_avaluo_emision_consulta @lote_id,@date
set @anio_max_kardex = (select MAX(ano_id) from @kardexDeu);
set @anio_min_kardex = (select MIN(ano_id) from @kardexDeu);
set @anio_max_recaudado = isnull((select MAX(pl.ano_id) from recaudacion_registro_pago as rp inner join recaudacion_registro_pago_lote as pl on rp.recaudacion_id = pl.recaudacion_id where lote_id = @lote_id),0);
/*Para verificar si hay un anio pagado*/
if @anio_max_recaudado >= @anio_max_kardex
set @revisar = 1
IF(@desde = @hasta)
SET @saldo = isnull((select sum(saldo + valor_porcentaje) from @kardexDeu as deu where deu.ano_id = @hasta and lote_id = @lote_id), 0)
else
SET @saldo = isnull((select sum(saldo + valor_porcentaje) from @kardexDeu as deu where deu.ano_id between @desde and @hasta and lote_id = @lote_id), 0)
if @revisar = 1
update #lotes_convenio_re set revisar = 1, saldo_kardex = @saldo, anio_min = @anio_min_kardex, anio_max = @anio_max_kardex , anio_max_recaudo = @anio_max_recaudado where id = @id
else
update #lotes_convenio_re set saldo_kardex = @saldo, anio_min = @anio_min_kardex, anio_max = @anio_max_kardex , anio_max_recaudo = @anio_max_recaudado where id = @id
update agcm_2022_tram_liquidaciones_convenio set valor = @saldo where id = @id
FETCH NEXT FROM procesar_cursor INTO @id, @lote_id, @desde, @hasta, @valor, @valorinicial
END
CLOSE procesar_cursor
DEALLOCATE procesar_cursor;
select sum(valor) from #lotes_convenio_re where estado ='ACTIVO'
select * from agcm_2022_tram_liquidaciones_convenio where lote_id = 94136
select da.ClaveCatastral,conv.* from #lotes_convenio_re as conv
inner join telus_procesos.dbo.agcm_datos_claves_avaluos as da on conv.lote_id = da.lote_id where valor = saldo_kardex
GOTO SALIR
select lc.id, lc.lote_id, lc.valor, lc.desde, lc.hasta, r.lote_id, r.saldo_kardex, r.desde, r.hasta
from agcm_2022_tram_liquidaciones_convenio as lc
inner join #lotes_convenio_re as r on lc.lote_id = r.lote_id
where lc.id_convenio = 2296 and lc.valor <> r.saldo_kardex
select sum(lc.valor), sum(r.saldo_kardex)
from agcm_2022_tram_liquidaciones_convenio as lc
inner join #lotes_convenio_re as r on lc.lote_id = r.lote_id
/*2260 id convenio con valores similares*/
where lc.id_convenio = 2296 and lc.valor = r.saldo_kardex
SALIR: