Subversion Repositories Integrator Subversion

Rev

Blame | Last modification | View Log | Download | RSS feed

/*========tur===================================================*/
/* DBMS name:      PostgreSQL 8                                 */
/* Criado em:     21/03/2015                                        */
/* Autor: Bruno Lopes Peixoto                                       */
/*==============================================================*/

SET search_path = sc_sec;

CREATE SEQUENCE sq_estoqueaudit
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;

ALTER TABLE sq_estoqueaudit owner TO sc_sec;

/*==============================================================*/
/* Index: ix_compraproduto_produto                              */
/*==============================================================*/
CREATE  INDEX ix_compraproduto_produto ON sec_compra_produto (
seq_produto
);

/*==============================================================*/
/* Table: sec_estoque_auditoria                                 */
/*==============================================================*/
CREATE TABLE sec_estoque_auditoria (
   seq_estoque_auditoria INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_pedido'::regclass),
   seq_usuario          INT8                 NOT NULL,
   seq_produto          INT8                 NOT NULL,
   seq_loja             INT8                 NOT NULL,
   qtd_estoque_anterior NUMERIC(5)           NULL,
   qtd_estoque_novo     NUMERIC(5)           NULL,
   dsc_observacao       VARCHAR(160)         NULL,
   dth_atualizacao      TIMESTAMP            NULL,
   tip_estoque_auditoria CHAR(1)              NOT NULL
      CONSTRAINT ck_estoque_auditoria_tipo CHECK (tip_estoque_auditoria IN ('A','C','T')),
   ind_ativo            BOOL                 NOT NULL,
   CONSTRAINT pk_estoque_auditoria PRIMARY KEY (seq_estoque_auditoria)
);

comment ON COLUMN sec_estoque_auditoria.tip_estoque_auditoria IS
'Valores possíveis:
A - Avaria
C - Contagem
T - Transferência'
;

-- set table ownership
ALTER TABLE sec_estoque_auditoria owner TO sc_sec
;
/*==============================================================*/
/* Index: ix_estoqueaudit_produto                               */
/*==============================================================*/
CREATE  INDEX ix_estoqueaudit_produto ON sec_estoque_auditoria (
seq_produto
);

/*==============================================================*/
/* Index: ix_estoqueaudit_usuario                               */
/*==============================================================*/
CREATE  INDEX ix_estoqueaudit_usuario ON sec_estoque_auditoria (
seq_usuario
);

/*==============================================================*/
/* Index: ix_estoqueaudit_loja                                  */
/*==============================================================*/
CREATE  INDEX ix_estoqueaudit_loja ON sec_estoque_auditoria (
seq_loja
);

ALTER TABLE sec_estoque_auditoria
   ADD CONSTRAINT fk_estoqueaudit_loja FOREIGN KEY (seq_loja)
      REFERENCES sec_loja (seq_loja)
      ON DELETE RESTRICT ON UPDATE RESTRICT;

ALTER TABLE sec_estoque_auditoria
   ADD CONSTRAINT fk_estoqueaudit_produto FOREIGN KEY (seq_produto)
      REFERENCES sec_produto (seq_produto)
      ON DELETE RESTRICT ON UPDATE RESTRICT;

ALTER TABLE sec_estoque_auditoria
   ADD CONSTRAINT fk_estoqueaudit_usuario FOREIGN KEY (seq_usuario)
      REFERENCES sec_usuario (seq_usuario)
      ON DELETE RESTRICT ON UPDATE RESTRICT;
         
DELETE FROM sec_lancamento l WHERE l.ind_avaria = TRUE;
ALTER TABLE sec_lancamento DROP COLUMN ind_avaria;

ALTER TABLE sec_produto DROP COLUMN qtd_estoque;
ALTER TABLE sec_produto DROP COLUMN qnt_estoque_loja;
ALTER TABLE sec_produto DROP COLUMN qnt_estoque_quiosque;

ALTER TABLE sec_compra_produto DROP COLUMN var_compra;
UPDATE sec_compra_produto c SET val_compra = (SELECT p.val_compra FROM sec_produto p WHERE c.seq_produto = p.seq_produto) WHERE val_compra IS NULL;

UPDATE sec_produto SET dsc_produto = TRIM(dsc_produto);


CREATE SEQUENCE sq_perfil
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;

CREATE SEQUENCE sq_usuarioperfil
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;


/*==============================================================*/
/* Table: sec_perfil                                            */
/*==============================================================*/
CREATE TABLE sec_perfil (
   cod_perfil           INT8                 NOT NULL,
   dsc_perfil           VARCHAR(120)         NULL,
   CONSTRAINT pk_perfil PRIMARY KEY (cod_perfil)
);

