-- Database: "NEWSIGN"

-- DROP DATABASE "NEWSIGN";

--CREATE DATABASE "NEWSIGN"
  --WITH OWNER = postgres
       --ENCODING = 'UTF8'
       --TABLESPACE = pg_default
       --LC_COLLATE = 'Spanish_Chile.1252'
       --LC_CTYPE = 'Spanish_Chile.1252'
       --CONNECTION LIMIT = -1;

-- Table: empresas

-- DROP TABLE empresas;

CREATE TABLE empresas
(
  id_empresa integer NOT NULL,
  razon_social character(200),
  rut character(10),
  giro character(100),
  xdoc boolean,
  area character(100),
  clave_area character(100),
  ruta_aplicacion character(200),
  llave_dte_box character(200),
  es_produccion boolean DEFAULT false,
  nro_resolucion character(6),
  fecha_resolucion character(10),
  CONSTRAINT pk_id_empresa PRIMARY KEY (id_empresa)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE empresas
  OWNER TO postgres;
-- Table: acteco

-- DROP TABLE acteco;

CREATE TABLE acteco
(
  id_acteco integer NOT NULL,
  codigo character(6),
  descripcion character(1000),
  id_empresa integer,
  CONSTRAINT id_acteco PRIMARY KEY (id_acteco)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE acteco
  OWNER TO postgres;
-- Table: direccion

-- DROP TABLE direccion;

CREATE TABLE direccion
(
  id_direccion integer NOT NULL,
  direccion character(100),
  ciudad character(100),
  comuna character(100),
  id_empresa integer,
  CONSTRAINT id_direccion PRIMARY KEY (id_direccion)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE direccion
  OWNER TO postgres;
-- Table: division

-- DROP TABLE division;

CREATE TABLE division
(
  id_division integer NOT NULL,
  division character(100),
  id_empresa integer NOT NULL,
  CONSTRAINT id_division PRIMARY KEY (id_division)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE division
  OWNER TO postgres;
-- Table: documento

-- DROP TABLE documento;

CREATE TABLE documento
(
  codigo character(3),
  descripcion character(100),
  id_documento serial NOT NULL,
  CONSTRAINT id_documento PRIMARY KEY (id_documento)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE documento
  OWNER TO postgres;
-- Table: documentos_por_empresa

-- DROP TABLE documentos_por_empresa;

CREATE TABLE documentos_por_empresa
(
  id_empresa integer,
  id_documento integer,
  id_documento_por_empresa serial NOT NULL,
  CONSTRAINT id_documento_por_empresa PRIMARY KEY (id_documento_por_empresa)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE documentos_por_empresa
  OWNER TO postgres;
-- Table: impresoras

-- DROP TABLE impresoras;

CREATE TABLE impresoras
(
  id_impresora serial NOT NULL,
  nombre character(100),
  valor character(100),
  CONSTRAINT id_impresora PRIMARY KEY (id_impresora)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE impresoras
  OWNER TO postgres;
-- Table: usuario_por_empresa

-- DROP TABLE usuario_por_empresa;

CREATE TABLE usuario_por_empresa
(
  id serial NOT NULL,
  id_usuario integer,
  id_empresa integer,
  CONSTRAINT id PRIMARY KEY (id),
  CONSTRAINT id_empresa FOREIGN KEY (id_empresa)
      REFERENCES empresas (id_empresa) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION
)
WITH (
  OIDS=FALSE
);
ALTER TABLE usuario_por_empresa
  OWNER TO postgres;
-- Table: sucursal

-- DROP TABLE sucursal;

CREATE TABLE sucursal
(
  id_sucursal integer,
  codigo_sii character(100),
  nombre_sucursal character(100)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE sucursal
  OWNER TO postgres;
-- Table: receptor

-- DROP TABLE receptor;

CREATE TABLE receptor
(
  rut character(10),
  giro character(100),
  direccion character(100),
  ciudad character(100),
  comuna character(100),
  razon_social character(100),
  nacionalidad character(100),
  email character(100),
  id_receptor serial NOT NULL,
  CONSTRAINT id_receptor PRIMARY KEY (id_receptor),
  CONSTRAINT rut UNIQUE (rut)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE receptor
  OWNER TO postgres;
-- Table: producto

-- DROP TABLE producto;

CREATE TABLE producto
(
  descripcion character(100),
  codigo character(35),
  descripcion_adicional character(1000),
  precio money DEFAULT 0,
  definicion character(1),
  id_producto serial NOT NULL,
  CONSTRAINT id_producto PRIMARY KEY (id_producto)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE producto
  OWNER TO postgres;
-- Table: historial

-- DROP TABLE historial;

CREATE TABLE historial
(
  id_usuario integer,
  dte xml,
  id_historia serial NOT NULL,
  id_empresa integer,
  CONSTRAINT id_historia PRIMARY KEY (id_historia)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE historial
  OWNER TO postgres;

INSERT INTO documento(codigo, descripcion)VALUES ('33', 'Factura Electrónica');
INSERT INTO documento(codigo, descripcion)VALUES ('34', 'Factura No Afecta o Exenta Electrónica');
INSERT INTO documento(codigo, descripcion)VALUES ('39', 'Boleta Electrónica');
INSERT INTO documento(codigo, descripcion)VALUES ('41', 'Boleta Exenta Electrónica');
INSERT INTO documento(codigo, descripcion)VALUES ('43', 'Liquidación-Factura Electrónica');
INSERT INTO documento(codigo, descripcion)VALUES ('46', 'Factura de Compra Electrónica');
INSERT INTO documento(codigo, descripcion)VALUES ('56', 'Nota de Débito Electrónica');
INSERT INTO documento(codigo, descripcion)VALUES ('61', 'Nota de Crédito Electrónica');
INSERT INTO documento(codigo, descripcion)VALUES ('52', 'Guía de Despacho Electrónica');
INSERT INTO documento(codigo, descripcion)VALUES ('110', 'Factura de Exportación Electrónica');
INSERT INTO documento(codigo, descripcion)VALUES ('111', 'Nota de Débito de Exportación Electrónica');
INSERT INTO documento(codigo, descripcion)VALUES ('112', 'Nota de Crédito de Exportación Electrónica');
