--Crear permiso
INSERT INTO permiso (permiso, nombre, llave)
VALUES (4572, 'TÍTULOS JUDICIALES', 'titulos_judiciales');

INSERT INTO permiso (permiso, nombre, llave)
VALUES (4573, 'MODIFICAR TÍTULOS JUDICIALES', 'modificar_titulos_judiciales');

INSERT INTO permiso (permiso, nombre, llave)
VALUES (4574, 'ENLAZAR TÍTULOS JUDICIALES - COBRO COACTIVO', 'enlazar_titulos_judiciales_cca');

INSERT INTO permiso (permiso, nombre, llave)
VALUES (4575, 'AUTO LIQUIDACIÓN CRÉDITO', 'auto_liquidacion_credito');

INSERT INTO permiso (permiso, nombre, llave)
VALUES (4576, 'FRACCIONAMIENTO TITULO JUDICIAL', 'fraccionamiento_titulo_judicial');

INSERT INTO permiso (permiso, nombre, llave)
VALUES (4577, 'RECAUDO TITULO JUDICIAL', 'recaudo_titulo_judicial');

INSERT INTO usuario_permiso (permiso, usuario, estado) VALUES (4572, 'jair@sisoft.com.co', 'a');
INSERT INTO usuario_permiso (permiso, usuario, estado) VALUES (4573, 'jair@sisoft.com.co', 'a');
INSERT INTO usuario_permiso (permiso, usuario, estado) VALUES (4574, 'jair@sisoft.com.co', 'a');
INSERT INTO usuario_permiso (permiso, usuario, estado) VALUES (4575, 'jair@sisoft.com.co', 'a');
INSERT INTO usuario_permiso (permiso, usuario, estado) VALUES (4576, 'jair@sisoft.com.co', 'a');
INSERT INTO usuario_permiso (permiso, usuario, estado) VALUES (4577, 'jair@sisoft.com.co', 'a');


--agregar al menu
--titulos judiciales
INSERT INTO menu (menu, menu_id, orden, vista, js, titulo, activo, permiso, titulo_publico)
VALUES (266, 262, 3, null, null, 'Títulos Judiciales', 's', 4572, 'Títulos Judiciales');
--generar titulo
INSERT INTO menu (menu, menu_id, orden, vista, js, titulo, activo, permiso, titulo_publico)
VALUES (266.1, 266, 1, 'impuestoVehiculo/tituloJudicial/bandejaTituloJudicial', 'modulos/impuestoVehiculo/tituloJudicial/tituloJudicialController', 'Generar', 's', 4573, 'Generar');

--recaudar titulo
INSERT INTO menu (menu, menu_id, orden, vista, js, titulo, activo, permiso, titulo_publico)
VALUES (266.2, 266, 2, 'impuestoVehiculo/tituloJudicial/bandejaTituloJudicialRecaudo', 'modulos/impuestoVehiculo/tituloJudicial/tituloJudicialController', 'Recaudo', 's', 4577, 'Recaudo');

INSERT INTO menu (menu, menu_id, orden, vista, js, titulo, activo, permiso, titulo_publico)
VALUES (10.4911, 10.4, 26, 'impuestoVehiculo/cobroCoactivo/busquedaAutoLiqCredExp', 'modulos/impuestoVehiculo/cobroCoactivo/ControladorCobroCoactivo', 'Auto Liquidación de Crédito', 's', 4575, 'Auto Liquidación de Crédito');

--enlazar en cobro coactivo
INSERT INTO menu (menu, menu_id, orden, vista, js, titulo, activo, permiso, titulo_publico)
VALUES (10.4912, 10.4, 25, 'impuestoVehiculo/cobroCoactivo/tituloJudicial/bandejaEnlaceTitulo', 'modulos/impuestoVehiculo/cobroCoactivo/tituloJudicial/tituloJudicialController', 'Enlazar Título Judicial', 's', 4574, 'Enlazar Título Judicial');

INSERT INTO menu (menu, menu_id, orden, vista, js, titulo, activo, permiso, titulo_publico)
VALUES (10.4913, 10.4, 26, 'impuestoVehiculo/cobroCoactivo/tituloJudicial/bandejaFraccionamiento', 'modulos/impuestoVehiculo/cobroCoactivo/tituloJudicial/tituloJudicialController', 'Fraccionamiento de título judicial', 's', 4576, 'Fraccionamiento de título judicial');

--AGREGAR PLANTILLA
INSERT INTO plantilla (plantilla, nombre, descripcion, documento, modulo, tercero)
VALUES (913, 'AUTO LIQUIDACIÓN CRÉDITO COBRO COACTIVO', 'Por el cual se liquida el crédito de un proceso de Cobro Coactivo', 'auto_liquidacion_credito_coactivo.docx', 3, 366);

INSERT INTO plantilla (plantilla, nombre, descripcion, documento, modulo, tercero)
VALUES (914, 'FRACCIONAMIENTO DE TÍTULO JUDICIAL', 'Fraccionamiento de Título Depósito Judicial', 'fraccionamiento_titulo_judicial.docx', 3, 366);

--crear tabla titulo_judicial
CREATE TABLE public.titulo_judicial (
    titulo_judicial integer NOT NULL,
    consecutivo character varying NOT NULL,
    tercero integer NOT NULL,
    valor double precision NOT NULL,
    impuesto_cobro_coactivo integer,
    created_at timestamp without time zone DEFAULT now() NOT NULL,
    updated_at timestamp without time zone,
    creador integer NOT NULL,
    empresa integer NOT NULL,
    estado "char" DEFAULT 'a'::"char" NOT NULL
);

COMMENT ON TABLE public.titulo_judicial IS 'tiutlos judiciales';

COMMENT ON COLUMN public.titulo_judicial.created_at IS 'fecha sistema creación';
COMMENT ON COLUMN public.titulo_judicial.updated_at IS 'fecha sistema última modificación';
COMMENT ON COLUMN public.titulo_judicial.creador IS 'tercero creador';
COMMENT ON COLUMN public.titulo_judicial.estado IS 'a=abierto, c=cerrado';

CREATE SEQUENCE public.titulo_judicial_seq
    AS integer
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;

ALTER SEQUENCE public.titulo_judicial_seq OWNED BY public.titulo_judicial.titulo_judicial;
ALTER TABLE ONLY public.titulo_judicial ALTER COLUMN titulo_judicial SET DEFAULT nextval('public.titulo_judicial_seq'::regclass);

ALTER TABLE ONLY public.titulo_judicial ADD CONSTRAINT titulo_judicial_consecutivo_key UNIQUE (consecutivo);
ALTER TABLE ONLY public.titulo_judicial ADD CONSTRAINT titulo_judicial_pkey PRIMARY KEY (titulo_judicial);
ALTER TABLE ONLY public.titulo_judicial ADD CONSTRAINT titulo_judicial_impuesto_cobro_coactivo_fkey FOREIGN KEY (impuesto_cobro_coactivo) REFERENCES public.impuesto_cobro_coactivo(impuesto_cobro_coactivo) ON UPDATE CASCADE ON DELETE RESTRICT;
--fin crear tabla titulo_judicial

