bertoldi:franquicias: fvgbelgrano.sql

File fvgbelgrano.sql, 7.2 KB (added by roberto, 7 months ago)
Line 
1--select * from replicacion.rep_instrucciones where idu_db=92 (es para ver si un determinado idu_db esta siendo usado)
2--show statement_timeout        (es para ver el estado del statement_timeout)
3--set statement_timeout to 0    (es para definir en 0 el statement_timeout)
4
5--ESTRUCTURA
6ALTER TABLE remitos_detalles DROP CONSTRAINT chk_existencia_especificar_lote;
7ALTER TABLE remitos_detalles DROP CONSTRAINT chk_existencia_especificar_lote_unitario;
8ALTER TABLE remitos_detalles DROP CONSTRAINT chk_lote_articulo_correcto;
9--ALTER TABLE valores DROP CONSTRAINT chk_numero_en_chequera;
10
11--ALTER TABLE public.articulos DROP CONSTRAINT chk_art_tiene_codbarras_adic;
12--ALTER TABLE public.articulos DROP CONSTRAINT chk_articulos_cod_barra_no_existe_en_codbarras_adic;
13--ALTER TABLE public.articulos_codbarras_adic DROP CONSTRAINT chk_art_tiene_codbarras;
14--ALTER TABLE public.articulos_codbarras_adic DROP CONSTRAINT chk_articulos_cod_barra_adic_no_existe_en_articulos;
15
16ALTER TABLE public.cd_rd DROP CONSTRAINT chk_relacionar_mismo_art;
17ALTER TABLE public.comp_cuotas DROP CONSTRAINT chk_pago_menor_total;
18ALTER TABLE public.comp_pagos DROP CONSTRAINT chk_pago_menor_total;
19ALTER TABLE public.ordenes_compra DROP CONSTRAINT chk_sujeto_relacionado_en_rem;
20ALTER TABLE public.ordenes_compra_det DROP CONSTRAINT chk_art_relacionado_en_rem;
21ALTER TABLE public.ordenes_compra_det DROP CONSTRAINT chk_cant_relacionada_coherente_ocd;
22ALTER TABLE public.remitos DROP CONSTRAINT chk_sujeto_relacionado_en_oc;
23ALTER TABLE public.remitos_detalles DROP CONSTRAINT chk_art_relacionado_en_oc;
24ALTER TABLE public.remitos_detalles DROP CONSTRAINT chk_cant_no_puede_ser_cero;
25ALTER TABLE public.remitos_detalles DROP CONSTRAINT chk_no_coincide_descr;
26ALTER TABLE public.remitos_recepciones DROP CONSTRAINT area_o_salida;
27ALTER TABLE public.remitos_recepciones DROP CONSTRAINT "chk_RECEPCION_CAMBIAR_FECHA";
28
29--WMS
30ALTER TABLE wms.pallets_remitos DROP CONSTRAINT fk_pallets;
31ALTER TABLE wms.pallets_remitos DROP CONSTRAINT fk_remitos_detalles;
32ALTER TABLE wms.pallets_remitos DROP CONSTRAINT chk_cant_pallet_menor_cant_remito;
33
34--DATOS
35ALTER TABLE remitos_detalles ADD CONSTRAINT chk_existencia_especificar_lote CHECK (NOT (id_lote IS NULL AND existencia_con_lote(id_articulo))) not valid;
36ALTER TABLE remitos_detalles ADD CONSTRAINT chk_existencia_especificar_lote_unitario CHECK (NOT (COALESCE(cant, 0::double precision) <> 1::double precision AND existencia_con_lote_unitario(id_articulo))) not valid;;
37ALTER TABLE remitos_detalles ADD CONSTRAINT chk_lote_articulo_correcto CHECK (id_lote IS NULL OR lote_articulo_correcto(id_lote, id_articulo)) not valid;
38
39--ALTER TABLE public.articulos ADD CONSTRAINT chk_art_tiene_codbarras_adic CHECK (NOT (cod_barras IS NULL AND art_tiene_codbarras_adic(id_articulo))) not valid;
40--ALTER TABLE public.articulos ADD CONSTRAINT chk_articulos_cod_barra_no_existe_en_codbarras_adic CHECK (art_codbarras_no_existe_en_articulos_codbarras_adic(cod_barras)) not valid;
41--ALTER TABLE public.articulos_codbarras_adic ADD CONSTRAINT chk_art_tiene_codbarras CHECK (art_tiene_codbarras(id_articulo)) not valid;
42--ALTER TABLE public.articulos_codbarras_adic ADD CONSTRAINT chk_articulos_cod_barra_adic_no_existe_en_articulos CHECK (art_codbarras_no_existe_en_articulos(cod_barras)) not valid;
43
44ALTER TABLE public.cd_rd ADD CONSTRAINT chk_relacionar_mismo_art CHECK (art_en_remito(id_rem, id_rem_det) = art_en_comp(id_comp, id_comp_det)) not valid;
45ALTER TABLE public.comp_cuotas ADD CONSTRAINT chk_pago_menor_total CHECK (pago_menor_total(pago, total_cuota * comp_mon_cotiz_base(id_comp))) not valid;
46ALTER TABLE public.comp_pagos ADD CONSTRAINT chk_pago_menor_total CHECK (pago_menor_total(pago, monto * comp_mon_cotiz_base(id_comp))) not valid;
47ALTER TABLE public.ordenes_compra ADD CONSTRAINT chk_sujeto_relacionado_en_rem CHECK (COALESCE(prov_oc_en_rd(id_oc), 0) = 0 OR COALESCE(prov_oc_en_rd(id_oc), 0) = id_sujeto) not valid;
48ALTER TABLE public.ordenes_compra_det ADD CONSTRAINT chk_art_relacionado_en_rem CHECK (COALESCE(art_oc_en_rd(id_oc, id_det), 0) = 0 OR COALESCE(art_oc_en_rd(id_oc, id_det), 0) = id_articulo) not valid;
49ALTER TABLE public.remitos ADD CONSTRAINT chk_sujeto_relacionado_en_oc CHECK (COALESCE(prov_rd_en_oc(id_remito), 0) = 0 OR COALESCE(prov_rd_en_oc(id_remito), 0) = id_sujeto) not valid;
50ALTER TABLE public.remitos_detalles ADD CONSTRAINT chk_art_relacionado_en_oc CHECK (COALESCE(art_rd_en_oc(id_remito, id_det), 0) = 0 OR COALESCE(art_rd_en_oc(id_remito, id_det), 0) = id_articulo) not valid;
51ALTER TABLE public.remitos_detalles ADD CONSTRAINT chk_cant_no_puede_ser_cero CHECK (COALESCE(cant, 0::double precision) <> 0::double precision) not valid;
52COMMENT ON CONSTRAINT chk_cant_no_puede_ser_cero ON public.remitos_detalles IS 'Unicamente para esta instalacion en particular. Es que actualmente no hay nada que impida que haya una cant. cero en una linea de remito. De hecho se reserva esta posibilidad por si alguna vez se gestionan recetas por ejemplo y en una linea de remitos_detalles debe registrarse un art. padre con cant. cero';
53ALTER TABLE public.remitos_detalles ADD CONSTRAINT chk_no_coincide_descr CHECK (id_lote IS NULL OR coincidedescr(id_lote, lote)) not valid;
54ALTER TABLE public.remitos_recepciones ADD CONSTRAINT area_o_salida CHECK ((id_area_destino IS NULL OR id_salida IS NULL) AND NOT (id_area_destino IS NULL AND id_salida IS NULL)) not valid;
55ALTER TABLE public.remitos_recepciones ADD CONSTRAINT "chk_RECEPCION_CAMBIAR_FECHA" CHECK (rem_rec_cant(id_remito, id_recepcion, fecha) = 0) not valid;
56--ALTER TABLE valores ADD CONSTRAINT chk_numero_en_chequera CHECK (valor_cheque_en_chequera(id_cuenta, nro, id_tipo_pago)) not valid;
57
58
59--select * from ordenes_compra_det where not (cant_ocd_rd_por_oc(id_oc, id_det) <= cant_ocd(id_oc, id_det));
60--delete from ordenes_compra_det where not (cant_ocd_rd_por_oc(id_oc, id_det) <= cant_ocd(id_oc, id_det));
61ALTER TABLE public.ordenes_compra_det ADD CONSTRAINT chk_cant_relacionada_coherente_ocd CHECK (cant_ocd_rd_por_oc(id_oc, id_det) <= cant_ocd(id_oc, id_det)) not valid;
62
63--WMS
64ALTER TABLE wms.pallets_remitos ADD CONSTRAINT fk_pallets FOREIGN KEY (id_pallet) REFERENCES wms.pallets (id_pallet) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE CASCADE not valid;
65ALTER TABLE wms.pallets_remitos ADD CONSTRAINT fk_remitos_detalles FOREIGN KEY (id_remito, id_remito_det) REFERENCES public.remitos_detalles (id_remito, id_det) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION not valid;
66ALTER TABLE wms.pallets_remitos ADD CONSTRAINT chk_cant_pallet_menor_cant_remito CHECK (wms.cant_pallet_menor_cant_remito(id_remito, id_remito_det) OR id_pallet <= 15291) not valid; -- ticket:3174. El criterio de id_pallet > 15291 es para evitar, en instalacion de agostini, el check de pallets anteriores ya que no respetan esta restriccion: en la version general de la base de datos no debe estar este criterio de pallet
67
68vacuum analyze;
69vacuum full verbose;
70
71ALTER DATABASE fvgbelgrano SET statement_timeout=480000;
72ALTER DATABASE fvgbelgrano SET enable_seqscan='off';
73
74
75select * from areas where id_area=59;
76select * from areas where id_area=107;
77
78DROP INDEX ix_comp_sufijo;
79CREATE INDEX ix_comp_sufijo
80  ON comp
81  USING btree
82  (id_comp)
83  WHERE (id_comp % 100) = 30;
84
85DROP INDEX ix_recibo_sufijo;
86CREATE INDEX ix_recibo_sufijo
87  ON recibos
88  USING btree
89  (id_recibo)
90  WHERE (id_recibo % 100) = 30;