-- set table ownership
ALTER TABLE sec_perfil owner TO sc_sec
;

/*==============================================================*/
/* Table: sec_usuario_perfil                                    */
/*==============================================================*/
CREATE TABLE sec_usuario_perfil (
   seq_usuario_perfil   INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_usuarioperfil'::regclass),
   seq_usuario          INT8                 NOT NULL,
   cod_perfil           INT8                 NOT NULL,
   CONSTRAINT pk_usuario_perfil PRIMARY KEY (seq_usuario_perfil)
);

-- set table ownership
ALTER TABLE sec_usuario_perfil owner TO sc_sec
;
/*==============================================================*/
/* Index: ix_usuarioperfil                                      */
/*==============================================================*/
CREATE  INDEX ix_usuarioperfil ON sec_usuario_perfil (
seq_usuario,
cod_perfil
);

ALTER TABLE sec_usuario_perfil
   ADD CONSTRAINT fk_usuarioperfil_perfil FOREIGN KEY (cod_perfil)
      REFERENCES sec_perfil (cod_perfil)
      ON DELETE RESTRICT ON UPDATE RESTRICT;

ALTER TABLE sec_usuario_perfil
   ADD CONSTRAINT fk_usuarioperfil_usuario FOREIGN KEY (seq_usuario)
      REFERENCES sec_usuario (seq_usuario)
      ON DELETE RESTRICT ON UPDATE RESTRICT;
         
INSERT INTO sec_perfil(cod_perfil, dsc_perfil) VALUES (1, 'ADMINISTRADOR');      
INSERT INTO sec_perfil(cod_perfil, dsc_perfil) VALUES (2, 'GERENTE FINANCEIRO');
INSERT INTO sec_perfil(cod_perfil, dsc_perfil) VALUES (3, 'GERENTE ADMINISTRATIVO');
INSERT INTO sec_perfil(cod_perfil, dsc_perfil) VALUES (4, 'GERENTE DE LOJA');
INSERT INTO sec_perfil(cod_perfil, dsc_perfil) VALUES (5, 'VENDEDOR');

INSERT INTO sec_usuario_perfil(seq_usuario, cod_perfil) VALUES (1, 1);
INSERT INTO sec_usuario_perfil(seq_usuario, cod_perfil) VALUES (2, 3);
INSERT INTO sec_usuario_perfil(seq_usuario, cod_perfil) VALUES (3, 3);
INSERT INTO sec_usuario_perfil(seq_usuario, cod_perfil) VALUES (4, 5);
INSERT INTO sec_usuario_perfil(seq_usuario, cod_perfil) VALUES (5, 4);
INSERT INTO sec_usuario_perfil(seq_usuario, cod_perfil) VALUES (6, 5);
INSERT INTO sec_usuario_perfil(seq_usuario, cod_perfil) VALUES (7, 5);

ALTER TABLE sec_produto ADD COLUMN qtd_estoque_minimo NUMERIC(5);
ALTER TABLE sec_produto ADD COLUMN qtd_estoque_compra NUMERIC(5);

UPDATE sec_produto SET dsc_produto = UPPER(dsc_produto);
UPDATE sec_lancamento SET dsc_produto = UPPER(dsc_produto);

UPDATE sec_produto SET dsc_categoria = UPPER(dsc_categoria);
UPDATE sec_lancamento SET dsc_categoria = UPPER(dsc_categoria);

--UPDATE sec_produto SET qtd_estoque_loja = 0 WHERE qtd_estoque_loja < 0;
--UPDATE sec_produto SET qtd_estoque_quiosque = 0 WHERE qtd_estoque_quiosque < 0;

DELETE FROM sec_produto p WHERE p.cod_produto IS NULL;

UPDATE sec_produto SET ind_ativo = TRUE;

UPDATE sc_sec.sec_produto SET dsc_produto = 'PELÍCULA COMUM' WHERE dsc_produto LIKE UPPER('%PELÍCULA%') AND dsc_produto NOT LIKE UPPER('%VIDRO%') AND dsc_produto NOT LIKE UPPER('%ANTI%') AND dsc_produto NOT LIKE UPPER('%VERSO%');

ALTER TABLE sc_sec.sec_modelo ADD COLUMN dsc_etiqueta VARCHAR(20);

UPDATE sc_sec.sec_modelo SET dsc_etiqueta = UPPER(dsc_modelo);

SET search_path = public;