--crear tabla liquidacion_credito_coactivo
CREATE TABLE public.liquidacion_credito_coactivo (
    liquidacion_credito_coactivo integer NOT NULL,
    numero_liquidacion character varying NOT NULL,
    fecha date NOT NULL,
    impuesto_cobro_coactivo integer NOT NULL,
    documento character varying,
    empresa integer,
    created_at timestamp without time zone DEFAULT now() NOT NULL,
    updated_at timestamp without time zone,
    usuario character varying NOT NULL,
    vehiculo integer
);

COMMENT ON TABLE public.liquidacion_credito_coactivo IS 'auto liquidación de crédito en proceso de cobro coactivo';
COMMENT ON COLUMN public.liquidacion_credito_coactivo.numero_liquidacion IS 'número entregado desde formulario';
COMMENT ON COLUMN public.liquidacion_credito_coactivo.fecha IS 'fecha de creación';
COMMENT ON COLUMN public.liquidacion_credito_coactivo.documento IS 'archivo generado';
COMMENT ON COLUMN public.liquidacion_credito_coactivo.created_at IS 'fecha de creación tomada por el sistema';
COMMENT ON COLUMN public.liquidacion_credito_coactivo.usuario IS 'creador';

CREATE SEQUENCE public.liquidacion_credito_coactivo_seq
    AS integer
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;

ALTER SEQUENCE public.liquidacion_credito_coactivo_seq OWNED BY public.liquidacion_credito_coactivo.liquidacion_credito_coactivo;
ALTER TABLE ONLY public.liquidacion_credito_coactivo ALTER COLUMN liquidacion_credito_coactivo SET DEFAULT nextval('public.liquidacion_credito_coactivo_seq'::regclass);

ALTER TABLE ONLY public.liquidacion_credito_coactivo
    ADD CONSTRAINT liquidacion_credito_coactivo_numero_liquidacion_key UNIQUE (numero_liquidacion);

ALTER TABLE ONLY public.liquidacion_credito_coactivo
    ADD CONSTRAINT liquidacion_credito_coactivo_pkey PRIMARY KEY (liquidacion_credito_coactivo);

ALTER TABLE ONLY public.liquidacion_credito_coactivo
    ADD CONSTRAINT liquidacion_credito_coactivo_impuesto_cobro_coactivo_fkey FOREIGN KEY (impuesto_cobro_coactivo) REFERENCES public.impuesto_cobro_coactivo(impuesto_cobro_coactivo) ON UPDATE CASCADE ON DELETE RESTRICT;


ALTER TABLE ONLY public.liquidacion_credito_coactivo
    ADD CONSTRAINT liquidacion_credito_coactivo_usuario_fkey FOREIGN KEY (usuario) REFERENCES public.usuario(usuario) ON UPDATE CASCADE ON DELETE RESTRICT;

ALTER TABLE ONLY public.liquidacion_credito_coactivo
    ADD CONSTRAINT liquidacion_credito_coactivo_vehiculo_fkey FOREIGN KEY (vehiculo) REFERENCES public.vehiculo(vehiculo) ON UPDATE CASCADE ON DELETE RESTRICT;

--fin crear tabla liquidacion_credito_coactivo

--crear tabla rl_liquidacion_credito_coactivo

CREATE TABLE public.rl_liquidacion_credito_coactivo (
    rl_liquidacion_credito_coactivo integer NOT NULL,
    liquidacion_credito_coactivo integer NOT NULL,
    vigencia integer NOT NULL,
    valor_avaluo double precision NOT NULL,
    valor_impuesto double precision NOT NULL,
    valor_sancion double precision NOT NULL,
    valor_interes double precision NOT NULL,
    valor_matricula_traslado double precision NOT NULL,
    valor_total double precision NOT NULL,
    id_tarifa integer,
    tarifa double precision,
    id_sancion integer,
    tasa double precision,
    id_interes integer,
    interes double precision,
    mes_tarifa integer,
    tarifa_aumento character(1),
    iddescuento integer DEFAULT 0,
    descuento real DEFAULT 0,
    liquidacion_vehiculo integer
);


COMMENT ON TABLE public.rl_liquidacion_credito_coactivo IS 'valores de las vigencias capturadas en la liquidación';


CREATE SEQUENCE public.rl_liquidacion_credito_coacti_seq
    AS integer
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;

ALTER SEQUENCE public.rl_liquidacion_credito_coacti_seq OWNED BY public.rl_liquidacion_credito_coactivo.rl_liquidacion_credito_coactivo;

ALTER TABLE ONLY public.rl_liquidacion_credito_coactivo ALTER COLUMN rl_liquidacion_credito_coactivo SET DEFAULT nextval('public.rl_liquidacion_credito_coacti_seq'::regclass);

ALTER TABLE ONLY public.rl_liquidacion_credito_coactivo
    ADD CONSTRAINT rl_liquidacion_credito_coactivo_pkey PRIMARY KEY (rl_liquidacion_credito_coactivo);

ALTER TABLE ONLY public.rl_liquidacion_credito_coactivo
    ADD CONSTRAINT rl_liquidacion_credito_coacti_liquidacion_credito_coactivo_fkey FOREIGN KEY (liquidacion_credito_coactivo) REFERENCES public.liquidacion_credito_coactivo(liquidacion_credito_coactivo) ON UPDATE CASCADE ON DELETE RESTRICT;

ALTER TABLE ONLY public.rl_liquidacion_credito_coactivo
    ADD CONSTRAINT rl_liquidacion_credito_coactivo_liquidacion_vehiculo_fkey FOREIGN KEY (liquidacion_vehiculo) REFERENCES public.liquidacion_vehiculo(liquidacion_vehiculo) ON UPDATE CASCADE ON DELETE RESTRICT;
--fin crear tabla rl_liquidacion_credito_coactivo

--crear tabla titulo_judicial_fraccionamiento
CREATE TABLE public.titulo_judicial_fraccionamiento (
    titulo_judicial_fraccionamiento integer NOT NULL,
    titulo_judicial integer NOT NULL,
    liquidacion_credito_coactivo integer NOT NULL,
    costo_procesal double precision,
    valor_titulo double precision,
    valor_favor_entidad double precision,
    valor_favor_tercero double precision,
    created_at timestamp without time zone DEFAULT now() NOT NULL,
    updated_at timestamp without time zone,
    usuario character varying NOT NULL,
    consecutivo_memorando character varying
);

COMMENT ON TABLE public.titulo_judicial_fraccionamiento IS 'datos principales de fracionamiento de título judicial';
COMMENT ON COLUMN public.titulo_judicial_fraccionamiento.valor_titulo IS 'debería coincidir con el valor en titulo_judicial';
COMMENT ON COLUMN public.titulo_judicial_fraccionamiento.consecutivo_memorando IS 'consecutivo que aparece en la plantilla de fraccionamiento';

CREATE SEQUENCE public.titulo_judicial_fraccionamiento_seq
    AS integer
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;

ALTER SEQUENCE public.titulo_judicial_fraccionamiento_seq OWNED BY public.titulo_judicial_fraccionamiento.titulo_judicial_fraccionamiento;

ALTER TABLE ONLY public.titulo_judicial_fraccionamiento ALTER COLUMN titulo_judicial_fraccionamiento SET DEFAULT nextval('public.titulo_judicial_fraccionamiento_seq'::regclass);


