Blame |
Last modification |
View Log
| Download
| RSS feed
/*========tur===================================================*/
/* DBMS name: PostgreSQL 8 */
/* Criado em: 21/04/2017 */
/* Autor: Bruno Lopes Peixoto */
/*==============================================================*/
SET search_path = sc_sec;
ALTER TABLE sec_linha_vivo ADD seq_produto_vivo INT8 NULL;
ALTER TABLE sec_linha_vivo
ADD CONSTRAINT fk_linhavivo_produtovivo FOREIGN KEY (seq_produto_vivo)
REFERENCES sec_produto_vivo (seq_produto_vivo)
ON DELETE RESTRICT ON UPDATE RESTRICT;
UPDATE sc_sec.sec_linha_vivo l SET seq_produto_vivo = (
SELECT v.seq_produto_vivo FROM sec_venda_vivo v
WHERE v.seq_linha_vivo = l.seq_linha_vivo
ORDER BY v.dth_venda DESC
LIMIT 1
);
ALTER TABLE sec_pessoa ADD dsc_nome_fantasia VARCHAR(120) NULL;
ALTER TABLE sec_pessoa ADD dsc_inscricao_estadual VARCHAR(15) NULL;
ALTER TABLE sec_pessoa ADD dsc_inscricao_municipal VARCHAR(15) NULL;
ALTER TABLE sec_pessoa ADD tip_regime_tributario CHAR(1) NULL
CONSTRAINT ck_regime_tributario_pessoa CHECK (tip_regime_tributario IS NULL OR (tip_regime_tributario IN ('1','2','3')));
comment ON COLUMN sec_pessoa.tip_regime_tributario IS
'Valores possíveis:
1 - Simples Nacional
2 - Simples Nacional - Excesso de Sublimite de Receita Bruta
3 - Regime Normal';
ALTER TABLE sec_endereco ADD dsc_municipio VARCHAR(120) NULL;
ALTER TABLE sec_endereco ADD dsc_uf VARCHAR(2) NULL;
ALTER TABLE sec_produto ADD cod_ean VARCHAR(20) NULL;
comment ON COLUMN sec_produto.cod_ean IS
'Utilizado para código de barras';
ALTER TABLE sec_produto ADD cod_ean_tributado VARCHAR(20) NULL;
comment ON COLUMN sec_produto.cod_ean_tributado IS
'Utilizado para código de barras do produto tributável';
ALTER TABLE sec_produto ADD cod_ncm INT8 NULL;
comment ON COLUMN sec_produto.cod_ncm IS
'Nomenclatura Comum do Mercosul';
ALTER TABLE sec_produto ADD cod_est INT8 NULL;
comment ON COLUMN sec_produto.cod_est IS
'Código Especificador da Substituição Tributária';
ALTER TABLE sec_produto ADD cod_fop INT4 NULL;
comment ON COLUMN sec_produto.cod_fop IS
'Código Fiscal de Operações e Prestações.
Trata-se de um código numérico que identifica a natureza de circulação da mercadoria ou a prestação de serviço de transportes.
Entradas
1.000 - Entrada e/ou Aquisições de Serviços do Estado.
2.000 - Entrada e/ou Aquisições de Serviços de outros Estados.
3.000 - Entrada e/ou Aquisições de Serviços do Exterior.
Saídas
5.000 - Saídas ou Prestações de Serviços para o Estado.
6.000 - Saídas ou Prestações de Serviços para outros Estados.
7.000 - Saídas ou Prestações de Serviços para o Exterior.';
ALTER TABLE sec_compra_produto ADD dsc_unidade_comercial VARCHAR(5) NULL;
ALTER TABLE sec_compra_produto ADD qtd_unidade_comercial NUMERIC(5) NULL;
ALTER TABLE sec_compra_produto ADD val_unidade_comercial NUMERIC(10,2) NULL;
ALTER TABLE sec_compra_produto ADD dsc_unidade_tributaria VARCHAR(5) NULL;
ALTER TABLE sec_compra_produto ADD qtd_unidade_tributaria NUMERIC(5) NULL;
ALTER TABLE sec_compra_produto ADD val_unidade_tributaria NUMERIC(10,2) NULL;
ALTER TABLE sec_compra_produto ADD ind_valor_total_nota BOOL NULL;
comment ON COLUMN sec_compra_produto.ind_valor_total_nota IS
'0 - O valor do item (vProd) não compõe o valor total da NF-e (vProd)
1 - O valor do item (vProd) compõe o valor total da NF-e (vProd) ';
/*==============================================================*/
/* Table: sec_compra_medicamento */
/*==============================================================*/
CREATE TABLE sec_compra_medicamento (
seq_compraproduto INT8 NOT NULL,
dsc_lote VARCHAR(10) NOT NULL,
qtd_lote INT8 NOT NULL,
dat_fabricacao DATE NOT NULL,
dat_vencimento DATE NOT NULL,
val_preco_maximo NUMERIC(10,2) NOT NULL,
CONSTRAINT pk_compramedicamento PRIMARY KEY (seq_compraproduto)
);
-- set table ownership
ALTER TABLE sec_compra_medicamento owner TO sc_sec
;
ALTER TABLE sec_compra_medicamento
ADD CONSTRAINT fk_compramed_compraproduto FOREIGN KEY (seq_compraproduto)
REFERENCES sec_compra_produto (seq_compraproduto)
ON DELETE RESTRICT ON UPDATE RESTRICT;
/*==============================================================*/
/* Table: sec_compra_produto_imposto */
/*==============================================================*/
CREATE TABLE sec_compra_produto_imposto (
seq_compraproduto INT8 NOT NULL,
tip_imposto CHAR(1) NOT NULL
CONSTRAINT ck_compra_produto_imposto_tipo CHECK (tip_imposto IN ('I','S','C','P')),
cod_situacao_tributaria INT8 NOT NULL,
val_base_calculo NUMERIC(10,2) NULL,
val_percentual NUMERIC(10,4) NULL,
val_imposto NUMERIC(10,2) NULL,
CONSTRAINT pk_compraprodutoimposto PRIMARY KEY (seq_compraproduto, tip_imposto)
);
comment ON COLUMN sec_compra_produto_imposto.tip_imposto IS
'Valores possíveis:
I - ICMS
S - PIS
C - COFINS
P - IPI
';
comment ON COLUMN sec_compra_produto_imposto.val_base_calculo IS
'Valor base de cálculo do imposto';
comment ON COLUMN sec_compra_produto_imposto.val_percentual IS
'Alíquota do imposto';
comment ON COLUMN sec_compra_produto_imposto.val_imposto IS
'Valor do Imposto';
-- set table ownership
ALTER TABLE sec_compra_produto_imposto owner TO sc_sec
;
ALTER TABLE sec_compra_produto_imposto
ADD CONSTRAINT fk_compraprodutoimposto_compraproduto FOREIGN KEY (seq_compraproduto)
REFERENCES sec_compra_produto (seq_compraproduto)
ON DELETE RESTRICT ON UPDATE RESTRICT;
/*==============================================================*/
/* Table: sec_imposto_icms */
/*==============================================================*/
CREATE TABLE sec_imposto_icms (
seq_compraproduto INT8 NOT NULL,
tip_imposto CHAR(1) NOT NULL
CONSTRAINT ck_imposto_icms_tipo CHECK (tip_imposto IN ('I','P','C')),
cod_origem INT8 NOT NULL,
cod_modbc INT8 NOT NULL,
val_predbc NUMERIC(10,4) NULL,
cod_modbcst INT8 NULL,
val_pmvast NUMERIC(10,4) NULL,
val_bcst NUMERIC(10,2) NULL,
val_picmsst NUMERIC(10,4) NULL,
val_icmsst NUMERIC(10,2) NULL,
CONSTRAINT pk_impostoicms PRIMARY KEY (seq_compraproduto, tip_imposto)
);
comment ON COLUMN sec_imposto_icms.tip_imposto IS
'Valores possíveis:
I - ICMS
P - PIS
C - COFINS';
comment ON COLUMN sec_imposto_icms.cod_modbc IS
'Modalidade de determinação da Base de Cálculo do ICMS';
comment ON COLUMN sec_imposto_icms.val_predbc IS
'Percentual da Redução de BC';
comment ON COLUMN sec_imposto_icms.cod_modbcst IS
'Modalidade de determinação da Base de Cálculo do ICMS ST';
comment ON COLUMN sec_imposto_icms.val_pmvast IS
'Percentual da margem de valor adicionado do ICMS ST';
comment ON COLUMN sec_imposto_icms.val_bcst IS
'Base de Cálculo do ICMS ST';
comment ON COLUMN sec_imposto_icms.val_picmsst IS
'Alíquota do imposto do ICMS ST';
comment ON COLUMN sec_imposto_icms.val_icmsst IS
'Valor do ICMS ST';
-- set table ownership
ALTER TABLE sec_imposto_icms owner TO sc_sec
;
ALTER TABLE sec_imposto_icms
ADD CONSTRAINT fk_impostoicms_compraprodutoimposto FOREIGN KEY (seq_compraproduto, tip_imposto)
REFERENCES sec_compra_produto_imposto (seq_compraproduto, tip_imposto)
ON DELETE RESTRICT ON UPDATE RESTRICT;
CREATE SEQUENCE sq_transportadora
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;
ALTER TABLE sq_transportadora owner TO sc_sec;
/*==============================================================*/
/* Table: sec_transportadora */
/*==============================================================*/
CREATE TABLE sec_transportadora (
seq_transportadora INT8 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_transportadora'::regclass),
seq_pessoa INT8 NOT NULL,
CONSTRAINT pk_transportadora PRIMARY KEY (seq_transportadora)
);
-- set table ownership
ALTER TABLE sec_transportadora owner TO sc_sec
;
ALTER TABLE sec_transportadora
ADD CONSTRAINT fk_transportadora_pessoa FOREIGN KEY (seq_pessoa)
REFERENCES sec_pessoa (seq_pessoa)
ON DELETE RESTRICT ON UPDATE RESTRICT;
CREATE SEQUENCE sq_transporte
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;
ALTER TABLE sq_transporte owner TO sc_sec;
/*==============================================================*/
/* Table: sec_transporte */
/*==============================================================*/
CREATE TABLE sec_transporte (
seq_transporte INT8 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_transporte'::regclass),
seq_transportadora INT8 NOT NULL,
cod_modalidade_frete INT8 NOT NULL,
qtd_volume INT8 NOT NULL,
dsc_volume VARCHAR(120) NOT NULL,
val_peso_liquido NUMERIC(10,4) NULL,
val_peso_bruto NUMERIC(10,4) NULL,
CONSTRAINT pk_transporte PRIMARY KEY (seq_transporte)
);
comment ON COLUMN sec_transporte.cod_modalidade_frete IS
'Modalidade do Frete';
-- set table ownership
ALTER TABLE sec_transporte owner TO sc_sec
;
ALTER TABLE sec_transporte
ADD CONSTRAINT fk_transporte_transportadora FOREIGN KEY (seq_transportadora)
REFERENCES sec_transportadora (seq_transportadora)
ON DELETE RESTRICT ON UPDATE RESTRICT;
/*==============================================================*/
/* Table: sec_nota_fiscal */
/*==============================================================*/
CREATE TABLE sec_nota_fiscal (
cod_nota_fiscal VARCHAR(50) NOT NULL,
seq_transporte INT8 NULL,
dsc_complementares VARCHAR(1500) NULL,
dth_emissao TIMESTAMP NOT NULL,
txt_xml TEXT NOT NULL,
arq_xml BYTEA NOT NULL,
CONSTRAINT pk_notafiscal PRIMARY KEY (cod_nota_fiscal)
);
-- set table ownership
ALTER TABLE sec_nota_fiscal owner TO sc_sec
;
ALTER TABLE sec_nota_fiscal
ADD CONSTRAINT fk_compra_transporte FOREIGN KEY (seq_transporte)
REFERENCES sec_transporte (seq_transporte)
ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE sec_compra ADD cod_nota_fiscal VARCHAR(50) NULL;
ALTER TABLE sec_compra
ADD CONSTRAINT fk_compra_notafiscal FOREIGN KEY (cod_nota_fiscal)
REFERENCES sec_nota_fiscal (cod_nota_fiscal)
ON DELETE RESTRICT ON UPDATE RESTRICT;
CREATE SEQUENCE sq_fornecedor
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;
ALTER TABLE sq_fornecedor owner TO sc_sec;
/*==============================================================*/
/* Table: sec_fornecedor */
/*==============================================================*/
CREATE TABLE sec_fornecedor (
seq_fornecedor INT8 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_fornecedor'::regclass),
seq_pessoa INT8 NOT NULL,
ind_ativo BOOL NOT NULL,
CONSTRAINT pk_fornecedor PRIMARY KEY (seq_fornecedor)
);
-- set table ownership
ALTER TABLE sec_fornecedor owner TO sc_sec
;
ALTER TABLE sec_fornecedor
ADD CONSTRAINT fk_fornecedorproduto_pessoa FOREIGN KEY (seq_pessoa)
REFERENCES sec_pessoa (seq_pessoa)
ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE sec_compra ADD seq_fornecedor INT8 NULL;
ALTER TABLE sec_compra
ADD CONSTRAINT fk_compra_fornecedor FOREIGN KEY (seq_fornecedor)
REFERENCES sec_fornecedor (seq_fornecedor)
ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE sec_compra_produto ADD dsc_informacoes_adicionais VARCHAR(120) NULL;
ALTER TABLE sec_compra_produto ADD val_desconto NUMERIC(10,2) NULL;
ALTER TABLE sec_produto DROP CONSTRAINT ck_produto_tipo;
ALTER TABLE sec_produto ADD CONSTRAINT ck_produto_tipo CHECK (tip_produto IN ('A','C','P', 'R'));
comment ON COLUMN sec_produto.tip_produto IS
'Valores possíveis:
A - Acessório
C - Capa
P - Película
E - Remédio';
ALTER TABLE sec_compra ADD seq_loja INT8 NULL;
ALTER TABLE sec_compra
ADD CONSTRAINT fk_compra_loja FOREIGN KEY (seq_loja)
REFERENCES sec_loja (seq_loja)
ON DELETE RESTRICT ON UPDATE RESTRICT;
UPDATE sc_sec.sec_compra SET seq_loja = 6;
ALTER TABLE sc_sec.sec_compra ALTER COLUMN seq_loja SET NOT NULL;
SET search_path = public;