Subversion Repositories Integrator Subversion

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 espaco 1
/*========tur===================================================*/
2
/* DBMS name:     PostgreSQL 8                                  */
3
/* Criado em:     21/04/2017                                        */
4
/* Autor: Bruno Lopes Peixoto                                       */
5
/*==============================================================*/
6
 
7
SET search_path = sc_sec;
8
 
9
ALTER TABLE sec_linha_vivo ADD seq_produto_vivo INT8 NULL;
10
 
11
ALTER TABLE sec_linha_vivo
12
   ADD CONSTRAINT fk_linhavivo_produtovivo FOREIGN KEY (seq_produto_vivo)
13
      REFERENCES sec_produto_vivo (seq_produto_vivo)
14
      ON DELETE RESTRICT ON UPDATE RESTRICT;   
15
 
16
UPDATE sc_sec.sec_linha_vivo l SET seq_produto_vivo = (
17
SELECT v.seq_produto_vivo FROM sec_venda_vivo v
18
WHERE v.seq_linha_vivo = l.seq_linha_vivo
19
ORDER BY v.dth_venda DESC
20
LIMIT 1
21
);
22
 
23
ALTER TABLE sec_pessoa ADD dsc_nome_fantasia VARCHAR(120) NULL;
24
ALTER TABLE sec_pessoa ADD dsc_inscricao_estadual VARCHAR(15) NULL;
25
ALTER TABLE sec_pessoa ADD dsc_inscricao_municipal VARCHAR(15) NULL;
26
ALTER TABLE sec_pessoa ADD tip_regime_tributario CHAR(1) NULL
27
CONSTRAINT ck_regime_tributario_pessoa CHECK (tip_regime_tributario IS NULL OR (tip_regime_tributario IN ('1','2','3')));
28
comment ON COLUMN sec_pessoa.tip_regime_tributario IS
29
'Valores possíveis:
30
1 - Simples Nacional
31
2 - Simples Nacional - Excesso de Sublimite de Receita Bruta
32
3 - Regime Normal';
33
 
34
ALTER TABLE sec_endereco ADD dsc_municipio VARCHAR(120) NULL;
35
ALTER TABLE sec_endereco ADD dsc_uf VARCHAR(2) NULL;
36
 
37
ALTER TABLE sec_produto ADD cod_ean VARCHAR(20) NULL;
38
comment ON COLUMN sec_produto.cod_ean IS
39
'Utilizado para código de barras';
40
 
41
ALTER TABLE sec_produto ADD cod_ean_tributado VARCHAR(20) NULL;
42
comment ON COLUMN sec_produto.cod_ean_tributado IS
43
'Utilizado para código de barras do produto tributável';
44
 
45
ALTER TABLE sec_produto ADD cod_ncm INT8 NULL;
46
comment ON COLUMN sec_produto.cod_ncm IS
47
'Nomenclatura Comum do Mercosul';
48
 
49
ALTER TABLE sec_produto ADD cod_est INT8 NULL;
50
comment ON COLUMN sec_produto.cod_est IS
51
'Código Especificador da Substituição Tributária';
52
 
53
ALTER TABLE sec_produto ADD cod_fop INT4 NULL;
54
comment ON COLUMN sec_produto.cod_fop IS
55
'Código Fiscal de Operações e Prestações.
56
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.
57
Entradas
58
1.000 - Entrada e/ou Aquisições de Serviços do Estado.
59
2.000 - Entrada e/ou Aquisições de Serviços de outros Estados.
60
3.000 - Entrada e/ou Aquisições de Serviços do Exterior.
61
 
62
Saídas
63
5.000 - Saídas ou Prestações de Serviços para o Estado.
64
6.000 - Saídas ou Prestações de Serviços para outros Estados.
65
7.000 - Saídas ou Prestações de Serviços para o Exterior.';  
66
 
67
 
68
ALTER TABLE sec_compra_produto ADD dsc_unidade_comercial VARCHAR(5) NULL;
69
ALTER TABLE sec_compra_produto ADD qtd_unidade_comercial NUMERIC(5) NULL;
70
ALTER TABLE sec_compra_produto ADD val_unidade_comercial NUMERIC(10,2) NULL;
71
 
72
ALTER TABLE sec_compra_produto ADD dsc_unidade_tributaria VARCHAR(5) NULL;
73
ALTER TABLE sec_compra_produto ADD qtd_unidade_tributaria NUMERIC(5) NULL;
74
ALTER TABLE sec_compra_produto ADD val_unidade_tributaria NUMERIC(10,2) NULL;
75
 