ALTER TABLE ONLY public.titulo_judicial_fraccionamiento
    ADD CONSTRAINT titulo_judicial_fraccionamiento_pkey PRIMARY KEY (titulo_judicial_fraccionamiento);

ALTER TABLE ONLY public.titulo_judicial_fraccionamiento
    ADD CONSTRAINT titulo_judicial_fraccionamien_liquidacion_credito_coactivo_fkey FOREIGN KEY (liquidacion_credito_coactivo) REFERENCES public.liquidacion_credito_coactivo(liquidacion_credito_coactivo) ON UPDATE CASCADE ON DELETE RESTRICT;

ALTER TABLE ONLY public.titulo_judicial_fraccionamiento
    ADD CONSTRAINT titulo_judicial_fraccionamiento_titulo_judicial_fkey FOREIGN KEY (titulo_judicial) REFERENCES public.titulo_judicial(titulo_judicial) ON UPDATE CASCADE ON DELETE RESTRICT;

ALTER TABLE ONLY public.titulo_judicial_fraccionamiento
    ADD CONSTRAINT titulo_judicial_fraccionamiento_usuario_fkey FOREIGN KEY (usuario) REFERENCES public.usuario(usuario) ON UPDATE CASCADE ON DELETE RESTRICT;
--fin crear tabla titulo_judicial_fraccionamiento

--crear tabla rl_titulo_judicial_fraccionamiento
CREATE TABLE public.rl_titulo_judicial_fraccionamiento (
    rl_titulo_judicial_fraccionamiento integer NOT NULL,
    titulo_judicial_fraccionamiento integer NOT NULL,
    vigencia integer NOT NULL,
    impuesto double precision NOT NULL,
    impuesto_p double precision NOT NULL,
    sancion double precision NOT NULL,
    sancion_p double precision NOT NULL,
    interes double precision NOT NULL,
    interes_p double precision NOT NULL,
    total double precision NOT NULL,
    total_p double precision NOT NULL,
    grupo integer NOT NULL
);

COMMENT ON TABLE public.rl_titulo_judicial_fraccionamiento IS 'valores calculados sobre la liquidación de crédito en el fraccionamiento según las vigencias';
COMMENT ON COLUMN public.rl_titulo_judicial_fraccionamiento.impuesto IS 'valor inicial';
COMMENT ON COLUMN public.rl_titulo_judicial_fraccionamiento.impuesto_p IS 'valor pagado';
COMMENT ON COLUMN public.rl_titulo_judicial_fraccionamiento.sancion IS 'valor inicial';
COMMENT ON COLUMN public.rl_titulo_judicial_fraccionamiento.sancion_p IS 'valor pagado';
COMMENT ON COLUMN public.rl_titulo_judicial_fraccionamiento.interes IS 'valor inicial';
COMMENT ON COLUMN public.rl_titulo_judicial_fraccionamiento.interes_p IS 'valor pagado';
COMMENT ON COLUMN public.rl_titulo_judicial_fraccionamiento.total IS 'valor inicial';
COMMENT ON COLUMN public.rl_titulo_judicial_fraccionamiento.total_p IS 'valor pagado';
COMMENT ON COLUMN public.rl_titulo_judicial_fraccionamiento.grupo IS 'contador de pagos (puede ser parcial)';

CREATE SEQUENCE public.rl_titulo_judicial_fraccionamiento_seq
    AS integer
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;

ALTER SEQUENCE public.rl_titulo_judicial_fraccionamiento_seq OWNED BY public.rl_titulo_judicial_fraccionamiento.rl_titulo_judicial_fraccionamiento;

ALTER TABLE ONLY public.rl_titulo_judicial_fraccionamiento ALTER COLUMN rl_titulo_judicial_fraccionamiento SET DEFAULT nextval('public.rl_titulo_judicial_fraccionamiento_seq'::regclass);

ALTER TABLE ONLY public.rl_titulo_judicial_fraccionamiento
    ADD CONSTRAINT rl_titulo_judicial_fraccionamiento_pkey PRIMARY KEY (rl_titulo_judicial_fraccionamiento);

ALTER TABLE ONLY public.rl_titulo_judicial_fraccionamiento
    ADD CONSTRAINT rl_titulo_judicial_fraccionam_titulo_judicial_fraccionamie_fkey FOREIGN KEY (titulo_judicial_fraccionamiento) REFERENCES public.titulo_judicial_fraccionamiento(titulo_judicial_fraccionamiento) ON UPDATE RESTRICT ON DELETE RESTRICT;
--fin crear tabla rl_titulo_judicial_fraccionamiento

--**** **** **** **** SEGUNDA PARTE **** **** **** ****
UPDATE menu SET titulo = 'Título Depósito', titulo_publico = 'Título Depósito' WHERE menu = 266;
UPDATE menu SET titulo = 'Registrar Título', titulo_publico = 'Registrar Título' WHERE menu = 266.1;
UPDATE menu SET titulo = 'Recaudar Título', titulo_publico = 'Recaudar Título' WHERE menu = 266.2;
UPDATE menu SET titulo = 'Enlazar Título Depósito', titulo_publico = 'Enlazar Título Depósito' WHERE menu = 10.4912;
UPDATE menu SET titulo = 'Fraccionamiento de Título Depósito', titulo_publico = 'Fraccionamiento de Título Depósito' WHERE menu = 10.4913;

--Agregar columna de estado en liquidación
ALTER TABLE liquidacion_credito_coactivo ADD COLUMN estado character DEFAULT 'p'::bpchar;
COMMENT ON COLUMN liquidacion_credito_coactivo.estado IS 'p:pendiente, a:aprobado, n:no aprobado';

--Agregar columna para saber si es la primera o actualizaciones
ALTER TABLE liquidacion_credito_coactivo ADD COLUMN tipo integer;
COMMENT ON COLUMN liquidacion_credito_coactivo.tipo IS '1:primera liquidación, 2:actualización';

--Agregar al menú
UPDATE menu SET menu = 10.4914 WHERE menu = 10.4913;
--UPDATE menu SET menu = 10.4913 WHERE menu = 10.4912;

--Añadir permisos
INSERT INTO permiso (permiso, nombre, llave)
VALUES (4578, 'AUTO APROBACIÓN LIQUIDACIÓN CRÉDITO COACTIVO', 'auto_aprob_liquicacion_coactivo');

INSERT INTO permiso (permiso, nombre, llave)
VALUES (4579, 'NOTIFICACIÓN LIQUIDACIÓN CRÉDITO COACTIVO', 'notifiacion_liquicacion_coactivo');

INSERT INTO usuario_permiso (permiso, usuario, estado) VALUES (4578, 'jair@sisoft.com.co', 'a');
INSERT INTO usuario_permiso (permiso, usuario, estado) VALUES (4579, 'jair@sisoft.com.co', 'a');

INSERT INTO menu (menu, menu_id, orden, vista, js, titulo, activo, permiso, titulo_publico)
VALUES (10.4913, 10.4, 28, 'impuestoVehiculo/cobroCoactivo/busquedaAutoNotificaLiqCred', 'modulos/impuestoVehiculo/cobroCoactivo/ControladorCobroCoactivo', 'Notificación Auto Liquidación Crédito', 's', 4579, 'Notificación Auto Liquidación Crédito');

