CREATE SEQUENCE sec_scc_detalle_envio
  INCREMENT 1
  MINVALUE 1
  MAXVALUE 9223372036854775807
  START 14
  CACHE 1;
ALTER TABLE sec_scc_detalle_envio OWNER TO postgres;

CREATE SEQUENCE sec_scc_estatus
  INCREMENT 1
  MINVALUE 1
  MAXVALUE 9223372036854775807
  START 8
  CACHE 1;
ALTER TABLE sec_scc_estatus OWNER TO postgres;

CREATE SEQUENCE sec_scc_movimiento
  INCREMENT 1
  MINVALUE 1
  MAXVALUE 9223372036854775807
  START 5
  CACHE 1;
ALTER TABLE sec_scc_movimiento OWNER TO postgres;

CREATE SEQUENCE sec_scc_tipodoc
  INCREMENT 1
  MINVALUE 1
  MAXVALUE 9223372036854775807
  START 1
  CACHE 1;
ALTER TABLE sec_scc_tipodoc OWNER TO postgres;

CREATE TABLE scc_actividad
(
  codigo char(5) NOT NULL,
  descripcion varchar(250),
  CONSTRAINT scc_actividad_pkey PRIMARY KEY (codigo)
) 
WITHOUT OIDS;
ALTER TABLE scc_actividad OWNER TO postgres;

CREATE TABLE scc_destinatario
(
  codigo char(12) NOT NULL,
  nombre varchar(50),
  apellido varchar(50),
  tipodes char(2),
  departamento varchar(10),
  CONSTRAINT scc_destinatario_pkey PRIMARY KEY (codigo),
  CONSTRAINT fk_scc_destinatario_departamento_1 FOREIGN KEY (departamento)
      REFERENCES departamento (codigo) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION
) 
WITHOUT OIDS;
ALTER TABLE scc_destinatario OWNER TO postgres;

CREATE TABLE scc_estatus
(
  codigo char(3) NOT NULL,
  descripcion varchar(100),
  CONSTRAINT scc_estatus_pkey PRIMARY KEY (codigo)
) 
WITHOUT OIDS;
ALTER TABLE scc_estatus OWNER TO postgres;

CREATE TABLE scc_tipodoc
(
  codigo char(3) NOT NULL,
  descripcion varchar(250),
  CONSTRAINT scc_tipodoc_pkey PRIMARY KEY (codigo)
) 
WITHOUT OIDS;
ALTER TABLE scc_tipodoc OWNER TO postgres;

CREATE TABLE scc_documentos
(
  codigo char(12) NOT NULL, -- Fecha en la cual se elaboro el documento
  nombre varchar(255),
  fechagen date,
  fechaenvio date,
  horaenvio time,
  fecharec date,
  horarec time,
  descripcion text,
  tipodoc char(2),
  actividad char(5),
  documento char(12),
  usuario char(25),
  CONSTRAINT scc_documentos_pkey PRIMARY KEY (codigo),
  CONSTRAINT fk_scc_documentos_scc_actividad_1 FOREIGN KEY (actividad)
      REFERENCES scc_actividad (codigo) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT fk_scc_documentos_scc_tipodoc_1 FOREIGN KEY (tipodoc)
      REFERENCES scc_tipodoc (codigo) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION
) 
WITHOUT OIDS;
ALTER TABLE scc_documentos OWNER TO postgres;
COMMENT ON COLUMN scc_documentos.codigo IS 'Fecha en la cual se elaboro el documento';

-- Index: indexdoc

-- DROP INDEX indexdoc;

CREATE UNIQUE INDEX indexdoc
  ON scc_documentos
  USING btree
  (codigo);

CREATE TABLE scc_detalle_envio
(
  codigo int4 NOT NULL,
  destinatario char(15),
  fecharec date, -- Fecha de recepcion de la comunicacion
  horarec time, -- Hora de recepcion de la comunicacion por el usuario
  documento char(12),
  receptor varchar(50),
  docrelacionado int4, -- Documento relacionado 
  departamento varchar(20),
  CONSTRAINT scc_detalle_envio_pkey PRIMARY KEY (codigo),
  CONSTRAINT fk_scc_detalle_envio_scc_detalle_envio_1 FOREIGN KEY (docrelacionado)
      REFERENCES scc_detalle_envio (codigo) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT fk_scc_detalle_envio_scc_documentos_1 FOREIGN KEY (documento)
      REFERENCES scc_documentos (codigo) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION
) 
WITHOUT OIDS;
ALTER TABLE scc_detalle_envio OWNER TO postgres;
COMMENT ON COLUMN scc_detalle_envio.fecharec IS 'Fecha de recepcion de la comunicacion';
COMMENT ON COLUMN scc_detalle_envio.horarec IS 'Hora de recepcion de la comunicacion por el usuario';
COMMENT ON COLUMN scc_detalle_envio.docrelacionado IS 'Documento relacionado ';

-- Index: indexunico

-- DROP INDEX indexunico;

CREATE UNIQUE INDEX indexunico
  ON scc_detalle_envio
  USING btree
  (destinatario, documento);

CREATE TABLE scc_movimiento
(
  codigo int4 NOT NULL,
  detalle_envio int4,
  estatusanterior char(10),
  estatusnuevo char(10),
  usuarioanterior char(20),
  usuarionuevo char(20),
  fecha date,
  hora time,
  obser text,
  CONSTRAINT scc_movimiento_pkey PRIMARY KEY (codigo),
  CONSTRAINT fk_scc_movimiento_scc_detalle_envio_1 FOREIGN KEY (detalle_envio)
      REFERENCES scc_detalle_envio (codigo) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT fk_scc_movimiento_scc_estatus_1 FOREIGN KEY (estatusnuevo)
      REFERENCES scc_estatus (codigo) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT fk_scc_movimiento_scc_usuario_responsable_1 FOREIGN KEY (usuarionuevo)
      REFERENCES scc_usuario_responsable (codigo) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION
) 
WITHOUT OIDS;
ALTER TABLE scc_movimiento OWNER TO postgres;