
-- Extrae la terminacion del cuit de persons
SELECT SUBSTRING(document, 13, 1) AS finCuit FROM persons where id = 3;


-- Inserta registros que asocian persons a vencimiento
INSERT INTO Vto_Person_Impuesto (`person_id`, `vto_id`) 

		select 3,vto.id from(
		SELECT vto_vencimiento.id,STR_TO_DATE(CONCAT( anio, '/', mes, '/', dia ),'%Y/%m/%d' ) as vto,vto_impuestos.name FROM vto_vencimiento
		join vto_fin_cuit on vto_vencimiento.finCuit_id= vto_fin_cuit.id
		join vto_impuestos on vto_vencimiento.impuesto_id= vto_impuestos.id
		where impuesto_id =1
		and numero like '%9%') as vto

-- concatenando...
INSERT INTO `vto_person_impuesto` (`person_id`, `impuesto_id`,`categoria_imp_id`,`vto_id`) 
		  select 3, 2, 34, vto.id from(
		  SELECT vto_vencimiento.id,STR_TO_DATE(CONCAT( anio, '/', mes, '/', dia ),'%Y/%m/%d' ) as vto,vto_impuestos.name FROM vto_vencimiento
		  join vto_fin_cuit on vto_vencimiento.finCuit_id= vto_fin_cuit.id
		  join vto_impuestos on vto_vencimiento.impuesto_id= vto_impuestos.id
		  where impuesto_id = 2
		  and numero like CONCAT( '%',(SELECT SUBSTRING(document, 13, 1) AS finCuit FROM dbtaxes.persons where id = 3), '%' )) as vto

-- vista de person vencimiento
SELECT p.id,p.field_name1 as empresa,p.document as cuit,imp.name as impuesto,cat.importe,STR_TO_DATE(CONCAT( anio, '/', mes, '/', dia ),'%Y/%m/%d' ) as vencimiento, monthname(STR_TO_DATE(CONCAT( anio, '/', mes, '/', dia ),'%Y/%m/%d' )) as mes
FROM vto_person_impuesto as vto_p
join persons p on  vto_p.person_id = p.id
join vto_vencimiento  vto on  vto_p.vto_id = vto.id
join vto_impuestos imp on vto.impuesto_id = imp.id
join vto_categoria_imp cat on vto_p.categoria_imp_id = cat.id
order by vencimiento
;

-- Query que controla si los impuestos tienen vencimiento
SELECT vto_impuestos.id,name,
if 
	(vto_impuestos.name in 
		(
			SELECT distinct vto_impuestos.name
			FROM vto_vencimiento
			join vto_fin_cuit on vto_vencimiento.finCuit_id= vto_fin_cuit.id
			join vto_impuestos on vto_vencimiento.impuesto_id= vto_impuestos.id

		), "SI", "NO") as existe

FROM dbtaxes.vto_impuestos

-- query para importar registros
INSERT INTO `vto_person_impuesto` (`person_id`, `impuesto_id`,`categoria_imp_id`,`vto_id`)
SELECT zzz.person_id, zzz.impuesto_id, zzz.categoria_id, vto_vencimiento.id
 FROM zzz, vto_vencimiento
join vto_fin_cuit on vto_vencimiento.finCuit_id= vto_fin_cuit.id
join vto_impuestos on vto_vencimiento.impuesto_id= vto_impuestos.id
where vto_vencimiento.impuesto_id = zzz.impuesto_id
and numero like CONCAT( '%',(SELECT SUBSTRING(document, 13, 1) AS finCuit FROM dbtaxes.persons where id = zzz.person_id), '%' )