UPDATE menu SET menu = 10.4915 WHERE menu = 10.4914;
UPDATE menu SET menu = 10.4914 WHERE menu = 10.4913;

INSERT INTO menu (menu, menu_id, orden, vista, js, titulo, activo, permiso, titulo_publico)
VALUES (10.4913, 10.4, 28, 'impuestoVehiculo/cobroCoactivo/busquedaAutoAprobarLiqCred', 'modulos/impuestoVehiculo/cobroCoactivo/ControladorCobroCoactivo', 'Aprobación Auto Liquidación Crédito', 's', 4578, 'Aprobación Auto Liquidación Crédito');

INSERT INTO plantilla (plantilla, nombre, descripcion, documento, modulo, tercero)
VALUES (915, 'AUTO APROBACIÓN DE CRÉDITO', 'Por el cual se aprueba la liquidación de crédito dentro un proceso', 'auto_aprobacion_credito_coactivo.docx', 3, 366);

INSERT INTO plantilla (plantilla, nombre, descripcion, documento, modulo, tercero)
VALUES (916, 'AUTO LIQUIDACIÓN CRÉDITO - NOTIFICACIÓN', 'Por el cual se notifica la liquidación de crédito dentro un proceso', 'auto_liquidacion_credito_coactivo_notificacion.docx', 3, 366);

--Agregar en impuesto_proceso_cobro_coactivo columna de liquidacion
ALTER TABLE impuesto_proceso_cobro_coactivo ADD COLUMN liquidacion_credito_coactivo integer;
COMMENT ON COLUMN impuesto_proceso_cobro_coactivo.liquidacion_credito_coactivo IS 'para diferenciar los que tienen liquidación de crédito';
ALTER TABLE ONLY public.impuesto_proceso_cobro_coactivo
    ADD CONSTRAINT liquidacion_credito_coactivo_fkey FOREIGN KEY (liquidacion_credito_coactivo) REFERENCES public.liquidacion_credito_coactivo(liquidacion_credito_coactivo) ON UPDATE CASCADE ON DELETE CASCADE;

ALTER TABLE titulo_judicial_fraccionamiento ADD COLUMN fecha_fraccionamiento DATE;
COMMENT ON COLUMN titulo_judicial_fraccionamiento.fecha_fraccionamiento IS 'Fecha entregada desde formulario';

--crear tabla impuesto_ficha_devolucion_lco
CREATE TABLE public.impuesto_ficha_devolucion_lco (
    impuesto_ficha_devolucion_lco integer NOT NULL,
    liquidacion_credito_coactivo integer NOT NULL,
    fecha_respuesta date NOT NULL,
    tipo_mensajeria integer NOT NULL,
    tipo_devolucion_mensajeria integer NOT NULL,
    aprobado character(1),
    created_at timestamp without time zone DEFAULT now() NOT NULL,
    updated_at timestamp without time zone,
    usuario character varying NOT NULL,
    fecha_espera date,
    numero_guia character varying,
    documento character varying,
    numero_auto character varying,
    fecha_aprobacion date,
    documento_notificacion character varying
);

COMMENT ON TABLE public.impuesto_ficha_devolucion_lco IS 'datos de notificación de liquidación de crédito coactivo';
COMMENT ON COLUMN public.impuesto_ficha_devolucion_lco.usuario IS 'creador';
COMMENT ON COLUMN public.impuesto_ficha_devolucion_lco.documento IS 'documento generado en la aprobación';
COMMENT ON COLUMN public.impuesto_ficha_devolucion_lco.fecha_aprobacion IS 'fecha entregada desde el formulario';
COMMENT ON COLUMN public.impuesto_ficha_devolucion_lco.documento_notificacion IS 'Documento de notifiación generado';

CREATE SEQUENCE public.impuesto_ficha_devolucion_lco_seq
    AS integer
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;

ALTER SEQUENCE public.impuesto_ficha_devolucion_lco_seq OWNED BY public.impuesto_ficha_devolucion_lco.impuesto_ficha_devolucion_lco;

ALTER TABLE ONLY public.impuesto_ficha_devolucion_lco ALTER COLUMN impuesto_ficha_devolucion_lco SET DEFAULT nextval('public.impuesto_ficha_devolucion_lco_seq'::regclass);

ALTER TABLE ONLY public.impuesto_ficha_devolucion_lco
    ADD CONSTRAINT impuesto_ficha_devolucion_lco_pkey PRIMARY KEY (impuesto_ficha_devolucion_lco);

ALTER TABLE ONLY public.impuesto_ficha_devolucion_lco
    ADD CONSTRAINT impuesto_ficha_devolucion_lco_liquidacion_credito_coactivo_fkey FOREIGN KEY (liquidacion_credito_coactivo) REFERENCES public.liquidacion_credito_coactivo(liquidacion_credito_coactivo) ON UPDATE CASCADE ON DELETE RESTRICT;

ALTER TABLE ONLY public.impuesto_ficha_devolucion_lco
    ADD CONSTRAINT impuesto_ficha_devolucion_lco_tipo_devolucion_mensajeria_fkey FOREIGN KEY (tipo_devolucion_mensajeria) REFERENCES public.tipo_devolucion_mensajeria(tipo_devolucion_mensajeria) ON UPDATE CASCADE ON DELETE RESTRICT;

ALTER TABLE ONLY public.impuesto_ficha_devolucion_lco
    ADD CONSTRAINT impuesto_ficha_devolucion_lco_tipo_mensajeria_fkey FOREIGN KEY (tipo_mensajeria) REFERENCES public.tipo_mensajeria(tipo_mensajeria) ON UPDATE CASCADE ON DELETE RESTRICT;

ALTER TABLE ONLY public.impuesto_ficha_devolucion_lco
    ADD CONSTRAINT impuesto_ficha_devolucion_lco_usuario_fkey FOREIGN KEY (usuario) REFERENCES public.usuario(usuario) ON UPDATE CASCADE ON DELETE RESTRICT;
--fin crear tabla impuesto_ficha_devolucion_lco

UPDATE menu SET menu = 10.4916 WHERE menu = 10.4912;
UPDATE menu SET menu = 10.4912 WHERE menu = 10.4914;
UPDATE menu SET menu = 10.4914 WHERE menu = 10.4916;

--**** **** **** **** TERCERA PARTE **** **** **** ****
ALTER TABLE titulo_judicial_fraccionamiento ADD COLUMN enlace_titulo integer;
COMMENT ON COLUMN titulo_judicial_fraccionamiento.enlace_titulo IS 'contiene el titulo judicial cuando necesita usar el saldo sobrante del que lo contiene';
ALTER TABLE ONLY public.titulo_judicial_fraccionamiento
    ADD CONSTRAINT enlace_titulo_fkey FOREIGN KEY (enlace_titulo) REFERENCES public.titulo_judicial(titulo_judicial) ON UPDATE CASCADE ON DELETE RESTRICT;

ALTER TABLE titulo_judicial ADD COLUMN fecha_emision date;
COMMENT ON COLUMN titulo_judicial.fecha_emision IS 'Fecha entregada desde el formulario';