76
ALTER TABLE sec_compra_produto ADD ind_valor_total_nota BOOL NULL;
77
comment ON COLUMN sec_compra_produto.ind_valor_total_nota IS
78
'0 - O valor do item (vProd) não compõe o valor total da NF-e (vProd)
79
1 - O valor do item (vProd) compõe o valor total da NF-e (vProd) ';
80
 
81
 
82
/*==============================================================*/
83
/* Table: sec_compra_medicamento                                */
84
/*==============================================================*/
85
CREATE TABLE sec_compra_medicamento (
86
   seq_compraproduto    INT8                 NOT NULL,
87
   dsc_lote             VARCHAR(10)          NOT NULL,
88
   qtd_lote             INT8                 NOT NULL,
89
   dat_fabricacao       DATE                 NOT NULL,
90
   dat_vencimento       DATE                 NOT NULL,
91
   val_preco_maximo     NUMERIC(10,2)        NOT NULL,
92
   CONSTRAINT pk_compramedicamento PRIMARY KEY (seq_compraproduto)
93
);
94
 
95
-- set table ownership
96
ALTER TABLE sec_compra_medicamento owner TO sc_sec
97
;
98
ALTER TABLE sec_compra_medicamento
99
   ADD CONSTRAINT fk_compramed_compraproduto FOREIGN KEY (seq_compraproduto)
100
      REFERENCES sec_compra_produto (seq_compraproduto)
101
      ON DELETE RESTRICT ON UPDATE RESTRICT;
102
 
103
 
104
/*==============================================================*/
105
/* Table: sec_compra_produto_imposto                            */
106
/*==============================================================*/
107
CREATE TABLE sec_compra_produto_imposto (
108
   seq_compraproduto    INT8                 NOT NULL,
109
   tip_imposto          CHAR(1)              NOT NULL
110
      CONSTRAINT ck_compra_produto_imposto_tipo CHECK (tip_imposto IN ('I','S','C','P')),
111
   cod_situacao_tributaria INT8                 NOT NULL,
112
   val_base_calculo     NUMERIC(10,2)        NULL,
113
   val_percentual       NUMERIC(10,4)        NULL,
114
   val_imposto          NUMERIC(10,2)        NULL,
115
   CONSTRAINT pk_compraprodutoimposto PRIMARY KEY (seq_compraproduto, tip_imposto)
116
);
117
 
118
comment ON COLUMN sec_compra_produto_imposto.tip_imposto IS
119
'Valores possíveis:
120
I - ICMS
121
S - PIS
122
C - COFINS
123
P - IPI
124
';
125
 
126
comment ON COLUMN sec_compra_produto_imposto.val_base_calculo IS
127
'Valor base de cálculo do imposto';
128
 
129
comment ON COLUMN sec_compra_produto_imposto.val_percentual IS
130
'Alíquota do imposto';
131
 
132
comment ON COLUMN sec_compra_produto_imposto.val_imposto IS
133
'Valor do Imposto';
134
 
135
-- set table ownership
136
ALTER TABLE sec_compra_produto_imposto owner TO sc_sec
137
;
138
ALTER TABLE sec_compra_produto_imposto
139
   ADD CONSTRAINT fk_compraprodutoimposto_compraproduto FOREIGN KEY (seq_compraproduto)
140
      REFERENCES sec_compra_produto (seq_compraproduto)
141
      ON DELETE RESTRICT ON UPDATE RESTRICT;
142
 
143
 
144
 
145
/*==============================================================*/
146
/* Table: sec_imposto_icms                                      */
147
/*==============================================================*/
148
CREATE TABLE sec_imposto_icms (
149
   seq_compraproduto    INT8                 NOT NULL,
150
   tip_imposto          CHAR(1)              NOT NULL
151
      CONSTRAINT ck_imposto_icms_tipo CHECK (tip_imposto IN ('I','P','C')),
152
   cod_origem           INT8                 NOT NULL,
153
   cod_modbc            INT8                 NOT NULL,
154
   val_predbc           NUMERIC(10,4)        NULL,
155
   cod_modbcst          INT8                 NULL,
156
   val_pmvast           NUMERIC(10,4)        NULL,
157
   val_bcst            NUMERIC(10,2)        NULL,
158
   val_picmsst          NUMERIC(10,4)        NULL,
159
   val_icmsst          NUMERIC(10,2)        NULL,
160
   CONSTRAINT pk_impostoicms PRIMARY KEY (seq_compraproduto, tip_imposto)
161
);
162
 
