lunes, 5 de febrero de 2024

AGM (7) Recaudación voluntaria

1. Deuda viva en voluntaria (DEUDAVIVAVOLUNTARIA.xls)

 

-------------------------------------

-- 2.1 RECIBOS EN VOLUNTARIA

-------------------------------------

SELECT

--NVL(VALO.ID_EPER,VATE.ID_EPER) AS CLAVE_PRIMARIA,

VALO.ID_EPER AS CLAVE_PRIMARIA,

PERS.NIF_PERG AS NIF,

PERS.NOMBRE_PERG AS NOMBRECOMPLETO,

CORG.COD_CONC AS COD_CONCEPTO,

CORG.DESC_CORTA_CORG AS CONCEPTO,

--NVL(VALO.EJERCICIO_VALO, VATE.EJERCICIO_VATE) AS EJERCICIO,

VALO.EJERCICIO_VALO AS EJERCICIO,

--NVL(VALO.PERIODO_VALO, VATE.PERIODO_VATE) AS PERIODO,

VALO.PERIODO_VALO AS PERIODO,

PCRE.DESCR_PCRE AS PERIODICIDAD,

--NVL(VALO.NUMERO_VALO, VATE.ID_EPER) AS NUM_RECIBO,

VALO.NUMERO_VALO AS NUM_RECIBO,

--NVL(VALO.OBJETO_TRIB_VALO, VATE.OBJETO_TRIB_VATE) AS DES_OT,

VALO.OBJETO_TRIB_VALO AS DES_OT,

CASE

WHEN CORG.COD_CONC IN ('ML','MS','MU') THEN 'NT' --NO TRIBUTARIO

ELSE 'T' --TRIBUTARIO

END AS Z_DEUDA,

--NVL(VALO.COD_TVAL, VATE.COD_TVAL) AS Z_DOCUMENTO,

VALO.COD_TVAL AS Z_DOCUMENTO,

--NVL(VALO.FECHA_NOTIF_VALO , VATE.FECHA_NOTIFICACION_VATE) AS F_NOT_LIQ,

NVL(VALO.FECHA_NOTIF_VALO, REOVa.FECHA_EFECTOS_REOV )AS F_NOT_LIQ,

NULL AS CONTRAIDO,

VALO.FECHA_INI_PERIODO_VALO AS F_INI_V,

VALO.FECHA_FIN_PERIODO_VALO AS F_FIN_V,

--NVL(VALO.IMPORTE_VALO, VATE.DEUDA_VATE) AS PRINCIPAL,

VALO.IMPORTE_VALO AS PRINCIPAL,

REOV.TIPO_RECARGO_REOV AS Z_RECARGO,

REOV.RECARGO_REOV AS RECARGO,

--VALO.IMPORTE_VALO - NVL(REOV.PRINCIPAL_REOV,0) AS DEUDA,

VALO.IMPORTE_VALO -

NVL((

SELECT SUM(REOV1.PRINCIPAL_REOV)

FROM "OPS$GTTORA".REOV_REGISTRO_OP_VALOR REOV1

WHERE REOV1.ID_EPER =VALO.ID_EPER

AND REOV1.COD_TOVA IN ('CO','BA')

),0) AS DEUDA,

--NVL((

-- SELECT SUM(REOV1.PRINCIPAL_REOV)

-- FROM "OPS$GTTORA".REOV_REGISTRO_OP_VALOR REOV1

-- WHERE REOV1.ID_EPER =VALO.ID_EPER

-- AND REOV1.COD_TOVA IN ('CO','BA')

--),0) AS PAGAMENT,

CASE

WHEN VALO.COD_CONC='IV' THEN 'MATRICULA'

WHEN VALO.COD_CONC IN ('IU','BA','GU') THEN 'LOCAL'

WHEN VALO.COD_CONC='IR' THEN 'SUPERFICIE:'

WHEN VALO.COD_CONC='PP' THEN 'SUPERFICIE:'

WHEN OT.LITERAL_OT IS NOT NULL THEN 'DETALLES'

ELSE ''

END AS ETIQUETA_1,