ALTER TABLE rl_titulo_judicial_fraccionamiento ADD COLUMN descuento_traslado double precision;
ALTER TABLE rl_titulo_judicial_fraccionamiento ADD COLUMN descuento_traslado_p double precision;

--Agregar campos d eporcentajes
ALTER TABLE rl_titulo_judicial_fraccionamiento ADD COLUMN impuesto_pp double precision DEFAULT 0;
COMMENT ON COLUMN rl_titulo_judicial_fraccionamiento.impuesto_pp IS 'Porcentaje pagado';

ALTER TABLE rl_titulo_judicial_fraccionamiento ADD COLUMN sancion_pp double precision DEFAULT 0;
COMMENT ON COLUMN rl_titulo_judicial_fraccionamiento.sancion_pp IS 'Porcentaje pagado';

ALTER TABLE rl_titulo_judicial_fraccionamiento ADD COLUMN interes_pp double precision DEFAULT 0;
COMMENT ON COLUMN rl_titulo_judicial_fraccionamiento.interes_pp IS 'Porcentaje pagado';

--Agregar plantilla de fraccionamiento parcial
INSERT INTO plantilla (plantilla, nombre, descripcion, documento, modulo, tercero)
VALUES (917, 'FRACCIONAMIENTO DE TÍTULO JUDICIAL', 'Fraccionamiento de Título Depósito Judicial', 'fraccionamiento_titulo_judicial_parcial.docx', 3, 366);

--CREAR TABLA impuesto_cartera_temporal

CREATE SEQUENCE public.impuesto_cartera_vehiculo_temporal_seq
    AS integer
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;

CREATE TABLE public.impuesto_cartera_vehiculo_temporal (
    impuesto_cartera_vehiculo integer DEFAULT nextval('public.impuesto_cartera_vehiculo_temporal_seq'::regclass),
    vehiculo integer,
    vigencia character(4),
    id_tarifa integer,
    tarifa real,
    id_sancion integer,
    tasa real,
    id_interes integer,
    interes real,
    meses integer,
    dias integer,
    valor_avaluo numeric,
    valor_impuesto numeric,
    valor_interes numeric,
    valor_sancion numeric,
    valor_pronto_pago numeric,
    valor_matricula_traslado numeric,
    valor_saldo_favor numeric,
    valor_total numeric,
    clasificacion_cartera integer,
    iddescuento integer,
    descuento real,
    empresa integer,
    fecha_ejecucion date,
    liquidacion character varying,
    impuesto_momento numeric,
    sancion_momento numeric,
    interes_momento numeric,
    tipo character(1),
    impuesto_pagado numeric,
    sancion_pagado numeric,
    interes_pagado numeric,
    tipo_impuesto integer,
    tipo_programa integer,
    valor_decreto_678 numeric,
    interes_decreto_678 numeric,
    sancion_decreto_678 numeric,
    mes_tarifa integer,
    tarifa_anterior real,
    avaluo_anterior numeric,
    tarifa_aumento character(1)
);

ALTER SEQUENCE public.impuesto_cartera_vehiculo_temporal_seq OWNED BY public.impuesto_cartera_vehiculo_temporal.impuesto_cartera_vehiculo;
--FIN CREAR TABLA impuesto_cartera_temporal

