1. Vehiculos
CREATE OR REPLACE VIEW XIMO_SCHM.EDU_VW_VEHI AS
SELECT OTIV.* ,
CASE
-- WHEN OTIV.ID_TIVE='AU' THEN OTIV.NUM_PLAZAS_MAX_OTIV
WHEN OTIV.ID_TIVE='AU' THEN OTIV.NUM_PLAZAS_OTIV
WHEN OTIV.ID_TIVE='CA' THEN OTIV.CARGA_UTIL_OTIV
WHEN OTIV.ID_TIVE='RE' THEN OTIV.CARGA_UTIL_OTIV
WHEN OTIV.ID_TIVE='SE' THEN OTIV.CARGA_UTIL_OTIV
WHEN OTIV.ID_TIVE='CI' THEN OTIV.CILINDRADA_OTIV
WHEN OTIV.ID_TIVE='MO' THEN OTIV.CILINDRADA_OTIV
WHEN OTIV.ID_TIVE='TR' THEN OTIV.POTENCIA_FISCAL_OTIV
WHEN OTIV.ID_TIVE='TU' THEN OTIV.POTENCIA_FISCAL_OTIV
ELSE -1000
END AS CANTIDAD,
CASE
WHEN OTIV.PORCENTAJE_BENEF_FISCAL_OTIV IS NULL THEN 0
WHEN OTIV.PORCENTAJE_BENEF_FISCAL_OTIV>0 THEN OTIV.PORCENTAJE_BENEF_FISCAL_OTIV
ELSE 0
END AS PORC_BONI_EDU,
CASE
WHEN OTIV.ID_TBIV IS NULL THEN 'NO BONIFICAT '
WHEN OTIV.ID_TBIV ='AY' THEN 'BONIFICAT-AJUNTAMENT'
WHEN OTIV.ID_TBIV ='CR' THEN 'BONIFICAT-CREU ROJA'
WHEN OTIV.ID_TBIV ='VA' THEN 'BONIFICAT-AGRÍCOLA'
WHEN OTIV.ID_TBIV ='VH' THEN 'BONIFICAT-HISTÒRIC'
WHEN OTIV.ID_TBIV ='VM' THEN 'BONIFICAT-DISCAPACITAT'
WHEN OTIV.ID_TBIV ='VO' THEN 'BONIFICAT-VEHICLE OFICIAL'
ELSE 'NO BONIFICAT'
END AS TIPO_BONIFICACION,
SIOT.SITUACION , TOIV.TIPO_OPERACION_TOIV, ORIG.ORIGEN , TIMA.DESC_TIMA ,
CLVE.DESC_CLVE , SCVE.DESC_SCVE , TIVE.DESC_TIVE ,DAEI.DESCRIPCION_DAEI ,
BISB.DESCRIPCION_BISB
FROM OPS$GTTORA.OTIV_OBJETO_TRIBUTARIO_IVTM OTIV
-- Tablas de codigo - Descripción
LEFT JOIN OPS$GTTORA.SIOT_SITUACION_OT_IVTM SIOT ON SIOT.ID_SIOT=OTIV.ID_SIOT
LEFT JOIN OPS$GTTORA.TOIV_TIPO_OPERACION_IVTM TOIV ON TOIV.COD_TOIV=OTIV.COD_TOIV
LEFT JOIN OPS$GTTORA.ORIG_ORIGENES_IVTM ORIG ON ORIG.ID_ORIG = OTIV.ID_ORIG
LEFT JOIN OPS$GTTORA.TIMA_TIPO_MATRICULAS_IVTM TIMA ON TIMA.ID_TIMA= OTIV.ID_TIMA
LEFT JOIN OPS$GTTORA.CLVE_CLASE_VEHICULO_IVTM CLVE ON CLVE.ID_CLVE= OTIV.ID_CLVE
LEFT JOIN OPS$GTTORA.SCVE_SUBCLASE_VEHICULO_IVTM SCVE ON SCVE.ID_SCVE = OTIV.ID_SCVE
LEFT JOIN OPS$GTTORA.TIVE_TIPO_VEHICULO_IVTM TIVE ON TIVE.ID_TIVE = OTIV.ID_TIVE
LEFT JOIN OPS$GTTORA.DAEI_DATO_ECONOMICO_IVTM DAEI ON DAEI.COD_DAEI =TIVE.COD_DAEI --viene de TIVE_TIPO_VEHICULO_IVTM
LEFT JOIN OPS$GTTORA.BISB_SUBTIPO_BIEN BISB ON BISB.COD_BISB =TIVE.COD_BISB --viene de TIVE_TIPO_VEHICULO_IVTM
WHERE OTIV.REG_ACTIVO='S' --AND OTIV.ID_SIOT <>'B'
WITH READ ONLY;
2. Tarifas de Vehículos
Se ha hecho una tabla a mano
CREATE TABLE XIMO_SCHM.EDU_VEHI_TARIFAS (
ID_TIVE NVARCHAR2(2),
DESC_TIVE NVARCHAR2(100), --
UNIDADES NVARCHAR2(100), --NOM UNITATS
DESDE NUMBER(12,2), --UNITATS DES DE
IMPT_MIN NUMBER(10,0), --CENTIMS
IMPT_INC NUMBER(10,0)
) TABLESPACE XIMO_SCHM_TABLESPACE;
COMMENT ON TABLE XIMO_SCHM.EDU_VEHI_TARIFAS IS 'TABLA COPIADA A MANO DE TARIFAS MÍNIMAS E INCREMENTADAS' ;
COMMENT ON COLUMN XIMO_SCHM.EDU_VEHI_TARIFAS.ID_TIVE IS 'ID DEL TIPO DE VEHICULO';
COMMENT ON COLUMN XIMO_SCHM.EDU_VEHI_TARIFAS.DESC_TIVE IS 'DESCRIPCION DEL TIPO DE VEHICULO';
COMMENT ON COLUMN XIMO_SCHM.EDU_VEHI_TARIFAS.UNIDADES IS 'NOMBRE DE LAS UNIDADES A TARIFAR';
COMMENT ON COLUMN XIMO_SCHM.EDU_VEHI_TARIFAS.DESDE IS 'TRAMO DESDE';
COMMENT ON COLUMN XIMO_SCHM.EDU_VEHI_TARIFAS.IMPT_MIN IS 'IMPORTE MÍNIMO';
COMMENT ON COLUMN XIMO_SCHM.EDU_VEHI_TARIFAS.IMPT_INC IS 'IMPORTE INCREMENTADO';
Y se han capturado estas tarifas en formato CSV
ID_TIVE;DESC_TIVE;UNIDADES;DESDE;IMPT_MIN;IMPT_INC AU;AUTOBUS;PLAZAS;0;8330;13328 AU;AUTOBUS;PLAZAS;21;11864;18982 AU;AUTOBUS;PLAZAS;51;14830;23728 CA;CAMION;KG-CARGA;0;4228;6765 CA;CAMION;KG-CARGA;1000;8330;13328 CA;CAMION;KG-CARGA;2999;11864;18982 CA;CAMION;KG-CARGA;9999;14830;23728 CI;CICLOMOTOR;CC;0;442;884 MO;MOTOCICLETA;CC;0;442;884 MO;MOTOCICLETA;CC;125;757;1514 MO;MOTOCICLETA;CC;250;1515;3030 MO;MOTOCICLETA;CC;500;3029;6058 MO;MOTOCICLETA;CC;1000;6058;12116 RE;REMOLQUE;KG-CARGA;0;0;0 RE;REMOLQUE;KG-CARGA;751;1767;2827 RE;REMOLQUE;KG-CARGA;1000;2777;4443 RE;REMOLQUE;KG-CARGA;2999;8330;13328 SR;SEMIRREMOLQUE;KG-CARGA;0;0;0 SR;SEMIRREMOLQUE;KG-CARGA;751;1767;2827 SR;SEMIRREMOLQUE;KG-CARGA;1000;2777;4443 SR;SEMIRREMOLQUE;KG-CARGA;2999;8330;13328 TR;TRACTOR;CV;0;1767;2827 TR;TRACTOR;CV;16;2777;4443 TR;TRACTOR;CV;25;8330;13328 TU;TURISMO;CV;0;1262;2480 TU;TURISMO;CV;8;3408;6697 TU;TURISMO;CV;12;7194;14137 TU;TURISMO;CV;16;8961;17922 TU;TURISMO;CV;20;11200;22400
3. Calculo de importes DE LOS VEHÍCULOS
SELECT VEHI.*, EDU.*,EDU.IMPORT*VEHI.PORC_BONI_EDU/100 AS BONIFICACION, EDU.IMPORT*(100-VEHI.PORC_BONI_EDU)/100 AS NETO
FROM XIMO_SCHM.EDU_VW_VEHI VEHI
JOIN XIMO_SCHM.EDU_VEHI_TARIFAS EDU ON EDU.ID_TIVE =VEHI.ID_TIVE AND EDU.DESDE <=VEHI.CANTIDAD
AND NOT EXISTS (
SELECT *
FROM XIMO_SCHM.EDU_VEHI_TARIFAS EDU1
WHERE EDU1.ID_TIVE=VEHI.ID_TIVE
AND EDU1.DESDE <=VEHI.CANTIDAD
AND EDU1.DESDE > EDU.DESDE
)
WHERE VEHI.ID_SIOT <>'B' ; --NO BAJAS
No hay comentarios :
Publicar un comentario