CASE

WHEN VALO.COD_CONC='IV' THEN VALO.NUM_FIJO_VALO

WHEN VALO.COD_CONC IN ('IU','BA','GU') THEN VALO.OBJETO_TRIB_VALO

WHEN VALO.COD_CONC='IR' THEN VALO.OBJETO_TRIB_VALO

ELSE OT.LITERAL_OT

END AS VALOR_1,

CASE

WHEN VALO.COD_CONC='IV' THEN 'BASTIDOR'

WHEN VALO.COD_CONC IN ('IU','BA') THEN 'NUM.FIXE'

WHEN VALO.COD_CONC='GU' THEN 'PLACA'

ELSE ''

END AS ETIQUETA_2,

CASE

WHEN VALO.COD_CONC='IV' THEN VAIV.NUM_BASTIDOR_VAIV

WHEN VALO.COD_CONC IN ('IU','BA') THEN VALO.NUM_FIJO_VALO

WHEN VALO.COD_CONC='GU' THEN VALO.NUM_FIJO_VALO

ELSE ''

END AS VALOR_2,

CASE

WHEN VALO.COD_CONC='IV' THEN 'MARCA/MODEL'

WHEN VALO.COD_CONC='IU' THEN 'VALOR CADAST.TOTAL/SOL'

ELSE ''

END AS ETIQUETA_3,

CASE

WHEN VALO.COD_CONC='IV' THEN VALO.OBJETO_TRIB_VALO

WHEN VALO.COD_CONC='IU' THEN TO_CHAR(VIBI.VAL_CAT_TOTAL_VIBI)||'/'|| TO_CHAR(VIBI.VAL_CAT_SUELO_VIBI)

ELSE ''

END AS VALOR_3,

CASE

WHEN VALO.COD_CONC='IV' THEN 'CARACTERISTIQUES'

WHEN VALO.COD_CONC='IU' THEN 'REF.CADAS.'

ELSE ''

END AS ETIQUETA_4,

CASE

WHEN VALO.COD_CONC='IV' THEN 'CC:' || VAIV.CILINDRADA_VAIV ||

' Cv:' || VAIV.POTENCIA_FISCAL_VAIV ||

' Kg:' || VAIV.CARGA_UTIL_VAIV ||

' Pl:' || VAIV.NUM_PLAZAS_VAIV

WHEN VALO.COD_CONC='IU' THEN VIBI.REF_CAT_NUM_1_VIBI ||

VIBI.REF_CAT_NUM_2_VIBI ||

VIBI.REF_CAT_SEC_VIBI ||

VIBI.REF_CAT_DC_1_VIBI ||

VIBI.REF_CAT_DC_2_VIBI

ELSE ''

END AS VALOR_4,

CASE

WHEN VALO.COD_CONC='IU' THEN 'REF.CADAS.'

WHEN VALO.COD_CONC='IU' THEN 'COEF.PARTICIP.'

ELSE ''

END AS ETIQUETA_5,

CASE

WHEN VALO.COD_CONC='IV' THEN ''

WHEN VALO.COD_CONC='IU' THEN TO_CHAR(VIBI.PARTICIPACION_VIBI)

ELSE ''

END AS VALOR_5,

CASE

WHEN VALO.COD_CONC='IV' THEN ''

WHEN VALO.COD_CONC='IU' THEN 'BONIFICACION'

ELSE ''

END AS ETIQUETA_6,

CASE

WHEN VALO.COD_CONC='IV' THEN ''

WHEN VALO.COD_CONC='IU' THEN TO_CHAR(VIBI.BONIFICACION_VIBI)

ELSE ''

END AS VALOR_6,

CASE

--VEHICLES

WHEN VALO.COD_CONC='IV' THEN 'MATRICULA:' || VALO.NUM_FIJO_VALO ||

' BASTIDOR:' || VAIV.NUM_BASTIDOR_VAIV ||

' MARCA/MODEL:' || VALO.OBJETO_TRIB_VALO ||

'CARACTERISTIQUES:'||

' CC:' || VAIV.CILINDRADA_VAIV ||