--CREAR VISTA vista_impuesto_cartera_vehiculo_tmp
CREATE VIEW public.vista_impuesto_cartera_vehiculo_tmp AS
 SELECT icv.vehiculo,
    tv.tercero,
    vrl.valor AS placa,
    cv1.valor AS fecha_finaliza_vigencia,
    (icv.vigencia)::character varying AS vigencia,
        CASE
            WHEN (t2.valor_avaluo IS NOT NULL) THEN t2.valor_avaluo
            ELSE icv.valor_avaluo
        END AS valor_avaluo,
        CASE
            WHEN (t2.valor_impuesto IS NOT NULL) THEN t2.valor_impuesto
            ELSE icv.valor_impuesto
        END AS valor_impuesto,
        CASE
            WHEN (t2.valor_interes IS NOT NULL) THEN t2.valor_interes
            ELSE icv.valor_interes
        END AS valor_interes,
        CASE
            WHEN (t2.valor_sancion IS NOT NULL) THEN t2.valor_sancion
            ELSE icv.valor_sancion
        END AS valor_sancion,
        CASE
            WHEN (t2.valor_pronto_pago IS NOT NULL) THEN t2.valor_pronto_pago
            ELSE icv.valor_pronto_pago
        END AS valor_pronto_pago,
        CASE
            WHEN (t2.valor_matricula_traslado IS NOT NULL) THEN t2.valor_matricula_traslado
            ELSE icv.valor_matricula_traslado
        END AS valor_matricula_traslado,
        CASE
            WHEN (t2.valor_saldo_favor IS NOT NULL) THEN t2.valor_saldo_favor
            ELSE icv.valor_saldo_favor
        END AS valor_saldo_favor,
        CASE
            WHEN (t2.valor_total IS NOT NULL) THEN t2.valor_total
            ELSE icv.valor_total
        END AS valor_total,
        CASE
            WHEN (t2.valor_impuesto IS NOT NULL) THEN round(((t2.valor_impuesto * (cv2.valor)::numeric) / (100)::numeric))
            ELSE round(((icv.valor_impuesto * (cv2.valor)::numeric) / (100)::numeric))
        END AS valor_impuesto_80,
        CASE
            WHEN (t2.valor_sancion IS NOT NULL) THEN round(((t2.valor_sancion * (cv2.valor)::numeric) / (100)::numeric))
            ELSE round(((icv.valor_sancion * (cv2.valor)::numeric) / (100)::numeric))
        END AS valor_sancion_80,
        CASE
            WHEN (t2.valor_interes IS NOT NULL) THEN round(((t2.valor_interes * (cv2.valor)::numeric) / (100)::numeric))
            ELSE round(((icv.valor_interes * (cv2.valor)::numeric) / (100)::numeric))
        END AS valor_interes_80,
        CASE
            WHEN (t2.valor_total IS NOT NULL) THEN round(((t2.valor_total * (cv2.valor)::numeric) / (100)::numeric))
            ELSE round(((icv.valor_total * (cv2.valor)::numeric) / (100)::numeric))
        END AS valor_total_80,
        CASE
            WHEN (t2.acuerdo_pago IS NOT NULL) THEN t2.impuesto_proceso
            WHEN (((icv.vigencia)::integer <= 2012) OR ((pav.numero_expediente IS NOT NULL) AND ((pav.numero_expediente)::text <> ''::text) AND ((pav.numero_expediente)::text <> 'NO TIENE EXPEDIENTE PARA ESTA VIGENCIA'::text))) THEN 5
            WHEN (t1.impuesto_proceso IS NOT NULL) THEN t1.impuesto_proceso
            WHEN (icv.clasificacion_cartera = 1) THEN 1
            WHEN (icv.clasificacion_cartera = 2) THEN 2
            ELSE 2
        END AS impuesto_proceso,
        CASE
            WHEN (t2.acuerdo_pago IS NOT NULL) THEN t2.estado_proceso
            WHEN (((icv.vigencia)::integer <= 2012) OR ((pav.numero_expediente IS NOT NULL) AND ((pav.numero_expediente)::text <> ''::text) AND ((pav.numero_expediente)::text <> 'NO TIENE EXPEDIENTE PARA ESTA VIGENCIA'::text))) THEN 'COBRO COACTIVO'::character varying
            WHEN (t1.impuesto_proceso IS NOT NULL) THEN (t1.estado)::character varying
            WHEN (icv.clasificacion_cartera = 1) THEN 'OBLIGACIÓN ACTUAL'::character varying
            WHEN (icv.clasificacion_cartera = 2) THEN 'DEUDA ACTUAL'::character varying
            ELSE 'DEUDA ACTUAL'::character varying
        END AS estado_proceso,
    cc.clasificacion_cartera,
    t1.impuesto_apertura_expediente,
    t1.impuesto_liquidacion_oficial,
    t1.impuesto_cobro_coactivo,
        CASE
            WHEN (((icv.vigencia)::integer <= 2012) OR ((pav.numero_expediente IS NOT NULL) AND ((pav.numero_expediente)::text <> ''::text) AND ((pav.numero_expediente)::text <> 'NO TIENE EXPEDIENTE PARA ESTA VIGENCIA'::text))) THEN 9
            WHEN (t1.impuesto_cobro_coactivo IS NOT NULL) THEN 9
            WHEN ((t1.impuesto_liquidacion_oficial IS NOT NULL) AND (t1.fecha_final <= ('now'::text)::date)) THEN 7
            ELSE 8
        END AS impuesto_proceso_secundario,
    icv.dias AS dias_prescripcion,
        CASE
            WHEN ((pav.numero_expediente IS NOT NULL) AND ((pav.numero_expediente)::text <> ''::text)) THEN pav.numero_expediente
            WHEN (t1.impuesto_apertura_expediente IS NOT NULL) THEN t1.numero_expediente
            ELSE ''::character varying
        END AS numero_expediente,
    icv.liquidacion,
    icv.impuesto_momento,
    icv.sancion_momento,
    icv.interes_momento,
    icv.impuesto_pagado,
    icv.sancion_pagado,
    icv.interes_pagado,
    t.nit,
    t.identificacion,
    t.nombre,
    t.apellido,
    t.razon_social,
        CASE
            WHEN (t2.acuerdo_pago IS NOT NULL) THEN (0)::numeric
            ELSE icv.valor_decreto_678
        END AS valor_decreto_678,
        CASE
            WHEN (t2.acuerdo_pago IS NOT NULL) THEN (0)::numeric
            ELSE icv.interes_decreto_678
        END AS interes_decreto_678,
        CASE
            WHEN (t2.acuerdo_pago IS NOT NULL) THEN (0)::numeric
            ELSE icv.sancion_decreto_678
        END AS sancion_decreto_678,
    icv.empresa,
    icv.tipo,
    icv.meses
   FROM (((((((((public.impuesto_cartera_vehiculo_temporal icv
     JOIN public.tercero_vehiculo tv ON (((tv.vehiculo = icv.vehiculo) AND (tv.tipo_vinculacion_vehiculo = 1))))
     JOIN public.tercero t ON ((t.tercero = tv.tercero)))
     JOIN public.rl_vehiculo_campos vrl ON (((vrl.vehiculo = icv.vehiculo) AND (vrl.campo = 715))))
     JOIN public.configuracion_vehiculo cv1 ON (((cv1.vigencia = icv.vigencia) AND (cv1.campo = 821))))
     JOIN public.configuracion_vehiculo cv2 ON (((cv2.vigencia = icv.vigencia) AND (cv2.campo = 769))))
     JOIN public.clasificacion_cartera cc ON ((cc.clasificacion_cartera = icv.clasificacion_cartera)))
     JOIN public.proyeccion_avaluo_vehiculo pav ON (((pav.vehiculo = icv.vehiculo) AND (pav.vigencia = icv.vigencia))))
     LEFT JOIN ( SELECT (iaerl1.valor)::integer AS vehiculo,
            iaerl2.valor AS vigencia,
            iae.impuesto_apertura_expediente,
            ilo.impuesto_liquidacion_oficial,
            t1_1.impuesto_cobro_coactivo,
            iae.numero_expediente,
            iae.vigencia AS ano,
                CASE
                    WHEN (ir1.impuesto_remision IS NULL) THEN 3
                    WHEN (ir2.impuesto_remision IS NULL) THEN 4
                    ELSE 5
                END AS impuesto_proceso,
                CASE
                    WHEN (ir1.impuesto_remision IS NULL) THEN 'FISCALIZACIÓN'::text
                    WHEN (ir2.impuesto_remision IS NULL) THEN 'LIQUIDACIÓN OFICIAL'::text
                    ELSE 'COBRO COACTIVO'::text
                END AS estado,
            (ie.fecha_final)::date AS fecha_final
           FROM (((((((public.impuesto_apertura_expediente iae
             JOIN public.impuesto_apertura_expediente_rl iaerl1 ON (((iaerl1.impuesto_apertura_expediente = iae.impuesto_apertura_expediente) AND (iaerl1.campo = 792))))
             JOIN public.impuesto_apertura_expediente_rl iaerl2 ON (((iaerl2.impuesto_apertura_expediente = iae.impuesto_apertura_expediente) AND (iaerl2.campo = 791))))
             LEFT JOIN public.impuesto_remision ir1 ON (((ir1.expediente = iae.impuesto_apertura_expediente) AND (ir1.proceso = 3))))
             LEFT JOIN public.impuesto_liquidacion_oficial ilo ON ((ilo.impuesto_apertura_expediente = iae.impuesto_apertura_expediente)))
             LEFT JOIN public.impuesto_ejecutoria ie ON ((ie.impuesto_liquidacion_oficial = ilo.impuesto_liquidacion_oficial)))
             LEFT JOIN public.impuesto_remision ir2 ON (((ir2.expediente = iae.impuesto_apertura_expediente) AND (ir2.proceso = 4))))
             LEFT JOIN ( SELECT icc.impuesto_cobro_coactivo,
                    iccrl.impuesto_liquidacion_oficial
                   FROM ((public.impuesto_cobro_coactivo icc
                     JOIN public.impuesto_cobro_coactivo_rl iccrl ON ((iccrl.impuesto_cobro_coactivo = icc.impuesto_cobro_coactivo)))
                     LEFT JOIN public.impuesto_acumulativo ia ON ((ia.impuesto_cobro_coactivo = icc.impuesto_cobro_coactivo)))
                  WHERE (ia.impuesto_acumulativo IS NULL)) t1_1 ON ((t1_1.impuesto_liquidacion_oficial = ilo.impuesto_liquidacion_oficial)))
          WHERE (iae.estado_proceso = 'a'::bpchar)) t1 ON (((t1.vehiculo = icv.vehiculo) AND ((t1.vigencia)::bpchar = icv.vigencia))))
     LEFT JOIN ( SELECT (apc1.valor)::integer AS vehiculo,
            apv.vigencia,
            (apv.avaluo)::numeric AS valor_avaluo,
            (apv.impuesto)::numeric AS valor_impuesto,
            (apv.interes)::numeric AS valor_interes,
            (apv.sancion)::numeric AS valor_sancion,
            (apv.descuento)::numeric AS valor_pronto_pago,
            (apv.traslado)::numeric AS valor_matricula_traslado,
            (apv.saldos_favor)::numeric AS valor_saldo_favor,
            (apv.total)::numeric AS valor_total,
            ap.acuerdo_pago,
            ap.impuesto_proceso,
            ipr.nombre AS estado_proceso
           FROM ((((public.acuerdo_pago_vigencia apv
             JOIN public.acuerdo_pago_campos apc1 ON (((apc1.acuerdo_pago = apv.acuerdo_pago) AND (apc1.campo = 852))))
             JOIN public.acuerdo_pago_campos apc2 ON (((apc2.acuerdo_pago = apv.acuerdo_pago) AND (apc2.campo = 889) AND ((apc2.valor)::text = 'a'::text))))
             JOIN public.acuerdo_pago ap ON ((ap.acuerdo_pago = apv.acuerdo_pago)))
             JOIN public.impuesto_proceso ipr ON ((ipr.impuesto_proceso = ap.impuesto_proceso)))) t2 ON (((t2.vehiculo = icv.vehiculo) AND ((t2.vigencia)::bpchar = icv.vigencia))))
  WHERE (icv.tipo <> 'p'::bpchar);