163
comment ON COLUMN sec_imposto_icms.tip_imposto IS
164
'Valores possíveis:
165
I - ICMS
166
P - PIS
167
C - COFINS';
168
 
169
comment ON COLUMN sec_imposto_icms.cod_modbc IS
170
'Modalidade de determinação da Base de Cálculo do ICMS';
171
 
172
comment ON COLUMN sec_imposto_icms.val_predbc IS
173
'Percentual da Redução de BC';
174
 
175
comment ON COLUMN sec_imposto_icms.cod_modbcst IS
176
'Modalidade de determinação da Base de Cálculo do ICMS ST';
177
 
178
comment ON COLUMN sec_imposto_icms.val_pmvast IS
179
'Percentual da margem de valor adicionado do ICMS ST';
180
 
181
comment ON COLUMN sec_imposto_icms.val_bcst IS
182
'Base de Cálculo do ICMS ST';
183
 
184
comment ON COLUMN sec_imposto_icms.val_picmsst IS
185
'Alíquota do imposto do ICMS ST';
186
 
187
comment ON COLUMN sec_imposto_icms.val_icmsst IS
188
'Valor do ICMS ST';
189
 
190
-- set table ownership
191
ALTER TABLE sec_imposto_icms owner TO sc_sec
192
;
193
ALTER TABLE sec_imposto_icms
194
   ADD CONSTRAINT fk_impostoicms_compraprodutoimposto FOREIGN KEY (seq_compraproduto, tip_imposto)
195
      REFERENCES sec_compra_produto_imposto (seq_compraproduto, tip_imposto)
196
      ON DELETE RESTRICT ON UPDATE RESTRICT;
197
 
198
CREATE SEQUENCE sq_transportadora
199
INCREMENT 1
200
minvalue 1
201
maxvalue 99999999
202
START 1;
203
 
204
ALTER TABLE sq_transportadora owner TO sc_sec;
205
 
206
/*==============================================================*/
207
/* Table: sec_transportadora                                    */
208
/*==============================================================*/
209
CREATE TABLE sec_transportadora (
210
   seq_transportadora   INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_transportadora'::regclass),
211
   seq_pessoa           INT8                 NOT NULL,
212
   CONSTRAINT pk_transportadora PRIMARY KEY (seq_transportadora)
213
);
214
 
215
-- set table ownership
216
ALTER TABLE sec_transportadora owner TO sc_sec
217
;
218
ALTER TABLE sec_transportadora
219
   ADD CONSTRAINT fk_transportadora_pessoa FOREIGN KEY (seq_pessoa)
220
      REFERENCES sec_pessoa (seq_pessoa)
221
      ON DELETE RESTRICT ON UPDATE RESTRICT;
222
 
223
CREATE SEQUENCE sq_transporte
224
INCREMENT 1
225
minvalue 1
226
maxvalue 99999999
227
START 1;
228
 
229
ALTER TABLE sq_transporte owner TO sc_sec;     
230
 
231
/*==============================================================*/
232
/* Table: sec_transporte                                        */
233
/*==============================================================*/
234
CREATE TABLE sec_transporte (
235
   seq_transporte       INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_transporte'::regclass),
236
   seq_transportadora   INT8                 NOT NULL,
237
   cod_modalidade_frete INT8                 NOT NULL,
238
   qtd_volume           INT8                 NOT NULL,
239
   dsc_volume           VARCHAR(120)         NOT NULL,
240
   val_peso_liquido     NUMERIC(10,4)        NULL,
241
   val_peso_bruto       NUMERIC(10,4)        NULL,
242
   CONSTRAINT pk_transporte PRIMARY KEY (seq_transporte)
243
);
244
 
245
comment ON COLUMN sec_transporte.cod_modalidade_frete IS
246
'Modalidade do Frete';
247
 
248
-- set table ownership
249
ALTER TABLE sec_transporte owner TO sc_sec
250
;
251
ALTER TABLE sec_transporte
252
   ADD CONSTRAINT fk_transporte_transportadora FOREIGN KEY (seq_transportadora)
253
      REFERENCES sec_transportadora (seq_transportadora)
254
      ON DELETE RESTRICT ON UPDATE RESTRICT;
255
 
256
 