' Cv:' || VAIV.POTENCIA_FISCAL_VAIV ||

' Kg:' || VAIV.CARGA_UTIL_VAIV ||

' Pl:' || VAIV.NUM_PLAZAS_VAIV

--URBANA

WHEN VALO.COD_CONC='IU' THEN 'LOCAL:' || VALO.OBJETO_TRIB_VALO ||

'REF.CADASTRAL:' || VIBI.REF_CAT_NUM_1_VIBI ||

VIBI.REF_CAT_NUM_2_VIBI ||

VIBI.REF_CAT_SEC_VIBI ||

VIBI.REF_CAT_DC_1_VIBI ||

VIBI.REF_CAT_DC_2_VIBI ||

'VALORS CADASTRALS:' ||

'V.C.SOL:' || VIBI.VAL_CAT_SUELO_VIBI ||

'V.C.CONSTR.:' || VIBI.VAL_CAT_CONST_VIBI ||

'V.C.TOTAL:' || VIBI.VAL_CAT_TOTAL_VIBI ||

'%BONIFICACIO:' || VIBI.BONIFICACION_VIBI ||

'%PARTICIPACIO:' || VIBI.PARTICIPACION_VIBI ||

'US:' || VIBI.CLAVE_USO_VIBI ||

'NUM.FIXE:' || VALO.NUM_FIJO_VALO

--RUSTICA

WHEN VALO.COD_CONC='IR' THEN VALO.OBJETO_TRIB_VALO

--FEM

WHEN VALO.COD_CONC='BA' THEN 'LOCAL:' || VALO.OBJETO_TRIB_VALO ||

'NUM.FIXE:' || VALO.NUM_FIJO_VALO

--GUALS

WHEN VALO.COD_CONC='GU' THEN 'LOCAL:' || VALO.OBJETO_TRIB_VALO ||

'PLACA:' || VALO.NUM_FIJO_VALO

ELSE ''

END AS DETALLE,

TO_CHAR(VALO.ANYO_CARGO_CARG) ||'-' ||TO_CHAR(VALO.NUMERO_CARG)||' ID:'|| TO_CHAR(CARG.ID_CARG) AS CARGO,

CARG.FECHA_DECRETO_CARG AS F_APROBACION_CARGO,

ANCO.REF_EXT_CONTABLE_CASU AS REFERENCIA_EXTERNA_CONTABILIDAD

-- ETIQUETA_1 VALOR_1 ETIQUETA_2 VALOR_2 ETIQUETA_3 VALOR_3 ETIQUETA_4 VALOR_4 ETIQUETA_5 VALOR_5 ETIQUETA_6 VALOR_6 DETALLE CARGO F_APROBACION_CARGO REFERENCIA_EXTERNA_CONTABILIDAD

--CLAVE_PRIMARIA NIF NOMBRECOMPLETO COD_CONCEPTO CONCEPTO EJERCICIO PERIODO PERIODICIDAD NUM_RECIBO DES_OT Z_DEUDA Z_DOCUMENTO F_NOT_LIQ CONTRAIDO F_INI_V F_FIN_V PRINCIPAL Z_RECARGO RECARGO DEUDA

--SELECT *

--FROM "OPS$GTTORA".VATE_VALORES_TEMPORALES VATE

--SELECT *

FROM "OPS$GTTORA".VALO_VALORES VALO --ON VALO.ID_EPER=VATE.ID_EPER_VALOR -- ID_CARG, NUMERO_VALO!!!

--LEFT JOIN "OPS$GTTORA".TPDL_TP_DETALLE_LIQUIDACION TPDL ON TPDL.ID_TPDL =VATE.ID_EPER_ORIG_VATE

--LEFT JOIN "OPS$GTTORA".OT_OBJETO_TRIBUTARIO OT1 ON OT1.ID_EPER_OT= VATE.ID_EPER_ORIG_VATE

LEFT JOIN "OPS$GTTORA".OT_OBJETO_TRIBUTARIO OT ON OT.NUM_FIJO_OT=VALO.NUM_FIJO_VALO AND OT.COD_CONC =VALO.COD_CONC