COMMENT ON VIEW public.vista_impuesto_cartera_vehiculo_tmp IS 'cartera vehículo de títulos judiciales';
--FIN CREAR VISTA

--crear tabla documentos_firmados_cobro_liquidacion
CREATE TABLE public.documentos_firmados_cobro_liquidacion (
    documentos_firmados_cobro_liquidacion integer NOT NULL,
    impuesto_cobro_coactivo integer NOT NULL,
    liquidacion_credito_coactivo integer NOT NULL,
    fecha_generacion date,
    tercero_generacion integer,
    documento character varying,
    descripcion character varying
);

COMMENT ON TABLE public.documentos_firmados_cobro_liquidacion IS 'similar a documentos_firmados_cobro. Guarda información sobre los documentos firmados para liquidaciones de crédito coactivo';

CREATE SEQUENCE public.documentos_firmados_cobro_liq_seq
    AS integer
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;

ALTER SEQUENCE public.documentos_firmados_cobro_liq_seq OWNED BY public.documentos_firmados_cobro_liquidacion.documentos_firmados_cobro_liquidacion;

ALTER TABLE ONLY public.documentos_firmados_cobro_liquidacion ALTER COLUMN documentos_firmados_cobro_liquidacion SET DEFAULT nextval('public.documentos_firmados_cobro_liq_seq'::regclass);

ALTER TABLE ONLY public.documentos_firmados_cobro_liquidacion
    ADD CONSTRAINT documentos_firmados_cobro_liquidacion_pkey PRIMARY KEY (documentos_firmados_cobro_liquidacion);

ALTER TABLE ONLY public.documentos_firmados_cobro_liquidacion
    ADD CONSTRAINT documentos_firmados_cobro_liq_liquidacion_credito_coactivo_fkey FOREIGN KEY (liquidacion_credito_coactivo) REFERENCES public.liquidacion_credito_coactivo(liquidacion_credito_coactivo) ON UPDATE CASCADE ON DELETE RESTRICT;

ALTER TABLE ONLY public.documentos_firmados_cobro_liquidacion
    ADD CONSTRAINT documentos_firmados_cobro_liquidac_impuesto_cobro_coactivo_fkey FOREIGN KEY (impuesto_cobro_coactivo) REFERENCES public.impuesto_cobro_coactivo(impuesto_cobro_coactivo) ON UPDATE CASCADE ON DELETE RESTRICT;
--fin crear tabla documentos_firmados_cobro_liquidacion

--crear tabla documentos_firmados_cobro_liquidacion
CREATE TABLE public.impuesto_administrativo_web_lco (
    impuesto_administrativo_web_lco integer NOT NULL,
    impuesto_cobro_coactivo integer NOT NULL,
    tercero_generacion integer,
    fecha_generacion date,
    fecha_fijado date,
    fecha_desfijado date,
    estado character(1),
    liquidacion_credito_coactivo integer
);

CREATE SEQUENCE public.impuesto_administrativo_web_lco_seq
    AS integer
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;

ALTER SEQUENCE public.impuesto_administrativo_web_lco_seq OWNED BY public.impuesto_administrativo_web_lco.impuesto_administrativo_web_lco;

ALTER TABLE ONLY public.impuesto_administrativo_web_lco ALTER COLUMN impuesto_administrativo_web_lco SET DEFAULT nextval('public.impuesto_administrativo_web_lco_seq'::regclass);

ALTER TABLE ONLY public.impuesto_administrativo_web_lco
    ADD CONSTRAINT impuesto_administrativo_web_lco_pkey PRIMARY KEY (impuesto_administrativo_web_lco);

ALTER TABLE ONLY public.impuesto_administrativo_web_lco
    ADD CONSTRAINT impuesto_administrativo_web_l_liquidacion_credito_coactivo_fkey FOREIGN KEY (liquidacion_credito_coactivo) REFERENCES public.liquidacion_credito_coactivo(liquidacion_credito_coactivo) ON UPDATE CASCADE ON DELETE RESTRICT;

ALTER TABLE ONLY public.impuesto_administrativo_web_lco
    ADD CONSTRAINT impuesto_administrativo_web_lco_impuesto_cobro_coactivo_fkey FOREIGN KEY (impuesto_cobro_coactivo) REFERENCES public.impuesto_cobro_coactivo(impuesto_cobro_coactivo) ON UPDATE CASCADE ON DELETE RESTRICT;
--fin crear tabla documentos_firmados_cobro_liquidacion


--**** **** **** **** CUARTA PARTE **** **** **** ****

--CREAR TABLA rl_titulo_judicial_fraccionamiento_1

CREATE TABLE public.rl_titulo_judicial_fraccionamiento_1 (
    rl_titulo_judicial_fraccionamiento_1 integer NOT NULL,
    titulo_judicial integer NOT NULL,
    titulo_judicial_fraccionamiento integer NOT NULL,
    created_at timestamp without time zone DEFAULT now() NOT NULL,
    saldo_favor double precision
);

COMMENT ON TABLE public.rl_titulo_judicial_fraccionamiento_1 IS 'contiene la relación de titulos judiciales y fraccionamientos';

CREATE SEQUENCE public.rl_titulo_judicial_fraccionamiento_1_seq
    AS integer
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;

ALTER SEQUENCE public.rl_titulo_judicial_fraccionamiento_1_seq OWNED BY public.rl_titulo_judicial_fraccionamiento_1.rl_titulo_judicial_fraccionamiento_1;
ALTER TABLE ONLY public.rl_titulo_judicial_fraccionamiento_1 ALTER COLUMN rl_titulo_judicial_fraccionamiento_1 SET DEFAULT nextval('public.rl_titulo_judicial_fraccionamiento_1_seq'::regclass);


ALTER TABLE ONLY public.rl_titulo_judicial_fraccionamiento_1
    ADD CONSTRAINT rl_titulo_judicial_fraccionamiento_1_pkey PRIMARY KEY (rl_titulo_judicial_fraccionamiento_1);