257
/*==============================================================*/
258
/* Table: sec_nota_fiscal                                       */
259
/*==============================================================*/
260
CREATE TABLE sec_nota_fiscal (
261
   cod_nota_fiscal      VARCHAR(50)          NOT NULL,
262
   seq_transporte       INT8                 NULL,
263
   dsc_complementares VARCHAR(1500)        NULL,
264
   dth_emissao          TIMESTAMP            NOT NULL,
265
   txt_xml              TEXT                 NOT NULL,
266
   arq_xml              BYTEA                NOT NULL,
267
   CONSTRAINT pk_notafiscal PRIMARY KEY (cod_nota_fiscal)
268
);
269
 
270
-- set table ownership
271
ALTER TABLE sec_nota_fiscal owner TO sc_sec
272
;
273
ALTER TABLE sec_nota_fiscal
274
   ADD CONSTRAINT fk_compra_transporte FOREIGN KEY (seq_transporte)
275
      REFERENCES sec_transporte (seq_transporte)
276
      ON DELETE RESTRICT ON UPDATE RESTRICT;
277
 
278
 
279
ALTER TABLE sec_compra ADD cod_nota_fiscal VARCHAR(50) NULL;
280
 
281
ALTER TABLE sec_compra
282
   ADD CONSTRAINT fk_compra_notafiscal FOREIGN KEY (cod_nota_fiscal)
283
      REFERENCES sec_nota_fiscal (cod_nota_fiscal)
284
      ON DELETE RESTRICT ON UPDATE RESTRICT;
285
 
286
 
287
CREATE SEQUENCE sq_fornecedor
288
INCREMENT 1
289
minvalue 1
290
maxvalue 99999999
291
START 1;
292
 
293
ALTER TABLE sq_fornecedor owner TO sc_sec;
294
 
295
/*==============================================================*/
296
/* Table: sec_fornecedor                                        */
297
/*==============================================================*/
298
CREATE TABLE sec_fornecedor (
299
   seq_fornecedor       INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_fornecedor'::regclass),
300
   seq_pessoa           INT8                 NOT NULL,
301
   ind_ativo            BOOL                 NOT NULL,
302
   CONSTRAINT pk_fornecedor PRIMARY KEY (seq_fornecedor)
303
);
304
 
305
-- set table ownership
306
ALTER TABLE sec_fornecedor owner TO sc_sec
307
;
308
ALTER TABLE sec_fornecedor
309
   ADD CONSTRAINT fk_fornecedorproduto_pessoa FOREIGN KEY (seq_pessoa)
310
      REFERENCES sec_pessoa (seq_pessoa)
311
      ON DELETE RESTRICT ON UPDATE RESTRICT;
312
 
313
 
314
ALTER TABLE sec_compra ADD seq_fornecedor INT8 NULL;
315
 
316
ALTER TABLE sec_compra
317
   ADD CONSTRAINT fk_compra_fornecedor FOREIGN KEY (seq_fornecedor)
318
      REFERENCES sec_fornecedor (seq_fornecedor)
319
      ON DELETE RESTRICT ON UPDATE RESTRICT;
320
 
321
ALTER TABLE sec_compra_produto ADD dsc_informacoes_adicionais VARCHAR(120) NULL;
322
ALTER TABLE sec_compra_produto ADD val_desconto NUMERIC(10,2) NULL;
323
 
324
ALTER TABLE sec_produto DROP CONSTRAINT ck_produto_tipo;
325
ALTER TABLE sec_produto ADD CONSTRAINT ck_produto_tipo CHECK (tip_produto IN ('A','C','P', 'R'));
326
comment ON COLUMN sec_produto.tip_produto IS
327
'Valores possíveis:
328
A - Acessório
329
C - Capa
330
P - Película
331
E - Remédio';
332
 
333
 
334
ALTER TABLE sec_compra ADD seq_loja INT8 NULL;
335
 
336
ALTER TABLE sec_compra
337
   ADD CONSTRAINT fk_compra_loja FOREIGN KEY (seq_loja)
338
      REFERENCES sec_loja (seq_loja)
339
      ON DELETE RESTRICT ON UPDATE RESTRICT;
340
 
341
UPDATE sc_sec.sec_compra SET seq_loja = 6;
342
 
343
ALTER TABLE sc_sec.sec_compra ALTER COLUMN seq_loja SET NOT NULL;
344
 
345
 
346
 
347
SET search_path = public;