git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES/tags/1.2.0@6 c93665c3-c93d-084d-9b98-7d5f4a9c3376
921 lines
25 KiB
SQL
921 lines
25 KiB
SQL
CREATE DOMAIN TIPO_ID AS INTEGER;
|
|
CREATE DOMAIN TIPO_PERFIL AS VARCHAR(15);
|
|
CREATE DOMAIN TIPO_USUARIO AS VARCHAR(20);
|
|
CREATE DOMAIN TIPO_PASSWORD AS VARCHAR(10);
|
|
CREATE DOMAIN TIPO_NOTAS AS BLOB SUB_TYPE TEXT;
|
|
CREATE DOMAIN TIPO_BINARIO AS BLOB SUB_TYPE 0 SEGMENT SIZE 80;
|
|
CREATE DOMAIN TIPO_IMPORTE AS NUMERIC(11, 2);
|
|
CREATE DOMAIN TIPO_PORCENTAJE AS FLOAT;
|
|
CREATE DOMAIN TIPO_CONCEPTO AS VARCHAR(2000);
|
|
CREATE DOMAIN TIPO_BOOLEANO AS SMALLINT;
|
|
|
|
CREATE TABLE CONFIGURACION (
|
|
CODIGO VARCHAR(50) NOT NULL,
|
|
VALOR VARCHAR(255) NOT NULL,
|
|
ID_EMPRESA TIPO_ID
|
|
);
|
|
|
|
CREATE TABLE REFERENCIAS (
|
|
CODIGO VARCHAR(50) NOT NULL,
|
|
VALOR VARCHAR(255) NOT NULL,
|
|
ID_EMPRESA TIPO_ID
|
|
);
|
|
|
|
|
|
CREATE TABLE EMPRESAS (
|
|
ID TIPO_ID NOT NULL,
|
|
NIF_CIF VARCHAR(15),
|
|
NOMBRE VARCHAR(255),
|
|
RAZON_SOCIAL VARCHAR(255),
|
|
CALLE VARCHAR(255),
|
|
POBLACION VARCHAR(255),
|
|
PROVINCIA VARCHAR(255),
|
|
CODIGO_POSTAL VARCHAR(10),
|
|
TELEFONO_1 VARCHAR(25),
|
|
TELEFONO_2 VARCHAR(25),
|
|
MOVIL_1 VARCHAR(25),
|
|
MOVIL_2 VARCHAR(25),
|
|
FAX VARCHAR(25),
|
|
EMAIL_1 VARCHAR(255),
|
|
EMAIL_2 VARCHAR(255),
|
|
PAGINA_WEB VARCHAR(255),
|
|
NOTAS TIPO_NOTAS,
|
|
FECHA_ALTA TIMESTAMP,
|
|
FECHA_MODIFICACION TIMESTAMP,
|
|
USUARIO TIPO_USUARIO,
|
|
LOGOTIPO TIPO_BINARIO,
|
|
REGISTRO_MERCANTIL VARCHAR(255),
|
|
IVA TIPO_PORCENTAJE
|
|
);
|
|
|
|
ALTER TABLE EMPRESAS ADD CONSTRAINT
|
|
PK_EMPRESAS
|
|
PRIMARY KEY (ID);
|
|
|
|
CREATE GENERATOR GEN_EMPRESAS_ID;
|
|
SET GENERATOR GEN_EMPRESAS_ID TO 1;
|
|
|
|
|
|
CREATE TABLE PERFILES (
|
|
ID TIPO_ID NOT NULL,
|
|
PERFIL TIPO_PERFIL NOT NULL
|
|
);
|
|
|
|
ALTER TABLE PERFILES
|
|
ADD CONSTRAINT PK_PERFILES PRIMARY KEY (ID);
|
|
|
|
CREATE GENERATOR GEN_PERFILES_ID;
|
|
SET GENERATOR GEN_PERFILES_ID TO 1;
|
|
|
|
|
|
CREATE TABLE USUARIOS (
|
|
ID TIPO_ID NOT NULL,
|
|
USUARIO TIPO_USUARIO NOT NULL,
|
|
PASS TIPO_PASSWORD,
|
|
ACTIVO TIPO_BOOLEANO,
|
|
LAST_LOGIN TIMESTAMP
|
|
);
|
|
|
|
ALTER TABLE USUARIOS
|
|
ADD CONSTRAINT PK_USUARIOS PRIMARY KEY (ID);
|
|
|
|
CREATE GENERATOR GEN_USUARIOS_ID;
|
|
SET GENERATOR GEN_USUARIOS_ID TO 1;
|
|
|
|
|
|
CREATE TABLE PERFILES_USUARIOS (
|
|
ID_PERFIL TIPO_ID NOT NULL,
|
|
ID_USUARIO TIPO_ID NOT NULL
|
|
);
|
|
|
|
ALTER TABLE PERFILES_USUARIOS
|
|
ADD CONSTRAINT PK_PERFILES_USUARIOS PRIMARY KEY (ID_PERFIL, ID_USUARIO);
|
|
|
|
|
|
CREATE TABLE CATEGORIAS (
|
|
ID TIPO_ID NOT NULL,
|
|
CATEGORIA VARCHAR(255) NOT NULL
|
|
);
|
|
|
|
ALTER TABLE CATEGORIAS
|
|
ADD CONSTRAINT PK_CATEGORIAS PRIMARY KEY (ID);
|
|
|
|
CREATE GENERATOR GEN_CATEGORIAS_ID;
|
|
SET GENERATOR GEN_CATEGORIAS_ID TO 1;
|
|
|
|
|
|
CREATE TABLE CONTACTOS (
|
|
ID TIPO_ID NOT NULL,
|
|
NIF_CIF VARCHAR(15),
|
|
NOMBRE VARCHAR(255) NOT NULL,
|
|
CALLE VARCHAR(255),
|
|
POBLACION VARCHAR(255),
|
|
PROVINCIA VARCHAR(255),
|
|
CODIGO_POSTAL VARCHAR(10),
|
|
TELEFONO_1 VARCHAR(25),
|
|
TELEFONO_2 VARCHAR(25),
|
|
MOVIL_1 VARCHAR(25),
|
|
MOVIL_2 VARCHAR(25),
|
|
FAX VARCHAR(25),
|
|
EMAIL_1 VARCHAR(255),
|
|
EMAIL_2 VARCHAR(255),
|
|
PAGINA_WEB VARCHAR(255),
|
|
NOTAS TIPO_NOTAS,
|
|
FECHA_ALTA TIMESTAMP,
|
|
FECHA_MODIFICACION TIMESTAMP,
|
|
USUARIO TIPO_USUARIO
|
|
);
|
|
|
|
ALTER TABLE CONTACTOS
|
|
ADD CONSTRAINT PK_CONTACTOS PRIMARY KEY (ID);
|
|
|
|
CREATE GENERATOR GEN_CONTACTOS_ID;
|
|
SET GENERATOR GEN_CONTACTOS_ID TO 1;
|
|
|
|
CREATE TRIGGER TRI_INSERT_CONTACTOS FOR CONTACTOS
|
|
ACTIVE BEFORE INSERT POSITION 0
|
|
AS
|
|
begin
|
|
NEW.FECHA_ALTA = current_timestamp;
|
|
NEW.FECHA_MODIFICACION = Null;
|
|
end;
|
|
|
|
CREATE TRIGGER TRI_UPDATE_CONTACTOS FOR CONTACTOS
|
|
ACTIVE BEFORE UPDATE POSITION 0
|
|
AS
|
|
begin
|
|
NEW.FECHA_MODIFICACION = current_timestamp;
|
|
end;
|
|
|
|
CREATE TABLE CONTACTOS_CATEGORIAS (
|
|
ID_CONTACTO TIPO_ID NOT NULL,
|
|
ID_CATEGORIA TIPO_ID NOT NULL
|
|
);
|
|
|
|
ALTER TABLE CONTACTOS_CATEGORIAS
|
|
ADD CONSTRAINT PK_CONTACTOS_CATEGORIAS PRIMARY KEY (ID_CONTACTO, ID_CATEGORIA);
|
|
|
|
CREATE TABLE CONTACTOS_DATOS_BANCO (
|
|
ID TIPO_ID NOT NULL,
|
|
ID_CONTACTO TIPO_ID NOT NULL,
|
|
TITULAR VARCHAR(255),
|
|
ENTIDAD VARCHAR(15),
|
|
SUCURSAL VARCHAR(15),
|
|
DC VARCHAR(15),
|
|
CUENTA VARCHAR(15)
|
|
);
|
|
|
|
ALTER TABLE CONTACTOS_DATOS_BANCO
|
|
ADD CONSTRAINT PK_CONTACTOS_DATOS_BANCO PRIMARY KEY (ID);
|
|
|
|
CREATE INDEX IDX_CONTACTOS_DATOS_BANCO
|
|
ON CONTACTOS_DATOS_BANCO (ID_CONTACTO);
|
|
|
|
CREATE GENERATOR GEN_CONTACTOS_DATOS_BANCO_ID;
|
|
SET GENERATOR GEN_CONTACTOS_DATOS_BANCO_ID TO 1;
|
|
|
|
|
|
CREATE TABLE CONTACTOS_DIRECCIONES (
|
|
ID TIPO_ID NOT NULL,
|
|
ID_CONTACTO TIPO_ID NOT NULL,
|
|
CALLE VARCHAR(255),
|
|
POBLACION VARCHAR(255),
|
|
PROVINCIA VARCHAR(255),
|
|
CODIGO_POSTAL VARCHAR(10),
|
|
PERSONA_CONTACTO VARCHAR(255)
|
|
);
|
|
|
|
ALTER TABLE CONTACTOS_DIRECCIONES
|
|
ADD CONSTRAINT PK_CONTACTOS_DIR PRIMARY KEY (ID);
|
|
|
|
CREATE GENERATOR GEN_CONTACTOS_DIR_ID;
|
|
SET GENERATOR GEN_CONTACTOS_DIR_ID TO 1;
|
|
|
|
|
|
CREATE TABLE CLIENTES_DATOS (
|
|
ID_CLIENTE TIPO_ID NOT NULL,
|
|
ID_AGENTE TIPO_ID,
|
|
GRUPO_CLIENTE VARCHAR(255),
|
|
PORTE TIPO_IMPORTE
|
|
);
|
|
|
|
ALTER TABLE CLIENTES_DATOS
|
|
ADD CONSTRAINT PK_CLIENTES_DATOS PRIMARY KEY (ID_CLIENTE);
|
|
|
|
CREATE TABLE CLIENTES_GRUPOS (
|
|
DESCRIPCION VARCHAR(255)
|
|
);
|
|
|
|
CREATE TABLE PROVEEDORES_DATOS (
|
|
ID_PROVEEDOR TIPO_ID NOT NULL,
|
|
DESCUENTO TIPO_PORCENTAJE,
|
|
REGIMEN_IVA TIPO_PORCENTAJE
|
|
);
|
|
|
|
ALTER TABLE PROVEEDORES_DATOS
|
|
ADD CONSTRAINT PK_PROVEEDORES_DATOS PRIMARY KEY (ID_PROVEEDOR);
|
|
|
|
CREATE TABLE EMPRESAS_CONTACTOS (
|
|
ID_EMPRESA TIPO_ID NOT NULL,
|
|
ID_CONTACTO TIPO_ID NOT NULL
|
|
);
|
|
|
|
ALTER TABLE EMPRESAS_CONTACTOS ADD CONSTRAINT
|
|
PK_EMPRESAS_CONTACTOS
|
|
PRIMARY KEY (ID_EMPRESA, ID_CONTACTO);
|
|
|
|
|
|
CREATE TABLE EMPRESAS_USUARIOS (
|
|
ID_EMPRESA TIPO_ID NOT NULL,
|
|
ID_USUARIO TIPO_ID NOT NULL
|
|
);
|
|
|
|
ALTER TABLE EMPRESAS_USUARIOS ADD CONSTRAINT
|
|
PK_EMPRESAS_USUARIOS
|
|
PRIMARY KEY (ID_EMPRESA, ID_USUARIO);
|
|
|
|
|
|
|
|
|
|
|
|
CREATE TABLE FACTURAS_CLIENTE (
|
|
ID TIPO_ID NOT NULL,
|
|
ID_EMPRESA TIPO_ID,
|
|
ID_CONTRATO TIPO_ID,
|
|
REFERENCIA VARCHAR(255),
|
|
FECHA_FACTURA DATE,
|
|
VENCIMIENTO INTEGER,
|
|
SITUACION VARCHAR(255),
|
|
FECHA_PAGADO DATE,
|
|
BASE_IMPONIBLE TIPO_IMPORTE,
|
|
DESCUENTO TIPO_PORCENTAJE,
|
|
IMPORTE_DESCUENTO TIPO_IMPORTE,
|
|
IVA TIPO_PORCENTAJE,
|
|
IMPORTE_IVA TIPO_IMPORTE,
|
|
IMPORTE_TOTAL TIPO_IMPORTE,
|
|
OBSERVACIONES TIPO_NOTAS,
|
|
FORMA_PAGO TIPO_NOTAS,
|
|
ID_CLIENTE TIPO_ID,
|
|
NIF_CIF VARCHAR(15),
|
|
NOMBRE VARCHAR(255),
|
|
CALLE VARCHAR(255),
|
|
POBLACION VARCHAR(255),
|
|
PROVINCIA VARCHAR(255),
|
|
CODIGO_POSTAL VARCHAR(10),
|
|
FECHA_ALTA TIMESTAMP,
|
|
FECHA_MODIFICACION TIMESTAMP,
|
|
USUARIO TIPO_USUARIO
|
|
);
|
|
ALTER TABLE FACTURAS_CLIENTE ADD CONSTRAINT PK_FACTURAS_CLIENTE PRIMARY KEY (ID);
|
|
|
|
ALTER TABLE FACTURAS_CLIENTE ADD CONSTRAINT FK_FACTURAS_CLIENTE_CONTACTOS FOREIGN KEY (ID_CLIENTE) REFERENCES CONTACTOS (ID) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
|
ALTER TABLE FACTURAS_CLIENTE ADD CONSTRAINT FK_FACTURAS_CLIENTE_EMPRESAS FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
|
|
|
CREATE GENERATOR GEN_FACTURAS_CLIENTE_ID;
|
|
SET GENERATOR GEN_FACTURAS_CLIENTE_ID TO 1;
|
|
|
|
CREATE TRIGGER TRI_INSERT_FACTURAS_CLIENTE FOR FACTURAS_CLIENTE
|
|
ACTIVE BEFORE INSERT POSITION 0
|
|
AS
|
|
begin
|
|
NEW.FECHA_ALTA = current_timestamp;
|
|
NEW.FECHA_MODIFICACION = Null;
|
|
end;
|
|
|
|
CREATE TRIGGER TRI_UPDATE_FACTURAS_CLIENTE FOR FACTURAS_CLIENTE
|
|
ACTIVE BEFORE UPDATE POSITION 0
|
|
AS
|
|
begin
|
|
NEW.FECHA_MODIFICACION = current_timestamp;
|
|
end;
|
|
|
|
|
|
CREATE TABLE FACTURAS_CLIENTE_DETALLES (
|
|
ID TIPO_ID NOT NULL,
|
|
ID_FACTURA TIPO_ID NOT NULL,
|
|
POSICION INTEGER,
|
|
TIPO_DETALLE VARCHAR(10),
|
|
CONCEPTO TIPO_CONCEPTO,
|
|
CANTIDAD INTEGER,
|
|
IMPORTE_UNIDAD TIPO_IMPORTE,
|
|
IMPORTE_TOTAL TIPO_IMPORTE,
|
|
VISIBLE TIPO_BOOLEANO,
|
|
FECHA_ALTA TIMESTAMP,
|
|
FECHA_MODIFICACION TIMESTAMP
|
|
);
|
|
ALTER TABLE FACTURAS_CLIENTE_DETALLES ADD CONSTRAINT PK_FACTURAS_CLIENTE_DETALLES PRIMARY KEY (ID);
|
|
|
|
CREATE GENERATOR GEN_FACTURA_CLIENTE_DETALLES_ID;
|
|
SET GENERATOR GEN_FACTURA_CLIENTE_DETALLES_ID TO 1;
|
|
|
|
CREATE TRIGGER TRI_INSERT_FACTURAS_CLIENTE_DET FOR FACTURAS_CLIENTE_DETALLES
|
|
ACTIVE BEFORE INSERT POSITION 0
|
|
AS
|
|
begin
|
|
NEW.FECHA_ALTA = current_timestamp;
|
|
NEW.FECHA_MODIFICACION = Null;
|
|
end;
|
|
|
|
|
|
CREATE TRIGGER TRI_UPDATE_FACTURAS_CLIENTE_DET FOR FACTURAS_CLIENTE_DETALLES
|
|
ACTIVE BEFORE UPDATE POSITION 0
|
|
AS
|
|
begin
|
|
NEW.FECHA_MODIFICACION = current_timestamp;
|
|
end;
|
|
|
|
|
|
|
|
|
|
CREATE TABLE ALMACENES (
|
|
ID TIPO_ID NOT NULL,
|
|
ID_EMPRESA TIPO_ID NOT NULL,
|
|
NOMBRE VARCHAR(255),
|
|
CALLE VARCHAR(255),
|
|
PROVINCIA VARCHAR(255),
|
|
POBLACION VARCHAR(255),
|
|
CODIGO_POSTAL VARCHAR(10),
|
|
TELEFONO VARCHAR(25),
|
|
MOVIL VARCHAR(25),
|
|
FAX VARCHAR(25),
|
|
PERSONA_CONTACTO VARCHAR(255),
|
|
OBSERVACIONES TIPO_NOTAS,
|
|
FECHA_ALTA TIMESTAMP,
|
|
FECHA_MODIFICACION TIMESTAMP,
|
|
USUARIO TIPO_USUARIO
|
|
);
|
|
|
|
ALTER TABLE ALMACENES ADD CONSTRAINT PK_ALMACENES PRIMARY KEY (ID);
|
|
|
|
ALTER TABLE ALMACENES ADD CONSTRAINT FK_ALMACENES_EMPRESAS FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
|
|
|
CREATE GENERATOR GEN_ALMACENES_ID;
|
|
SET GENERATOR GEN_ALMACENES_ID TO 1;
|
|
|
|
CREATE TRIGGER TRI_INSERT_ALMACENES FOR ALMACENES
|
|
ACTIVE BEFORE INSERT POSITION 0
|
|
AS
|
|
begin
|
|
NEW.FECHA_ALTA = current_timestamp;
|
|
NEW.FECHA_MODIFICACION = Null;
|
|
end;
|
|
|
|
|
|
CREATE TRIGGER TRI_UPDATE_ALMACENES FOR ALMACENES
|
|
ACTIVE BEFORE UPDATE POSITION 0
|
|
AS
|
|
begin
|
|
NEW.FECHA_MODIFICACION = current_timestamp;
|
|
end;
|
|
|
|
CREATE TABLE FAMILIAS (
|
|
DESCRIPCION VARCHAR(255)
|
|
);
|
|
|
|
CREATE TABLE ARTICULOS (
|
|
ID TIPO_ID NOT NULL,
|
|
ID_EMPRESA TIPO_ID,
|
|
REFERENCIA VARCHAR(255),
|
|
DESCRIPCION VARCHAR(255),
|
|
FAMILIA VARCHAR(255),
|
|
IMAGEN TIPO_BINARIO,
|
|
COMISIONABLE TIPO_BOOLEANO,
|
|
FECHA_ALTA TIMESTAMP,
|
|
FECHA_MODIFICACION TIMESTAMP,
|
|
USUARIO TIPO_USUARIO
|
|
);
|
|
|
|
ALTER TABLE ARTICULOS ADD CONSTRAINT PK_ARTICULOS PRIMARY KEY (ID);
|
|
ALTER TABLE ARTICULOS ADD CONSTRAINT FK_ARTICULOS_EMPRESA FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
|
|
|
CREATE GENERATOR GEN_ARTICULOS_ID;
|
|
SET GENERATOR GEN_ARTICULOS_ID TO 1;
|
|
|
|
CREATE TRIGGER TRI_INSERT_ARTICULOS FOR ARTICULOS
|
|
ACTIVE BEFORE INSERT POSITION 0
|
|
AS
|
|
begin
|
|
NEW.FECHA_ALTA = current_timestamp;
|
|
NEW.FECHA_MODIFICACION = Null;
|
|
end;
|
|
|
|
|
|
CREATE TRIGGER TRI_UPDATE_ARTICULOS FOR ARTICULOS
|
|
ACTIVE BEFORE UPDATE POSITION 0
|
|
AS
|
|
begin
|
|
NEW.FECHA_MODIFICACION = current_timestamp;
|
|
end;
|
|
|
|
|
|
CREATE TABLE ARTICULOS_DATOS_PROV (
|
|
ID TIPO_ID NOT NULL,
|
|
ID_ARTICULO TIPO_ID,
|
|
ID_PROVEEDOR TIPO_ID,
|
|
REFERENCIA VARCHAR(255),
|
|
PRECIO_COSTE TIPO_IMPORTE,
|
|
PRECIO_PORTE TIPO_IMPORTE,
|
|
DESCUENTO TIPO_PORCENTAJE
|
|
);
|
|
ALTER TABLE ARTICULOS_DATOS_PROV ADD CONSTRAINT PK_ARTICULOS_DATOS_PROV PRIMARY KEY (ID);
|
|
|
|
CREATE GENERATOR GEN_ARTICULOS_DATOS_PROV_ID;
|
|
SET GENERATOR GEN_ARTICULOS_DATOS_PROV_ID TO 1;
|
|
|
|
|
|
CREATE TABLE PEDIDOS_PROVEEDOR (
|
|
ID TIPO_ID NOT NULL,
|
|
ID_EMPRESA TIPO_ID,
|
|
ID_PROVEEDOR TIPO_ID,
|
|
REFERENCIA VARCHAR(255),
|
|
FECHA_PEDIDO DATE,
|
|
FECHA_CONFIRMACION DATE,
|
|
FECHA_ENTREGA DATE,
|
|
SITUACION VARCHAR(255),
|
|
ID_ALMACEN TIPO_ID,
|
|
DIRECCION_ENTREGA TIPO_NOTAS,
|
|
OBSERVACIONES TIPO_NOTAS,
|
|
IMPORTE_TOTAL TIPO_IMPORTE,
|
|
INCIDENCIAS TIPO_NOTAS,
|
|
INCIDENCIAS_ACTIVAS SMALLINT DEFAULT 0 NOT NULL,
|
|
FECHA_ALTA TIMESTAMP,
|
|
FECHA_MODIFICACION TIMESTAMP,
|
|
USUARIO TIPO_USUARIO
|
|
);
|
|
|
|
ALTER TABLE PEDIDOS_PROVEEDOR ADD CONSTRAINT PK_PEDIDOS_PROVEEDOR PRIMARY KEY (ID);
|
|
ALTER TABLE PEDIDOS_PROVEEDOR ADD CONSTRAINT FK_PEDIDOS_PROVEEDOR FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID);
|
|
ALTER TABLE PEDIDOS_PROVEEDOR ADD CONSTRAINT FK_PEDIDOS_PROVEEDOR2 FOREIGN KEY (ID_PROVEEDOR) REFERENCES CONTACTOS (ID);
|
|
|
|
CREATE TRIGGER TRI_INSERT_PEDIDOS_PROVEEDOR FOR PEDIDOS_PROVEEDOR
|
|
ACTIVE BEFORE INSERT POSITION 0
|
|
AS
|
|
begin
|
|
NEW.FECHA_ALTA = current_timestamp;
|
|
NEW.FECHA_MODIFICACION = Null;
|
|
end;
|
|
|
|
|
|
CREATE TRIGGER TRI_UPDATE_PEDIDOS_PROVEEDOR FOR PEDIDOS_PROVEEDOR
|
|
ACTIVE BEFORE UPDATE POSITION 0
|
|
AS
|
|
begin
|
|
NEW.FECHA_MODIFICACION = current_timestamp;
|
|
end;
|
|
|
|
|
|
CREATE TABLE PEDIDOS_PROVEEDOR_DETALLES (
|
|
ID TIPO_ID NOT NULL,
|
|
ID_PEDIDO TIPO_ID NOT NULL,
|
|
POSICION INTEGER,
|
|
TIPO_DETALLE VARCHAR(10),
|
|
REFERENCIA VARCHAR(255),
|
|
ID_ARTICULO TIPO_ID,
|
|
CONCEPTO TIPO_CONCEPTO,
|
|
CANTIDAD INTEGER,
|
|
IMPORTE_UNIDAD TIPO_IMPORTE,
|
|
IMPORTE_TOTAL TIPO_IMPORTE,
|
|
VISIBLE TIPO_BOOLEANO,
|
|
FECHA_ALTA TIMESTAMP,
|
|
FECHA_MODIFICACION TIMESTAMP
|
|
);
|
|
|
|
ALTER TABLE PEDIDOS_PROVEEDOR_DETALLES ADD CONSTRAINT PK_PEDIDOS_PROVEEDOR_DETALLES PRIMARY KEY (ID);
|
|
|
|
|
|
CREATE TRIGGER TRI_INSERT_PEDIDOS_PROV_DET FOR PEDIDOS_PROVEEDOR_DETALLES
|
|
ACTIVE BEFORE INSERT POSITION 0
|
|
AS
|
|
begin
|
|
NEW.FECHA_ALTA = current_timestamp;
|
|
NEW.FECHA_MODIFICACION = Null;
|
|
end;
|
|
|
|
CREATE TRIGGER TRI_UPDATE_PEDIDOS_PROV_DET FOR PEDIDOS_PROVEEDOR_DETALLES
|
|
ACTIVE BEFORE UPDATE POSITION 0
|
|
AS
|
|
begin
|
|
NEW.FECHA_MODIFICACION = current_timestamp;
|
|
end;
|
|
|
|
|
|
CREATE TABLE PEDIDOS_CLIENTE (
|
|
ID TIPO_ID NOT NULL,
|
|
ID_EMPRESA TIPO_ID,
|
|
ID_CLIENTE TIPO_ID,
|
|
REFERENCIA VARCHAR(255),
|
|
FECHA_PEDIDO DATE,
|
|
FECHA_CONFIRMACION DATE,
|
|
FECHA_ENTREGA DATE,
|
|
SITUACION VARCHAR(255),
|
|
CALLE VARCHAR(255),
|
|
CODIGO_POSTAL VARCHAR(10),
|
|
POBLACION VARCHAR(255),
|
|
PROVINCIA VARCHAR(255),
|
|
PERSONA_CONTACTO VARCHAR(255),
|
|
TELEFONO VARCHAR(25),
|
|
OBSERVACIONES TIPO_NOTAS,
|
|
IMPORTE_TOTAL TIPO_IMPORTE,
|
|
INCIDENCIAS TIPO_NOTAS,
|
|
INCIDENCIAS_ACTIVAS SMALLINT DEFAULT 0 NOT NULL,
|
|
FECHA_ALTA TIMESTAMP,
|
|
FECHA_MODIFICACION TIMESTAMP,
|
|
USUARIO TIPO_USUARIO
|
|
);
|
|
|
|
ALTER TABLE PEDIDOS_CLIENTE ADD CONSTRAINT PK_PEDIDOS_CLIENTE PRIMARY KEY (ID);
|
|
|
|
|
|
CREATE GENERATOR GEN_PEDIDOS_PROV_ID;
|
|
SET GENERATOR GEN_PEDIDOS_PROV_ID TO 1;
|
|
|
|
CREATE TRIGGER TRI_INSERT_PEDIDOS_CLIENTE FOR PEDIDOS_CLIENTE
|
|
ACTIVE BEFORE INSERT POSITION 0
|
|
AS
|
|
begin
|
|
NEW.FECHA_ALTA = current_timestamp;
|
|
NEW.FECHA_MODIFICACION = Null;
|
|
end;
|
|
|
|
CREATE TRIGGER TRI_UPDATE_PEDIDOS_CLIENTE FOR PEDIDOS_CLIENTE
|
|
ACTIVE BEFORE UPDATE POSITION 0
|
|
AS
|
|
begin
|
|
NEW.FECHA_MODIFICACION = current_timestamp;
|
|
end;
|
|
|
|
|
|
CREATE TABLE PEDIDOS_CLIENTE_DETALLES (
|
|
ID TIPO_ID NOT NULL,
|
|
ID_PEDIDO TIPO_ID NOT NULL,
|
|
POSICION INTEGER,
|
|
TIPO_DETALLE VARCHAR(10),
|
|
REFERENCIA VARCHAR(255),
|
|
ID_ARTICULO TIPO_ID,
|
|
CONCEPTO TIPO_CONCEPTO,
|
|
CANTIDAD INTEGER,
|
|
IMPORTE_UNIDAD TIPO_IMPORTE,
|
|
IMPORTE_TOTAL TIPO_IMPORTE,
|
|
VISIBLE TIPO_BOOLEANO,
|
|
FECHA_ALTA TIMESTAMP,
|
|
FECHA_MODIFICACION TIMESTAMP
|
|
);
|
|
|
|
ALTER TABLE PEDIDOS_CLIENTE_DETALLES ADD CONSTRAINT PK_PEDIDOS_CLIENTE_DETALLES PRIMARY KEY (ID);
|
|
|
|
|
|
CREATE GENERATOR GEN_PEDIDOS_CLI_ID;
|
|
SET GENERATOR GEN_PEDIDOS_CLI_ID TO 1;
|
|
|
|
CREATE TRIGGER TRI_INSERT_PEDIDOS_CLI_DET FOR PEDIDOS_CLIENTE_DETALLES
|
|
ACTIVE BEFORE INSERT POSITION 0
|
|
AS
|
|
begin
|
|
NEW.FECHA_ALTA = current_timestamp;
|
|
NEW.FECHA_MODIFICACION = Null;
|
|
end;
|
|
|
|
CREATE TRIGGER TRI_UPDATE_PEDIDOS_CLI_DET FOR PEDIDOS_CLIENTE_DETALLES
|
|
ACTIVE BEFORE UPDATE POSITION 0
|
|
AS
|
|
begin
|
|
NEW.FECHA_MODIFICACION = current_timestamp;
|
|
end;
|
|
|
|
|
|
|
|
CREATE TABLE INVENTARIO (
|
|
ID TIPO_ID NOT NULL,
|
|
ID_ARTICULO TIPO_ID,
|
|
ID_ALMACEN TIPO_ID,
|
|
ID_PEDIDO_PROVEEDOR TIPO_ID,
|
|
ID_PEDIDO_CLIENTE TIPO_ID
|
|
);
|
|
|
|
ALTER TABLE INVENTARIO ADD CONSTRAINT PK_INVENTARIO PRIMARY KEY (ID);
|
|
ALTER TABLE INVENTARIO ADD CONSTRAINT FK_INVENTARIO_ALMACENES FOREIGN KEY (ID_ALMACEN) REFERENCES ALMACENES (ID) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
|
ALTER TABLE INVENTARIO ADD CONSTRAINT FK_INVENTARIO_ARTICULOS FOREIGN KEY (ID_ARTICULO) REFERENCES ARTICULOS (ID) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
|
ALTER TABLE INVENTARIO ADD CONSTRAINT FK_INVENTARIO_PEDIDOS_PRO FOREIGN KEY (ID_PEDIDO_PROVEEDOR) REFERENCES PEDIDOS_PROVEEDOR (ID) ON DELETE SET NULL ON UPDATE CASCADE;
|
|
|
|
CREATE GENERATOR GEN_INVENTARIO_ID;
|
|
SET GENERATOR GEN_INVENTARIO_ID TO 1;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CREATE TABLE PRESUPUESTOS (
|
|
ID TIPO_ID NOT NULL,
|
|
ID_EMPRESA TIPO_ID,
|
|
ID_CLIENTE TIPO_ID,
|
|
ID_VENDEDOR TIPO_ID,
|
|
TIPO VARCHAR(10),
|
|
REFERENCIA VARCHAR(255),
|
|
FECHA_PRESUPUESTO DATE,
|
|
VIGENCIA INTEGER,
|
|
SITUACION VARCHAR(255),
|
|
FECHA_DECISION DATE,
|
|
BASE_IMPONIBLE TIPO_IMPORTE,
|
|
DESCUENTO TIPO_PORCENTAJE,
|
|
IMPORTE_DESCUENTO TIPO_IMPORTE,
|
|
IVA TIPO_PORCENTAJE,
|
|
IMPORTE_IVA TIPO_IMPORTE,
|
|
IMPORTE_TOTAL TIPO_IMPORTE,
|
|
OBSERVACIONES TIPO_NOTAS,
|
|
PLAZO_ENTREGA TIPO_NOTAS,
|
|
FORMA_PAGO TIPO_NOTAS,
|
|
FECHA_ALTA TIMESTAMP,
|
|
FECHA_MODIFICACION TIMESTAMP,
|
|
USUARIO TIPO_USUARIO
|
|
);
|
|
|
|
ALTER TABLE PRESUPUESTOS
|
|
ADD CONSTRAINT PK_PRESUPUESTOS PRIMARY KEY (ID);
|
|
|
|
CREATE GENERATOR GEN_PRESUPUESTOS_ID;
|
|
SET GENERATOR GEN_PRESUPUESTOS_ID TO 1;
|
|
|
|
|
|
|
|
CREATE TABLE PRESUPUESTOS_DETALLES (
|
|
ID TIPO_ID NOT NULL,
|
|
ID_PRESUPUESTO TIPO_ID NOT NULL,
|
|
POSICION INTEGER,
|
|
TIPO_DETALLE VARCHAR(10),
|
|
CONCEPTO TIPO_CONCEPTO,
|
|
CANTIDAD INTEGER,
|
|
PUNTOS INTEGER,
|
|
IMPORTE_PUNTOS TIPO_IMPORTE,
|
|
IMPORTE_UNIDAD TIPO_IMPORTE,
|
|
IMPORTE_TOTAL TIPO_IMPORTE,
|
|
VISIBLE TIPO_BOOLEANO
|
|
);
|
|
|
|
ALTER TABLE PRESUPUESTOS_DETALLES
|
|
ADD CONSTRAINT PK_PRESUPUESTOS_DETALLES PRIMARY KEY (ID);
|
|
|
|
CREATE GENERATOR GEN_PRESUPUESTOS_DETALLES_ID;
|
|
SET GENERATOR GEN_PRESUPUESTOS_DETALLES_ID TO 1;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CREATE TABLE PEDIDOS_PROVEEDOR (
|
|
ID TIPO_ID NOT NULL,
|
|
ID_EMPRESA TIPO_ID,
|
|
ID_PROVEEDOR TIPO_ID,
|
|
ID_MONTAJE TIPO_ID,
|
|
REFERENCIA VARCHAR(255),
|
|
FECHA_PEDIDO DATE,
|
|
FECHA_CONFIRMACION DATE,
|
|
FECHA_ENTREGA DATE,
|
|
SITUACION VARCHAR(255),
|
|
DIRECCION_ENTREGA TIPO_NOTAS,
|
|
OBSERVACIONES TIPO_NOTAS,
|
|
IMPORTE_TOTAL TIPO_IMPORTE,
|
|
INCIDENCIAS TIPO_NOTAS,
|
|
INCIDENCIAS_ACTIVAS SMALLINT DEFAULT 0 NOT NULL,
|
|
FECHA_ALTA TIMESTAMP,
|
|
FECHA_MODIFICACION TIMESTAMP,
|
|
USUARIO TIPO_USUARIO
|
|
);
|
|
ALTER TABLE PEDIDOS_PROVEEDOR ADD CONSTRAINT PK_PEDIDOS_PROVEEDOR PRIMARY KEY (ID);
|
|
ALTER TABLE PEDIDOS_PROVEEDOR ADD CONSTRAINT FK_PEDIDOS_PROVEEDOR FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID);
|
|
ALTER TABLE PEDIDOS_PROVEEDOR ADD CONSTRAINT FK_PEDIDOS_PROVEEDOR2 FOREIGN KEY (ID_PROVEEDOR) REFERENCES CONTACTOS (ID);
|
|
|
|
CREATE GENERATOR GEN_PEDIDOS_PROV_ID;
|
|
SET GENERATOR GEN_PEDIDOS_PROV_ID TO 1;
|
|
|
|
CREATE TABLE PEDIDOS_PROVEEDOR_DETALLES (
|
|
ID TIPO_ID NOT NULL,
|
|
ID_PEDIDO TIPO_ID NOT NULL,
|
|
POSICION INTEGER,
|
|
TIPO_DETALLE VARCHAR(10),
|
|
CONCEPTO TIPO_CONCEPTO,
|
|
CANTIDAD INTEGER,
|
|
IMPORTE_UNIDAD TIPO_IMPORTE,
|
|
IMPORTE_TOTAL TIPO_IMPORTE,
|
|
VISIBLE TIPO_BOOLEANO
|
|
);
|
|
ALTER TABLE PEDIDOS_PROVEEDOR_DETALLES ADD CONSTRAINT PK_PEDIDOS_PROVEEDOR_DETALLES PRIMARY KEY (ID);
|
|
|
|
CREATE GENERATOR GEN_PEDIDOS_PROV_DETALLES_ID;
|
|
SET GENERATOR GEN_PEDIDOS_PROV_DETALLES_ID TO 1;
|
|
|
|
|
|
CREATE TABLE COBROS (
|
|
ID TIPO_ID NOT NULL,
|
|
ID_EMPRESA TIPO_ID,
|
|
ID_CLIENTE TIPO_ID,
|
|
ID_MONTAJE TIPO_ID,
|
|
REFERENCIA VARCHAR(255),
|
|
FECHA_COBRO TIMESTAMP,
|
|
DESCRIPCION TIPO_CONCEPTO,
|
|
IMPORTE TIPO_IMPORTE,
|
|
FORMA_PAGO VARCHAR(255),
|
|
FECHA_ALTA TIMESTAMP,
|
|
FECHA_MODIFICACION TIMESTAMP,
|
|
USUARIO TIPO_USUARIO
|
|
);
|
|
|
|
ALTER TABLE COBROS ADD CONSTRAINT PK_COBROS PRIMARY KEY (ID);
|
|
ALTER TABLE COBROS ADD CONSTRAINT FK_COBROS FOREIGN KEY (ID_CLIENTE) REFERENCES CONTACTOS (ID);
|
|
|
|
CREATE GENERATOR GEN_COBROS_CLIENTE_ID;
|
|
SET GENERATOR GEN_COBROS_CLIENTE_ID TO 1;
|
|
|
|
ALTER TABLE PRESUPUESTOS_DETALLES
|
|
ADD DESCUENTO TIPO_PORCENTAJE;
|
|
|
|
ALTER TABLE REFERENCIAS
|
|
ADD ID_EMPRESA TIPO_ID;
|
|
|
|
ALTER TABLE REFERENCIAS
|
|
ADD CONSTRAINT FK_REFERENCIAS
|
|
FOREIGN KEY (ID_EMPRESA)
|
|
REFERENCES EMPRESAS(ID);
|
|
|
|
|
|
ALTER TABLE FACTURAS_CLIENTE_DETALLES
|
|
ADD FECHA_ALTA TIMESTAMP;
|
|
|
|
ALTER TABLE FACTURAS_CLIENTE_DETALLES
|
|
ADD FECHA_MODIFICACION TIMESTAMP;
|
|
|
|
ALTER TABLE PEDIDOS_PROVEEDOR_DETALLES
|
|
ADD FECHA_ALTA TIMESTAMP;
|
|
|
|
ALTER TABLE PEDIDOS_PROVEEDOR_DETALLES
|
|
ADD FECHA_MODIFICACION TIMESTAMP;
|
|
|
|
ALTER TABLE PRESUPUESTOS_DETALLES
|
|
ADD FECHA_ALTA TIMESTAMP;
|
|
|
|
ALTER TABLE PRESUPUESTOS_DETALLES
|
|
ADD FECHA_MODIFICACION TIMESTAMP;
|
|
|
|
|
|
CREATE TRIGGER TRI_INSERT_FACTURAS_CLIENTE FOR FACTURAS_CLIENTE
|
|
ACTIVE BEFORE INSERT POSITION 0
|
|
AS
|
|
begin
|
|
NEW.FECHA_ALTA = current_timestamp;
|
|
NEW.FECHA_MODIFICACION = Null;
|
|
end;
|
|
|
|
CREATE TRIGGER TRI_INSERT_PEDIDOS_PROVEEDOR FOR PEDIDOS_PROVEEDOR
|
|
ACTIVE BEFORE INSERT POSITION 0
|
|
AS
|
|
begin
|
|
NEW.FECHA_ALTA = current_timestamp;
|
|
NEW.FECHA_MODIFICACION = Null;
|
|
end;
|
|
|
|
CREATE TRIGGER TRI_INSERT_PRESUPUESTOS FOR PRESUPUESTOS
|
|
ACTIVE BEFORE INSERT POSITION 0
|
|
AS
|
|
begin
|
|
NEW.FECHA_ALTA = current_timestamp;
|
|
NEW.FECHA_MODIFICACION = Null;
|
|
end;
|
|
|
|
CREATE TRIGGER TRI_INSERT_FACTURAS_CLIENTE_DET FOR FACTURAS_CLIENTE_DETALLES
|
|
ACTIVE BEFORE INSERT POSITION 0
|
|
AS
|
|
begin
|
|
NEW.FECHA_ALTA = current_timestamp;
|
|
NEW.FECHA_MODIFICACION = Null;
|
|
end;
|
|
|
|
CREATE TRIGGER TRI_INSERT_PEDIDOS_PROV_DET FOR PEDIDOS_PROVEEDOR_DETALLES
|
|
ACTIVE BEFORE INSERT POSITION 0
|
|
AS
|
|
begin
|
|
NEW.FECHA_ALTA = current_timestamp;
|
|
NEW.FECHA_MODIFICACION = Null;
|
|
end;
|
|
|
|
CREATE TRIGGER TRI_INSERT_PRESUPUESTOS_DET FOR PRESUPUESTOS_DETALLES
|
|
ACTIVE BEFORE INSERT POSITION 0
|
|
AS
|
|
begin
|
|
NEW.FECHA_ALTA = current_timestamp;
|
|
NEW.FECHA_MODIFICACION = Null;
|
|
end;
|
|
|
|
|
|
CREATE TRIGGER TRI_UPDATE_FACTURAS_CLIENTE FOR FACTURAS_CLIENTE
|
|
ACTIVE BEFORE UPDATE POSITION 0
|
|
AS
|
|
begin
|
|
NEW.FECHA_MODIFICACION = current_timestamp;
|
|
end;
|
|
|
|
CREATE TRIGGER TRI_UPDATE_PEDIDOS_PROVEEDOR FOR PEDIDOS_PROVEEDOR
|
|
ACTIVE BEFORE UPDATE POSITION 0
|
|
AS
|
|
begin
|
|
NEW.FECHA_MODIFICACION = current_timestamp;
|
|
end;
|
|
|
|
CREATE TRIGGER TRI_UPDATE_PRESUPUESTOS FOR PRESUPUESTOS
|
|
ACTIVE BEFORE UPDATE POSITION 0
|
|
AS
|
|
begin
|
|
NEW.FECHA_MODIFICACION = current_timestamp;
|
|
end;
|
|
|
|
|
|
CREATE TRIGGER TRI_UPDATE_FACTURAS_CLIENTE_DET FOR FACTURAS_CLIENTE_DETALLES
|
|
ACTIVE BEFORE UPDATE POSITION 0
|
|
AS
|
|
begin
|
|
NEW.FECHA_MODIFICACION = current_timestamp;
|
|
end;
|
|
|
|
CREATE TRIGGER TRI_UPDATE_PEDIDOS_PROV_DET FOR PEDIDOS_PROVEEDOR_DETALLES
|
|
ACTIVE BEFORE UPDATE POSITION 0
|
|
AS
|
|
begin
|
|
NEW.FECHA_MODIFICACION = current_timestamp;
|
|
end;
|
|
|
|
CREATE TRIGGER TRI_UPDATE_PRESUPUESTOS_DET FOR PRESUPUESTOS_DETALLES
|
|
ACTIVE BEFORE UPDATE POSITION 0
|
|
AS
|
|
begin
|
|
NEW.FECHA_MODIFICACION = current_timestamp;
|
|
end;
|
|
|
|
ALTER TABLE PEDIDOS_PROVEEDOR_DETALLES
|
|
ADD REFERENCIA VARCHAR(255);
|
|
|
|
ALTER TABLE COBROS ADD CONSTRAINT FK_COBROS_EMPRESAS FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
|
alter table PRESUPUESTOS add constraint FK_PRESUPUESTOS2 foreign key (ID_CLIENTE) references CONTACTOS(ID) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
|
|
|
|
|
|
|
/****************************************************************************/
|
|
/* INICIALIZAR GENERADORES */
|
|
|
|
|
|
SET GENERATOR GEN_ALMACENES_ID TO 1;
|
|
SET GENERATOR GEN_ARTICULOS_DATOS_PROV_ID TO 1;
|
|
SET GENERATOR GEN_ARTICULOS_ID TO 1;
|
|
SET GENERATOR GEN_CATEGORIAS_ID TO 4;
|
|
SET GENERATOR GEN_CONTACTOS_DATOS_BANCO_ID TO 1;
|
|
SET GENERATOR GEN_CONTACTOS_DIR_ID TO 1;
|
|
SET GENERATOR GEN_CONTACTOS_ID TO 1;
|
|
SET GENERATOR GEN_EMPRESAS_ID TO 2;
|
|
SET GENERATOR GEN_FACTURAS_CLIENTE_ID TO 1;
|
|
SET GENERATOR GEN_FACTURA_CLIENTE_DETALLES_ID TO 1;
|
|
SET GENERATOR GEN_INVENTARIO_ID TO 1;
|
|
SET GENERATOR GEN_PEDIDOS_CLI_ID TO 1;
|
|
SET GENERATOR GEN_PEDIDOS_PROV_ID TO 1;
|
|
SET GENERATOR GEN_PERFILES_ID TO 1;
|
|
SET GENERATOR GEN_USUARIOS_ID TO 1;
|
|
|
|
/****************************************************************************/
|
|
/* INSERTAR DATOS */
|
|
|
|
INSERT INTO CATEGORIAS (ID, CATEGORIA) VALUES (1, 'CLIENTE');
|
|
INSERT INTO CATEGORIAS (ID, CATEGORIA) VALUES (2, 'PROVEEDOR');
|
|
INSERT INTO CATEGORIAS (ID, CATEGORIA) VALUES (3, 'AGENTE');
|
|
|
|
COMMIT;
|
|
|
|
|
|
INSERT INTO REFERENCIAS (CODIGO, VALOR, ID_EMPRESA) VALUES('REF_FACTURAS_CLIENTE', '2007/001', 1);
|
|
COMMIT; |