--LEFT JOIN "OPS$GTTORA".EPER_ELEMENTOS_PERSONA EPER ON EPER.ID_EPER = GREATEST (NVL(VATE.ID_EPER,-1), NVL(VALO.ID_EPER,-1))

LEFT JOIN "OPS$GTTORA".EPER_ELEMENTOS_PERSONA EPER ON EPER.ID_EPER =VALO.ID_EPER

LEFT JOIN "OPS$GTTORA".CSUB_CONCEPTOS_SUBORGANISMO CSUB ON CSUB.ID_CSUB = VALO.ID_CSUB

LEFT JOIN "OPS$GTTORA".CORG_CONCEPTOS_ORGANISMO CORG ON CORG.ID_CORG =CSUB.ID_CORG

LEFT JOIN "OPS$GTTORA".PCRE_PERIODICIDAD_CONCEPTOS_RE PCRE ON PCRE.COD_PCRE =CSUB.COD_PCRE

LEFT JOIN "OPS$GTTORA".PERS_PERSONAS PERS ON PERS.ID_PERS =EPER.ID_PERS

LEFT JOIN "OPS$GTTORA".TESV_TIPOS_ESTADO_VALOR TESV ON TESV.COD_TESV =VALO.COD_TESV

LEFT JOIN "OPS$GTTORA".TSEV_TSUBE_VALOR TSEV ON TSEV.COD_TSEV =VALO.COD_TSEV

LEFT JOIN "OPS$GTTORA".TFVA_TIPOS_FORMATO_VALOR TFVA ON TFVA.COD_TFVA =VALO.COD_TFVA

LEFT JOIN "OPS$GTTORA".SVAL_SUBTIPO_VALORES SVAL ON SVAL.COD_SVAL =VALO.COD_SVAL

LEFT JOIN "OPS$GTTORA".VAIV_VALORES_IVTM VAIV ON VAIV.ID_EPER = VALO.ID_EPER

LEFT JOIN "OPS$GTTORA".VIBI_VALOR_IBI VIBI ON VIBI.ID_EPER = VALO.ID_EPER

LEFT JOIN "OPS$GTTORA".VIAE_VALOR_IAE VIAE ON VIAE.ID_EPER = VALO.ID_EPER

--LEFT JOIN "OPS$GTTORA".VIOT_VIAA_OTIA VIOT ON VIOT.ID_EPER = VALO.ID_EPER

LEFT JOIN "OPS$GTTORA".CARG_CARGOS CARG ON CARG.ANYO_CARGO_CARG =VALO.ANYO_CARGO_CARG AND CARG.NUMERO_CARG =VALO.NUMERO_CARG

LEFT JOIN "OPS$GTTORA".ANCO_ANOTACIONES_CONTABLES ANCO ON ANCO.ID_PADRE_ANCO = VALO.ID_EPER AND ANCO.COD_OPER_CONTABI IN ('DR','CS') AND ANCO.REF_EXT_CONTABLE_CASU IS NOT NULL

LEFT JOIN "OPS$GTTORA".REOV_REGISTRO_OP_VALOR REOV

ON REOV.ID_EPER =VALO.ID_EPER --AND REOV.COD_TOVA IN ('CO','BA')

AND NOT EXISTS (SELECT * FROM "OPS$GTTORA".REOV_REGISTRO_OP_VALOR REOV2 WHERE REOV2.ID_EPER=VALO.ID_EPER AND REOV2.ID_REOV > REOV.ID_REOV)

LEFT JOIN "OPS$GTTORA".REOV_REGISTRO_OP_VALOR REOVa

ON REOVa.ID_EPER =VALO.ID_EPER AND REOVa.COD_TOVA ='NO'

AND NOT EXISTS (SELECT * FROM "OPS$GTTORA".REOV_REGISTRO_OP_VALOR REOV3 WHERE REOV3.ID_EPER=VALO.ID_EPER AND REOV3.COD_TOVA ='NO' AND REOV3.ID_REOV < REOVa.ID_REOV)