ALTER TABLE ONLY public.rl_titulo_judicial_fraccionamiento_1
    ADD CONSTRAINT rl_titulo_judicial_fracciona_titulo_judicial_fraccionamie_fkey1 FOREIGN KEY (titulo_judicial_fraccionamiento) REFERENCES public.titulo_judicial_fraccionamiento(titulo_judicial_fraccionamiento) ON UPDATE CASCADE ON DELETE RESTRICT;

ALTER TABLE ONLY public.rl_titulo_judicial_fraccionamiento_1
    ADD CONSTRAINT rl_titulo_judicial_fraccionamiento_1_titulo_judicial_fkey FOREIGN KEY (titulo_judicial) REFERENCES public.titulo_judicial(titulo_judicial) ON UPDATE CASCADE ON DELETE RESTRICT;
--FIN CREAR TABLA rl_titulo_judicial_fraccionamiento_1

--ajustar clave foránea
ALTER TABLE titulo_judicial_fraccionamiento DROP COLUMN titulo_judicial;

--agregar columna
ALTER TABLE titulo_judicial_fraccionamiento ADD COLUMN tercero integer;
COMMENT ON COLUMN titulo_judicial_fraccionamiento.tercero IS 'tercero de titulo_judicial. Se deja aquí también para evitar consultas inecesarias';

ALTER TABLE titulo_judicial_fraccionamiento ADD COLUMN empresa integer;


--Agregar retorna tercero
ALTER TABLE titulo_judicial_fraccionamiento ADD COLUMN retorna_tercero char;
COMMENT ON COLUMN titulo_judicial_fraccionamiento.retorna_tercero IS 's:sí, n:no. se selecciona desde el formulario para saber si el saldo a favor debe devolverse al tercero';

--Agregar plantilla de fraccionamiento parcial
INSERT INTO plantilla (plantilla, nombre, descripcion, documento, modulo, tercero)
VALUES (918, 'AUTO POR EL CUAL SE PUBLICA UN ACTO ADMINISTRATIVO EN LA PÁGINA WEB - Cobro Coactivo', 'Auto Administrativo Página Web Impuesto de Vehículos (Cobro Coactivo)', 'impuesto_auto_web_liq_4.docx', 3, 366);

INSERT INTO plantilla (plantilla, nombre, descripcion, documento, modulo, tercero)
VALUES (919, 'CONSTANCIA DE PUBLICACIÓN - Cobro Coactivo', 'Constancia de Publicación para Auto Administrativo Página Web (Cobro Coactivo)', 'impuesto_constancia_publicacion_liq_1.docx', 3, 366);


--**** **** **** **** QUINTA PARTE **** **** **** ****
INSERT INTO plantilla (plantilla, nombre, descripcion, documento, modulo, tercero)
VALUES (920, 'MEMORANDO DEVOLUCIÓN TÍTULO DEPÓSITO TERCERO', 'Devolución de saldo al tercero de un título de depósito', 'titulo_deposito_devolucion.docx', 3, 366);

UPDATE titulo_judicial_fraccionamiento SET retorna_tercero = 'n' WHERE retorna_tercero IS NULL;
ALTER TABLE titulo_judicial_fraccionamiento ALTER COLUMN retorna_tercero SET DEFAULT 'n';
ALTER TABLE titulo_judicial_fraccionamiento ALTER COLUMN retorna_tercero SET NOT NULL;

ALTER TABLE titulo_judicial ADD COLUMN liquidacion_credito_coactivo integer;
COMMENT ON COLUMN titulo_judicial.liquidacion_credito_coactivo IS 'Liquidación de crédito para cuando se hace devolución del título. sólo en esos casos esta columna lleva registro';

ALTER TABLE titulo_judicial ADD COLUMN memorando character varying;
COMMENT ON COLUMN titulo_judicial.memorando IS 'Memorando para cuando se devuelve el saldo del título. sólo en esos casos esta columna lleva registro';

ALTER TABLE titulo_judicial ADD COLUMN telefono character varying;
COMMENT ON COLUMN titulo_judicial.telefono IS 'Número telefónico';

ALTER TABLE ONLY public.titulo_judicial
ADD CONSTRAINT liquidacion_credito_coactivo_fkey FOREIGN KEY (liquidacion_credito_coactivo) REFERENCES public.liquidacion_credito_coactivo(liquidacion_credito_coactivo) ON UPDATE CASCADE ON DELETE RESTRICT;

--**** **** **** **** SEXTA PARTE **** **** **** ****

ALTER TABLE titulo_judicial ADD COLUMN observacion character varying;
COMMENT ON COLUMN titulo_judicial.observacion IS 'Observaciones escritas por el usuario desde formulario';

ALTER TABLE titulo_judicial ADD COLUMN anexo character varying;
COMMENT ON COLUMN titulo_judicial.anexo IS 'Documento cargado desde el formulario por el usaurio';

--**** **** **** **** SÉPTIMA PARTE **** **** **** ****
UPDATE menu SET orden = 3, menu = 266.3 WHERE menu = 266.2;
UPDATE menu SET menu = 266.2, orden = 2, menu_id = 266 WHERE menu = 10.4914;
UPDATE menu SET titulo = 'Enlazar Título', titulo_publico = 'Enlazar Título' WHERE menu = 266.2;

UPDATE plantilla SET nombre = 'AUTO LIQUIDACIÓN CRÉDITO - NOTIFICACIÓN TRASLADO' WHERE plantilla = 916;

ALTER TABLE impuesto_administrativo_web_lco ADD COLUMN numero_auto character varying;
COMMENT ON COLUMN impuesto_administrativo_web_lco.numero_auto IS 'Número del auto escrito por el usuario desde auto web';

ALTER TABLE rl_liquidacion_credito_coactivo ADD COLUMN origen integer DEFAULT 0 NOT NULL;
COMMENT ON COLUMN rl_liquidacion_credito_coactivo.origen IS '0=insert desde liquidación en el sistema, 1=Agregado por el usuario desde fraccionamiento';


-- DELETE FROM rl_titulo_judicial_fraccionamiento;
-- DELETE FROM titulo_judicial_fraccionamiento;
-- DELETE FROM rl_liquidacion_credito_coactivo;
-- DELETE FROM impuesto_ficha_devolucion_lco;
-- DELETE FROM liquidacion_credito_coactivo;
-- DELETE FROM impuesto_proceso_cobro_coactivo WHERE plantilla IN (913,914,915,916);
-- DELETE FROM titulo_judicial;


-- SELECT icc.numero_expediente, t.nit AS nit_tercero, vic.valor_impuesto, vic.valor_interes, vic.valor_sancion, vic.valor_matricula_traslado, vic.valor_total
-- FROM vista_impuesto_cartera_vehiculo vic
-- INNER JOIN impuesto_cobro_coactivo icc ON icc.impuesto_cobro_coactivo = vic.impuesto_cobro_coactivo
-- INNER JOIN tercero t ON t.tercero = vic.tercero
-- WHERE vic.valor_matricula_traslado != 0
-- ORDER BY icc.numero_expediente

-- DELETE FROM rl_titulo_judicial_fraccionamiento_1 WHERE titulo_judicial_fraccionamiento = 34;
-- DELETE FROM rl_titulo_judicial_fraccionamiento WHERE titulo_judicial_fraccionamiento = 34;
-- DELETE FROM titulo_judicial_fraccionamiento WHERE titulo_judicial_fraccionamiento = 34;