;


2. DESGLOSES de subconceptos en voluntaria

(DEUDAVIVAVOLUNTARIA_DTL.xls)

En este caso, el truco está en usar la tabla EDU_BUCLE para desglosar en principal, recargo, interès y costas

 

---------------------------------------------------------------

-- 2.2 DESGLOSE DE RECIBOS EN PRINCIPAL RECARGO INTERESES Y COSTAS

---------------------------------------------------------------

SELECT

VALO.ID_EPER AS CLAVE_PRIMARIA,

PERS.NIF_PERG AS NIF,

PERS.NOMBRE_PERG AS NOMBRECOMPLETO,

CORG.COD_CONC AS COD_CONCEPTO,

CORG.DESC_CORTA_CORG AS CONCEPTO,

--VALO.EJERCICIO_VALO AS EJERCICIO,

VALO.NUMERO_VALO AS NUM_RECIBO,

CASE

WHEN BUCLE.ID_BUCLE=0 THEN VALO.ID_CSUB --PRINCIPAL

WHEN BUCLE.ID_BUCLE=1 THEN 270559 --RECARGO

WHEN BUCLE.ID_BUCLE=2 THEN 268889 --INTERES

WHEN BUCLE.ID_BUCLE=3 THEN 269859 --COSTAS

ELSE -1

END AS COD_SUBCONCEPTO,

CASE

WHEN BUCLE.ID_BUCLE=0 THEN CSUB.NOMBRE_PARA_SUBO_CSUB --PRINCIPAL

WHEN BUCLE.ID_BUCLE=1 THEN 'RECÀRREC'

WHEN BUCLE.ID_BUCLE=2 THEN 'INTERÈS DEMORA'

WHEN BUCLE.ID_BUCLE=3 THEN 'COSTES'

ELSE 'ERROR'

END AS SUBCONCEPTO,

CASE

WHEN BUCLE.ID_BUCLE=0 THEN VALO.IMPORTE_VALO --PRINCIPAL

WHEN BUCLE.ID_BUCLE=1 THEN REOV.RECARGO_REOV

WHEN BUCLE.ID_BUCLE=2 THEN REOV.INTERESES_REOV

WHEN BUCLE.ID_BUCLE=3 THEN REOV.COSTAS_REOV

ELSE -1

END AS PRINCIPAL

--

FROM "OPS$GTTORA".VALO_VALORES VALO

LEFT JOIN "OPS$GTTORA".EPER_ELEMENTOS_PERSONA EPER ON EPER.ID_EPER =VALO.ID_EPER

LEFT JOIN "OPS$GTTORA".PERS_PERSONAS PERS ON PERS.ID_PERS =EPER.ID_PERS

LEFT JOIN "OPS$GTTORA".CSUB_CONCEPTOS_SUBORGANISMO CSUB ON CSUB.ID_CSUB = VALO.ID_CSUB

LEFT JOIN "OPS$GTTORA".CORG_CONCEPTOS_ORGANISMO CORG ON CORG.ID_CORG =CSUB.ID_CORG

LEFT JOIN "OPS$GTTORA".REOV_REGISTRO_OP_VALOR REOV

ON REOV.ID_EPER =VALO.ID_EPER --AND REOV.COD_TOVA IN ('CO','BA')

AND NOT EXISTS (SELECT * FROM "OPS$GTTORA".REOV_REGISTRO_OP_VALOR REOV2 WHERE REOV2.ID_EPER=VALO.ID_EPER AND REOV2.ID_REOV > REOV.ID_REOV)

LEFT JOIN XIMO_SCHM.EDU_BUCLE BUCLE

ON (BUCLE.ID_BUCLE=0 AND VALO.IMPORTE_VALO >0)

OR (BUCLE.ID_BUCLE=1 AND REOV.RECARGO_REOV >0)

OR (BUCLE.ID_BUCLE=2 AND REOV.INTERESES_REOV >0)

OR (BUCLE.ID_BUCLE=3 AND REOV.COSTAS_REOV >0)

;

No hay comentarios :

Publicar un comentario