--SEQ 0001--
CREATE TABLE gestao.empresa
(
  id_empresa integer NOT NULL,
  nome character(30) NOT NULL,
  razao_social character(60) NOT NULL,
  endereco character(60),
  numero integer,
  bairro character(30),
  id_municipio integer NOT NULL,
  estado character(2) NOT NULL,
  cnpj character(18) NOT NULL,
  inscr_estadual character(15),
  inscr_municipal character(15),
  telefone character(20),
  fax character(20),
  email character(60),nome_contato character(60),
  dt_bloq_estoque date NOT NULL,
  taxa_juros numeric(7,2),
  fc_juros character(1) NOT NULL DEFAULT 'C',
  serie_nf character(2) NOT NULL,
  num_nf integer NOT NULL,
  arq_mod_nf character(199) NOT NULL,
  serie_gta character(2),
  id_portador_padrao integer,
  integrado_siscon character(1) NOT NULL,
  CONSTRAINT pk_empresas PRIMARY KEY (id_empresa),
  CONSTRAINT chk_empresas_fc_juros CHECK (fc_juros = 'S'::bpchar OR fc_juros = 'C'::bpchar),
  CONSTRAINT chk_empresas_id_empresa CHECK (id_empresa > 0)
);
--RUN--

--SEQ 0002--
-- Table: gestao.oc
CREATE TABLE gestao.oc
(
  id_oc serial NOT NULL,
  id_empresa integer NOT NULL,
  numero integer NOT NULL,
  data date NOT NULL,
  id_fornecedor integer NOT NULL,
  numero_fornecedor character(10),
  id_transportador integer,
  frete smallint,
  tx_frete numeric(5,2),
  vl_frete numeric(12,2),
  obs_frete varchar(30),
  descr_outras_desp varchar(60),
  vl_outras_desp numeric(12,2),
  vl_ipi numeric(12,2) NOT NULL,
  vl_total numeric(12,2) NOT NULL,
  cond_pagto varchar(30),
  id_estlocal integer,
  id_requisitante integer,
  finalidade_destino varchar(40),
  endereco_entrega varchar(120),
  obs character(120),
  id_corrent_fat integer,
  cnpj_cpf_fat varchar(18),
  ie_fat varchar(18),
  nome_fat varchar(60),
  endereco_fat varchar(60),
  bairro_fat varchar(30),
  cep_fat  varchar(9),
  id_munic_fat integer,
  situacao char(1),
  data_situacao date,
  inc_usuario varchar(12) NOT NULL,
  alt_usuario varchar(12) NOT NULL,
  lib_usuario varchar(12),
  fin_usuario varchar(12),
  CONSTRAINT pk_oc PRIMARY KEY (id_oc),
  CONSTRAINT fk_oc_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT key_oc_numero_empresa UNIQUE (numero, id_empresa),
  CONSTRAINT key_ocd_situacao CHECK (situacao IN ('T','P','L','E','R','C'))
);

CREATE INDEX key_oc_data ON gestao.oc (data);
CREATE INDEX key_oc_fornecedor ON gestao.oc (id_fornecedor);
--RUN--

--SEQ 0003--
-- Table: gestao.ocd
CREATE TABLE gestao.ocd
(
  id_ocd serial NOT NULL,
  id_oc integer NOT NULL,
  item integer NOT NULL,
  tipo char(1) NOT NULL,
  id_produto integer,
  id_natureza integer,
  descricao varchar(80) NOT NULL,
  referencia varchar(20) NOT NULL,
  qtd_comprada numeric(12,3) NOT NULL,
  und character(3),
  vl_unitario numeric(12,4) NOT NULL,
  tx_desc1 numeric(5,2) NOT NULL,
  tx_desc2 numeric(5,2) NOT NULL,
  tx_desc3 numeric(5,2) NOT NULL,
  tx_desc4 numeric(5,2) NOT NULL,
  tx_desc5 numeric(5,2) NOT NULL,
  vl_desc  numeric(12,2) NOT NULL,
  vl_total numeric(12,2) NOT NULL,
  tx_ipi numeric(5,2) NOT NULL,
  vl_ipi numeric(12,2) NOT NULL,
  tx_margem numeric(5,2) NOT NULL,
  data_prev_entrega date NOT NULL,
  qtd_recebida numeric(12,3) NOT NULL,
  qtd_cancelada numeric(12,3) NOT NULL,  
  situacao char(1) NOT NULL,
  CONSTRAINT pk_ocd PRIMARY KEY (id_ocd),
  CONSTRAINT fk_ocd_oc FOREIGN KEY (id_oc)  REFERENCES gestao.oc (id_oc),
  CONSTRAINT key_ocd_item UNIQUE (id_oc,item),
  CONSTRAINT key_ocd_situacao CHECK (situacao IN ('T','P','L','E','R','C'))
);
--RUN--

--SEQ 0004--
-- Table: gestao.estrutura
CREATE TABLE gestao.estrutura
(
  id_estrutura serial,
  id_empresa integer NOT NULL,
  codigo character(10) NOT NULL,
  id_produto integer NOT NULL,
  versao character(10) NOT NULL,
  descricao character(60) NOT NULL,
  data date NOT NULL,
  custo_industrializacao numeric(12,4) NOT NULL,
  custo_fixo_administrativo numeric(12,4) NOT NULL,
  total numeric(12,4) NOT NULL,
  qtd_produzida numeric(12,3) NOT NULL,
  und_medida smallint NOT NULL,
  producao_hora numeric(10,2) NOT NULL,
  peso_mp_base numeric(12,3) NOT NULL,
  largura_min integer NOT NULL,
  largura_max integer NOT NULL,
  altura_min integer NOT NULL,
  altura_max integer NOT NULL,
  req_insumos smallint NOT NULL,
  ativa smallint NOT NULL,
  anotacao varchar(1000),
  CONSTRAINT pk_estrutura PRIMARY KEY (id_estrutura),
  CONSTRAINT fk_estrutura_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT key_estrutura_codigo UNIQUE (id_empresa, codigo),
  CONSTRAINT key_estrutura_versao UNIQUE (id_empresa, id_produto, versao)
);


CREATE TABLE gestao.estruturad
(
  id_estruturad serial,
  id_empresa integer NOT NULL,
  id_estrutura integer NOT NULL,
  ordem integer NOT NULL,
  id_produto integer NOT NULL,
  qtdade numeric(15,6) NOT NULL,
  und smallint NOT NULL,
  custo_total numeric(15,4) NOT NULL,
  origem smallint NOT NULL,
  grupo smallint NOT NULL,
  anotacao character(60),
  med_compr numeric(7,2) NOT NULL,
  med_larg numeric(7,2) NOT NULL,
  med_espe numeric(7,2) NOT NULL,
  operacao integer NOT NULL,
  tipo_calculo smallint NOT NULL,
  taxa_mp_base numeric(7,2) NOT NULL,
  sub_categoria smallint NOT NULL,
  dimensao character(1) NOT NULL,
  corte smallint NOT NULL,
  vidro smallint NOT NULL,
  form_tamanho varchar(40) NOT NULL,
  form_largura varchar(40) NOT NULL,
  form_altura varchar(40) NOT NULL,
  form_qtdade varchar(40) NOT NULL,
  condicao varchar(40) NOT NULL,  
  CONSTRAINT pk_estruturad PRIMARY KEY (id_estruturad),
  CONSTRAINT fk_estruturad_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_estruturad_estrutura FOREIGN KEY (id_estrutura) REFERENCES gestao.estrutura (id_estrutura),
  CONSTRAINT key_estruturad_ordem UNIQUE (id_estrutura, ordem),
  CONSTRAINT key_estruturad_produto UNIQUE (id_estrutura, id_produto)
);


CREATE TABLE gestao.estruturaop
(
  id_estruturaop serial,
  id_empresa integer NOT NULL,
  id_estrutura integer NOT NULL,
  ordem integer NOT NULL,
  id_operacao integer NOT NULL,
  id_setor integer NOT NULL,
  descricao character(40) NOT NULL,
  tempo integer NOT NULL,
  ponto_inspecao smallint NOT NULL,
  CONSTRAINT pk_estruturaop PRIMARY KEY (id_estruturaop),
  CONSTRAINT fk_estruturaop_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_estruturaop_estrutura FOREIGN KEY (id_estrutura) REFERENCES gestao.estrutura (id_estrutura),
  CONSTRAINT key_estruturaop_ordem UNIQUE (id_estrutura, ordem)
);  
--RUN--


--SEQ 0005--
-- Table: gestao.op
CREATE TABLE gestao.op (
  id_op SERIAL,
  id_empresa INT NOT NULL ,
  numero INT NOT NULL ,
  situacao SMALLINT NOT NULL ,
  data DATE NOT NULL ,
  prioridade SMALLINT NOT NULL ,
  data_emissao DATE NULL ,
  usuario_emissao CHAR(12) NULL ,
  dt1_prev DATE NULL ,
  dt2_prev DATE NULL ,
  id_produto INT NOT NULL ,
  versao CHAR(10) NOT NULL ,
  observacao CHAR(100) NULL ,
  largura DECIMAL(8,2) NOT NULL ,
  altura DECIMAL(8,2) NOT NULL ,
  L1 INT NULL ,
  L2 INT NULL ,
  L3 INT NULL ,
  L4 INT NULL ,
  H1 INT NULL ,
  H2 INT NULL ,
  H3 INT NULL ,
  H4 INT NULL ,
  id_acabamento INT NULL ,
  id_vidro INT NULL ,
  id_vista INT NULL ,
  id_varprod INT NULL ,
  qtd_planejada DECIMAL(12,3) NOT NULL ,
  qtd_produzida DECIMAL(12,3) NOT NULL ,
  qtd_cancelada DECIMAL(12,3) NOT NULL ,
  num_pedido INT NULL ,
  ordem_item_pedido INT NULL ,
  num_op_origem INT NULL ,
  ttp INT NULL,
  CONSTRAINT pk_op PRIMARY KEY (id_op),
  CONSTRAINT fk_op_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_op_estrutura FOREIGN KEY (id_empresa,id_produto,versao) REFERENCES gestao.estrutura (id_empresa,id_produto,versao),
  CONSTRAINT key_op_numero_empresa UNIQUE (numero, id_empresa),
  CONSTRAINT key_op_situacao CHECK (situacao IN (1,2,3,4,9)),
  CONSTRAINT chk_opins_qtd_planejada CHECK (qtd_planejada>=qtd_produzida+qtd_cancelada)
);


-- Table: gestao.opins
CREATE TABLE gestao.opins (
  id_opins SERIAL ,
  id_empresa INT NOT NULL ,
  numero_op INT NOT NULL ,
  item INT NOT NULL ,
  id_produto INT NOT NULL ,
  qtd_und_prod DECIMAL(15,6) NOT NULL ,
  unidade CHAR(3) NOT NULL ,
  qtd_prevista DECIMAL(12,3) NOT NULL ,
  qtd_requisitada DECIMAL(12,3) NOT NULL ,
  inf_usuario SMALLINT NOT NULL,
  CONSTRAINT pk_opins PRIMARY KEY (id_opins),
  CONSTRAINT fk_opins_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_opins_op FOREIGN KEY (id_empresa,numero_op) REFERENCES gestao.op (id_empresa,numero),
  CONSTRAINT key_opins_item    UNIQUE (id_empresa,numero_op, item),
  CONSTRAINT key_opins_produto UNIQUE (id_empresa,numero_op, id_produto),
  CONSTRAINT chk_opins_qtd_prevista CHECK (qtd_prevista>0),
  CONSTRAINT chk_opins_qtd_requisitada CHECK (qtd_prevista>0)
);

--RUN--

--SEQ 0006--
CREATE TABLE gestao.req
(
  id_req serial NOT NULL,
  id_empresa integer NOT NULL,
  numero integer,
  data date NOT NULL,
  tipo smallint,
  id_origem integer,
  id_destino integer,
  id_requisitante integer,
  nome_requisitante character(40) NOT NULL,
  id_lote integer,
  id_natureza integer,
  valor numeric(12,2),
  numero_os integer,
  numero_pedido integer,
  numero_op integer,
  anotacao character(40),
  status smallint,
  origem character(20),
  usuario character(15),
  CONSTRAINT pk_req PRIMARY KEY (id_req),
  CONSTRAINT fk_req_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_req_op FOREIGN KEY (id_empresa,numero_op) REFERENCES gestao.op (id_empresa,numero),
  CONSTRAINT key_req_numero UNIQUE (id_empresa, numero)
);


CREATE TABLE gestao.reqd
(
  id_reqd serial NOT NULL,
  id_empresa integer NOT NULL,
  id_req integer NOT NULL,
  ordem integer NOT NULL,
  id_produto integer NOT NULL,
  qtdade numeric(12,3) NOT NULL,
  und character(3) NOT NULL,
  valor numeric(12,4) NOT NULL,
  comprimento numeric(6,1) NOT NULL,
  qtdade_pecas numeric(5) NOT NULL,
  largura numeric(6,1) NOT NULL,
  lastro numeric(6,1) NOT NULL,
  CONSTRAINT pk_reqd PRIMARY KEY (id_reqd),
  CONSTRAINT fk_reqd_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_reqd_req FOREIGN KEY (id_req) REFERENCES gestao.req (id_req),
  CONSTRAINT key_reqd_ordem UNIQUE (id_req, ordem)
);
--RUN--

--SEQ 0007--
ALTER TABLE gestao.opins DROP CONSTRAINT chk_opins_qtd_prevista;
ALTER TABLE gestao.opins
  ADD CONSTRAINT chk_opins_qtd_prevista CHECK (qtd_prevista >= 0);

ALTER TABLE gestao.opins DROP CONSTRAINT chk_opins_qtd_requisitada;
ALTER TABLE gestao.opins
  ADD CONSTRAINT chk_opins_qtd_requisitada CHECK (qtd_requisitada >= 0);
--RUN--

--SEQ 0008--
CREATE TABLE gestao.ccusto (
  id_ccusto SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  codigo INT NOT NULL ,
  mascara CHAR(14) NOT NULL ,
  descricao CHAR(40) NOT NULL ,
  tipo CHAR(1) NOT NULL ,
  classificacao CHAR(2) NOT NULL ,
  nivel SMALLINT NOT NULL ,
  cod_nivel_ant INT NULL,
  CONSTRAINT pk_ccusto PRIMARY KEY (id_ccusto),
  CONSTRAINT fk_ccusto_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_ccusto_cod_nivel_ant  FOREIGN KEY (id_empresa,cod_nivel_ant) REFERENCES gestao.ccusto (id_empresa,codigo),
  CONSTRAINT key_ccusto_codigo UNIQUE (id_empresa,codigo),
  CONSTRAINT key_ccusto_mascara UNIQUE (id_empresa,mascara),
  CONSTRAINT chk_ccusto_tipo CHECK (tipo IN ('A','S')),
  CONSTRAINT chk_ccusto_classificacao CHECK (classificacao IN ('PR','AU','AD')),
  CONSTRAINT chk_ccusto_nivel CHECK (nivel IN (1,2,3,4)),
  CONSTRAINT chk_ccusto_cod_nivel_ant CHECK ((nivel=1 AND cod_nivel_ant IS NULL) OR (nivel>1 AND cod_nivel_ant IS NOT NULL))
);
--RUN--

--SEQ 0009--
ALTER TABLE gestao.ocd DROP CONSTRAINT key_ocd_situacao;
ALTER TABLE gestao.ocd ADD CONSTRAINT chk_ocd_situacao CHECK (situacao IN ('T','P','L','E','R','C'));
--RUN--

-- CRIA TABELAS PARA ROTINAS DE COTA  O DE PRE OS
-- POR JCS EM 30/01/2008
--SEQ 0010--
CREATE TABLE gestao.cotacao (
  id_cotacao SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  numero INT NOT NULL ,
  data DATE NOT NULL ,
  cond_pagto CHAR(30) NOT NULL,
  observacao VARCHAR(512) NOT NULL,
  situacao SMALLINT NOT NULL ,
  inc_usuario CHAR(12) NOT NULL,
  CONSTRAINT pk_cotacao PRIMARY KEY (id_cotacao),
  CONSTRAINT fk_cotacao_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT key_cotacao_numero UNIQUE (id_empresa,numero),
  CONSTRAINT chk_cotacao_situacao CHECK (situacao IN (1,2,3))
);

CREATE TABLE gestao.cotacaoi (
  id_cotacaoi SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  numero INT NOT NULL ,
  item INT NOT NULL ,
  tipo CHAR(1) NOT NULL ,
  id_produto INT NULL ,
  id_natureza INT NULL ,
  descricao CHAR(80) NOT NULL ,
  referencia CHAR(20) NOT NULL ,
  qtd_cotacao DECIMAL(12,3) NOT NULL ,
  und CHAR(3) NOT NULL,
  CONSTRAINT pk_cotacaoi PRIMARY KEY (id_cotacaoi),
  CONSTRAINT fk_cotacaoi_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_cotacaoi_cotacao FOREIGN KEY (id_empresa,numero) REFERENCES gestao.cotacao (id_empresa,numero),
  CONSTRAINT key_cotacaoi_item UNIQUE (id_empresa,numero,item)
);

CREATE TABLE gestao.cotacaof (
  id_cotacaof SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  numero INT NOT NULL ,
  item INT NOT NULL ,
  id_fornecedor INT NOT NULL ,
  qtd_aprovada DECIMAL(12,3) NOT NULL ,
  vl_unitario DECIMAL(12,4) NOT NULL ,
  tx_desc1 DECIMAL(5,2) NOT NULL ,
  vl_desc DECIMAL(12,2) NOT NULL ,
  vl_total DECIMAL(12,2) NOT NULL ,
  tx_ipi DECIMAL(5,2) NOT NULL ,
  vl_ipi DECIMAL(12,2) NOT NULL ,
  fornecedor_vencedor CHAR(1) NOT NULL,
  numero_oc INT NULL ,
  CONSTRAINT pk_cotacaof PRIMARY KEY (id_cotacaof),
  CONSTRAINT fk_cotacaof_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_cotacaof_cotacaoi FOREIGN KEY (id_empresa,numero,item) REFERENCES gestao.cotacaoi (id_empresa,numero,item),
  CONSTRAINT fk_cotacaof_oc FOREIGN KEY (id_empresa,numero_oc) REFERENCES gestao.oc (id_empresa,numero),
  CONSTRAINT key_cotacaof_item UNIQUE (id_empresa,numero,item,id_fornecedor),
  CONSTRAINT chk_cotacaof_vencedor CHECK (fornecedor_vencedor IN ('S','N'))
);
--RUN--

--SEQ 0011--
ALTER TABLE gestao.cotacao ADD COLUMN dt_vencto date;
ALTER TABLE gestao.cotacao ADD COLUMN hr_vencto time;
--RUN--

--SEQ 0012--
CREATE TABLE gestao.bloqmovto
(
  id_bloqmovto serial NOT NULL,
  id_empresa integer NOT NULL,
  modulo character(30) NOT NULL,
  periodo date NOT NULL,
  bloqueado character(1) NOT NULL,
  CONSTRAINT pk_bloqmovto PRIMARY KEY (id_bloqmovto),
  CONSTRAINT key_bloqmovto_empresa UNIQUE (id_empresa, modulo, periodo),
  CONSTRAINT chk_bloqmovto_bloqueado CHECK (bloqueado IN ('S','N'))
);
--RUN--

--SEQ 0013--
CREATE TABLE gestao.etiqpbqph
(
  id_etiqpbqph serial NOT NULL,
  id_empresa integer NOT NULL,
  codigo char(13) NOT NULL,
  descricao character(40) NOT NULL,
  modelo character(20) NOT NULL,
  acabamento character(20) NOT NULL,
  medida character(20) NOT NULL,
  pressao_r1p2 smallint NOT NULL,
  pressao_r2p2 smallint NOT NULL,
  pressao_r3p2 smallint NOT NULL,
  pressao_r4p2 smallint NOT NULL,
  pressao_r5p2 smallint NOT NULL,
  pressao_r1p4 smallint NOT NULL,
  pressao_r2p4 smallint NOT NULL,
  pressao_r3p4 smallint NOT NULL,
  pressao_r4p4 smallint NOT NULL,
  pressao_r5p4 smallint NOT NULL,
  pressao_r1p15 smallint NOT NULL,
  pressao_r2p15 smallint NOT NULL,
  pressao_r3p15 smallint NOT NULL,
  pressao_r4p15 smallint NOT NULL,
  pressao_r5p15 smallint NOT NULL,
  CONSTRAINT pk_etiqpbqph PRIMARY KEY (id_etiqpbqph),
  CONSTRAINT fk_etiqpbqph_empresa FOREIGN KEY (id_empresa)
      REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT key_etiqpbqph_codigo UNIQUE (id_empresa, codigo)
);
--RUN--

--SEQ 0014--
CREATE TABLE gestao.pcpmaq (
  id_pcpmaq SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  codigo CHAR(10) NOT NULL ,
  descricao CHAR(60) NOT NULL ,
  tipo SMALLINT NOT NULL ,
  grupo CHAR(30) NOT NULL ,
  dt_aquisicao DATE NULL ,
  vl_aquisicao DECIMAL(12,2) NOT NULL ,
  taxa_depreciacao DECIMAL(7,2) NOT NULL ,
  vl_mercado DECIMAL(12,2) NOT NULL ,
  dt_venda DATE NULL ,
  vl_venda DECIMAL(12,2) NOT NULL ,
  detalhes VARCHAR(1023) NOT NULL,
  CONSTRAINT pk_pcpmaq PRIMARY KEY (id_pcpmaq),
  CONSTRAINT fk_pcpmaq_empresa FOREIGN KEY (id_empresa)
      REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT key_pcpmaq_codigo UNIQUE (id_empresa, codigo)
);
--RUN--

--SEQ 0015--
CREATE INDEX key_estrutura_descricao  ON gestao.estrutura (upper(to_ascii(descricao)) bpchar_pattern_ops);
--RUN--

--SEQ 0016--
CREATE TABLE gestao.aveint (
  id_aveint SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  codigo INT NOT NULL ,
  tp_pessoa CHAR(1) NOT NULL ,
  cpf_cnpj CHAR(18) NULL ,
  ie CHAR(20) NULL ,
  nome CHAR(60) NOT NULL ,
  endereco CHAR(60) NULL ,
  complemento CHAR(40) NULL ,
  bairro CHAR(30) NULL ,
  id_municipio INT NOT NULL ,
  cep INT NULL ,
  telefone CHAR(30) NULL ,
  anotacoes VARCHAR(1023) NULL,
  CONSTRAINT pk_aveint PRIMARY KEY (id_aveint),
  CONSTRAINT fk_aveint_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT key_aveint_codigo UNIQUE (id_empresa,codigo),
  CONSTRAINT key_aveint_cpf_cnpj UNIQUE (id_empresa,cpf_cnpj),
  CONSTRAINT chk_aveint_tp_pessoa  CHECK (tp_pessoa IN ('F','J'))  
);

CREATE TABLE gestao.aveaviario (
  id_aveaviario SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  cod_integrado INT NOT NULL ,
  num_aviario INT NOT NULL ,
  nome CHAR(60) NOT NULL ,
  dias_ciclo SMALLINT NOT NULL ,
  area DECIMAL(8,2) NULL ,
  cap_silo INT NULL ,
  automacao SMALLINT NULL ,
  climatizacao SMALLINT NULL ,
  anotacoes VARCHAR(1023) NULL ,
  ativo SMALLINT NULL,
  CONSTRAINT pk_aveaviario PRIMARY KEY (id_aveaviario),
  CONSTRAINT fk_aveaviario_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_aveaviario_aveint FOREIGN KEY (id_empresa,cod_integrado) REFERENCES gestao.aveint (id_empresa,codigo),
  CONSTRAINT key_aveaviario_num_aviario UNIQUE (id_empresa,cod_integrado,num_aviario)
);


CREATE TABLE gestao.avelinhagem (
  id_avelinhagem SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  codigo INT NOT NULL ,
  nome CHAR(30) NOT NULL,
  CONSTRAINT pk_avelinhagem PRIMARY KEY (id_avelinhagem),
  CONSTRAINT fk_avelinhagem_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT key_avelinhagem_codigo UNIQUE (id_empresa,codigo)  
);

CREATE TABLE gestao.avestd (
  id_avestd SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  cod_linhagem INT NOT NULL ,
  sexo CHAR(1) NOT NULL ,
  dias_vida SMALLINT NOT NULL ,
  cons_racao_dia DECIMAL(8,1) NOT NULL ,
  cons_racao_ac DECIMAL(8,1) NOT NULL ,
  gpd DECIMAL(8,2) NOT NULL ,
  conv_alimentar DECIMAL(8,3) NOT NULL ,
  viabilidade DECIMAL(8,2) NOT NULL ,
  consumo_dia_agua DECIMAL(8,1) NOT NULL ,
  peso_padrao_min INT NOT NULL ,
  peso_padrao_max INT NOT NULL,
  CONSTRAINT pk_avestd PRIMARY KEY (id_avestd),
  CONSTRAINT fk_avestd_avelinhagem FOREIGN KEY (id_empresa,cod_linhagem) REFERENCES gestao.avelinhagem (id_empresa,codigo),
  CONSTRAINT key_avestd_dias_vida UNIQUE (id_empresa,cod_linhagem,sexo,dias_vida) ,
  CONSTRAINT chk_avestd_sexo  CHECK (sexo IN ('M','F','X'))  
);

CREATE TABLE gestao.avelote (
  id_avelote SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  numero INT NOT NULL ,
  cod_integrado INT NOT NULL ,
  num_aviario SMALLINT NOT NULL ,
  ativo SMALLINT NOT NULL ,
  data_inicio DATE NOT NULL ,
  data_aloj DATE NOT NULL ,
  hora_aloj TIME NOT NULL ,
  id_fornecedor INT NOT NULL ,
  num_lote_fornecedor CHAR(20) NOT NULL ,
  idade_matriz SMALLINT NOT NULL ,
  qtd_inicial INT NOT NULL ,
  sexo CHAR(1) NOT NULL ,
  cod_linhagem INT NOT NULL ,
  peso_1dia DECIMAL(8,1) NOT NULL ,
  cond_clima CHAR(1) NOT NULL ,
  num_camas SMALLINT NOT NULL ,
  data_fim DATE NULL ,
  qtd_final INT NOT NULL ,
  total_racao DECIMAL(12,2) NOT NULL ,
  peso_total DECIMAL(12,2) NOT NULL ,
  peso_medio DECIMAL(7,3) NOT NULL ,
  conv_alimentar DECIMAL(7,2) NOT NULL ,
  viabilidade DECIMAL(7,2) NOT NULL ,
  idade DECIMAL(7,1) NOT NULL ,
  iep DECIMAL(7,2) NOT NULL ,
  vl_und_ave DECIMAL(12,3) NOT NULL ,
  vl_apanha DECIMAL(12,2) NOT NULL ,
  vl_liq_apagar DECIMAL(12,2) NOT NULL ,
  dt_vencto DATE NULL,
  CONSTRAINT pk_avelote PRIMARY KEY (id_avelote),
  CONSTRAINT fk_avelote_aveaviario FOREIGN KEY (id_empresa,cod_integrado,num_aviario) REFERENCES gestao.aveaviario (id_empresa,cod_integrado,num_aviario),
  CONSTRAINT fk_avelote_avelinhagem FOREIGN KEY (id_empresa,cod_linhagem) REFERENCES gestao.avelinhagem (id_empresa,codigo),
  CONSTRAINT key_avelote_numero UNIQUE (id_empresa,numero) ,
  CONSTRAINT chk_avelote_sexo  CHECK (sexo IN ('M','F','X'))  
);
--RUN--

--SEQ 0017--
ALTER TABLE gestao.req ADD COLUMN numero_avelote integer;
ALTER TABLE gestao.req ADD CONSTRAINT fk_req_avelote FOREIGN KEY (id_empresa,numero_avelote)
      REFERENCES gestao.avelote (id_empresa,numero);
--RUN--

--SEQ 0018--
CREATE TABLE gestao.sscc
(
  id_sscc serial NOT NULL,
  id_empresa integer NOT NULL,
  codigo_sscc character(20) NOT NULL,
  data_inc date NOT NULL,
  hora_inc time NOT NULL,
  descricao character varying(59),
  estoque character(1),
  id_produto integer NOT NULL,
  prefixo_origem character(5) NOT NULL,
  id_origem integer NOT NULL,
  sequencial smallint,
  CONSTRAINT pk_sscc PRIMARY KEY (id_sscc),
  CONSTRAINT key_sscc_prefixo UNIQUE (codigo_sscc, prefixo_origem, sequencial),
  CONSTRAINT fk_sscc_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa)
);
--RUN--

--SEQ 0019--
CREATE TABLE gestao.avemort (
  id_avemort SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  numero_lote INT NOT NULL ,
  data DATE NOT NULL ,
  semana SMALLINT NOT NULL ,
  qtd_natural INT NOT NULL ,
  qtd_prolapso INT NOT NULL ,
  qtd_eliminado INT NOT NULL,
  CONSTRAINT pk_avemort PRIMARY KEY (id_avemort),
  CONSTRAINT fk_avemort_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_avemort_avelote FOREIGN KEY (id_empresa,numero_lote) REFERENCES gestao.avelote (id_empresa,numero),
  CONSTRAINT key_avemort_data  UNIQUE (id_empresa,numero_lote,data) 
);
--RUN--

--SEQ 0020--
CREATE TABLE gestao.averec (
  id_averec SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  numero_lote INT NOT NULL ,
  ordem SMALLINT NOT NULL ,
  data DATE NOT NULL ,
  destino CHAR(1) NOT NULL ,
  qtdade INT NOT NULL ,
  peso_total DECIMAL(12,2) NOT NULL ,
  docto CHAR(10) NOT NULL ,
  vl_und_ave DECIMAL(12,3) NOT NULL ,
  id_fornecedor INT NOT NULL ,
  dt_vencto DATE NOT NULL,
  CONSTRAINT pk_averec PRIMARY KEY (id_averec),
  CONSTRAINT fk_averec_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_averec_avelote FOREIGN KEY (id_empresa,numero_lote) REFERENCES gestao.avelote (id_empresa,numero),
  CONSTRAINT key_averec_ordem  UNIQUE (id_empresa,numero_lote,ordem) 
);
--RUN--

--SEQ 0021--
  alter table gestao.avelote alter column conv_alimentar type numeric(7,3);
--RUN--

--SEQ 0022--

CREATE TABLE gestao.lanctos (
  id SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  banco INT NOT NULL ,
  dt_lancto DATE NOT NULL ,
  dt_movto DATE NOT NULL ,
  numero CHAR(8) NULL ,
  valor DECIMAL(12,2) NOT NULL ,
  deb_cre CHAR(1) NOT NULL ,
  saldo DECIMAL(12,2) NOT NULL ,
  id_natureza INT NOT NULL ,
  complemento CHAR(30) NOT NULL ,
  compensado SMALLINT NOT NULL ,
  id_lancto_vinculado INT NULL ,
  origem CHAR(20) NULL ,
  ap_res_considerar SMALLINT NOT NULL,
  CONSTRAINT pk_lanctos PRIMARY KEY (id),
  CONSTRAINT fk_lanctos_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa)
);

CREATE INDEX key_lanctos_dtmovto ON gestao.lanctos (id_empresa, banco, dt_movto);
CREATE INDEX key_lanctos_dtlancto ON gestao.lanctos (id_empresa, banco, dt_lancto);
--RUN--

--SEQ 0023--
ALTER TABLE gestao.ccusto ADD COLUMN tipo_custo character(1);
--RUN--

--SEQ 0024--
CREATE TABLE gestao.detnatureza (
  id_detnatureza SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  origem VARCHAR(20) NOT NULL ,
  id_origem VARCHAR(20) NOT NULL ,
  ordem INT NOT NULL ,
  cod_ccusto INT NOT NULL ,
  id_natureza INT NOT NULL ,
  valor DECIMAL(12,2) NOT NULL,
  CONSTRAINT pk_detnatureza PRIMARY KEY (id_detnatureza),
  CONSTRAINT fk_detnatureza_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_detnatureza_ccusto FOREIGN KEY (id_empresa,cod_ccusto) REFERENCES gestao.ccusto (id_empresa,codigo),
  CONSTRAINT key_detnatureza_natureza UNIQUE (id_empresa, origem, id_origem, cod_ccusto, id_natureza),
  CONSTRAINT key_detnatureza_origem UNIQUE (id_empresa, origem, id_origem, ordem)
);
--RUN--

--SEQ 0025--
DROP INDEX gestao.key_lanctos_dtmovto;
CREATE INDEX key_lanctos_dtmovto ON gestao.lanctos (id_empresa, banco, dt_movto, id);
CREATE INDEX key_lanctos_origem  ON gestao.lanctos (origem);
--RUN--

--SEQ 0026--
CREATE TABLE gestao.pcpsetor (
  id_pcpsetor SERIAL NOT NULL,
  id_empresa INTEGER NOT NULL,
  codigo INTEGER NOT NULL,
  descricao CHAR(30) NOT NULL,
  origem_custo CHAR(1) NOT NULL,
  custo_hora DECIMAL(12,2) NOT NULL,
  cod_custo INTEGER,
  CONSTRAINT pk_pcpsetor PRIMARY KEY ( id_pcpsetor ),									       
  CONSTRAINT fk_pcpsetor_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT key_pcpsetor_codigo UNIQUE (id_empresa, codigo)
);
--RUN--

--SEQ 0027--
CREATE TABLE gestao.prevorc (
  id_prevorc SERIAL NOT NULL,
  id_empresa INTEGER NOT NULL,
  competencia DATE NOT NULL,
  cod_ccusto INTEGER NOT NULL,
  id_natureza INTEGER NOT NULL,
  valor_previsto DECIMAL(12,2) NOT NULL,
  valor_realizado DECIMAL(12,2) NOT NULL,
  CONSTRAINT pk_prevorc PRIMARY KEY (id_prevorc),
  CONSTRAINT key_prevorc_natureza UNIQUE (id_empresa, competencia, cod_ccusto, id_natureza),
  CONSTRAINT fk_prevorc_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_prevorc_ccusto FOREIGN KEY (id_empresa,cod_ccusto) REFERENCES gestao.ccusto (id_empresa,codigo)
);

CREATE TABLE gestao.prevprodsetor (
  id_prevprodsetor SERIAL NOT NULL,
  id_empresa INTEGER NOT NULL,
  cod_pcpsetor INTEGER NOT NULL,
  competencia DATE NOT NULL,
  qtd_prevista DECIMAL(12,3) NOT NULL,
  qtd_realizada DECIMAL(12,3) NOT NULL,
  valor_custo_previsto DECIMAL(12,5) NOT NULL, 
  valor_custo_realizado DECIMAL(12,5) NOT NULL,
  CONSTRAINT pk_prevprodsetor PRIMARY KEY(id_prevprodsetor),
  CONSTRAINT key_prevprodsetor_competencia UNIQUE (id_prevprodsetor, id_empresa, cod_pcpsetor, competencia),
  CONSTRAINT fk_prevprodsetor_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa)
);

ALTER TABLE gestao.pcpsetor RENAME cod_custo TO cod_ccusto;

ALTER TABLE gestao.pcpsetor ADD CONSTRAINT fk_pcpsetor_ccusto FOREIGN KEY (id_empresa,cod_ccusto) REFERENCES gestao.ccusto (id_empresa,codigo);
--RUN--

--SEQ 0028--
ALTER TABLE gestao.averec ALTER COLUMN dt_vencto DROP NOT NULL;
--RUN--

--SEQ 0029--
ALTER TABLE gestao.reqd ADD COLUMN variante character(30);
ALTER TABLE gestao.reqd ADD COLUMN validade DATE;
--RUN--

--SEQ 0030--
ALTER TABLE gestao.estrutura ADD COLUMN cod_laboratorio character(10);
ALTER TABLE gestao.estrutura
  ADD CONSTRAINT key_estrutura_cod_laboratorio UNIQUE(id_empresa, cod_laboratorio);

ALTER TABLE gestao.estruturad DROP CONSTRAINT key_estruturad_produto;
ALTER TABLE gestao.estruturad
  ADD CONSTRAINT key_estruturad_produto UNIQUE(id_estrutura, id_produto, med_compr, med_larg, med_espe, grupo, operacao);  
--RUN--

--SEQ 0031--
CREATE TABLE gestao.mensagemnf (
  id_mensagemnf SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  codigo INT NOT NULL ,
  descricao CHAR(50) NOT NULL ,
  linha1 CHAR(150) NOT NULL ,
  linha2 CHAR(150) NULL ,
  linha3 CHAR(150) NULL ,
  linha4 CHAR(150) NULL ,
  linha5 CHAR(150) NULL ,
  CONSTRAINT pk_mensagemnf PRIMARY KEY(id_mensagemnf),
  CONSTRAINT key_mensagemnf_codigo UNIQUE (id_empresa, codigo),
  CONSTRAINT fk_mensagemnf_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa)
);
--RUN--

--SEQ 0032--
CREATE TABLE gestao.estado
(
  sigla character(2) NOT NULL,
  nome character(30) NOT NULL,
  codigo_ibge integer,
  CONSTRAINT pk_estado PRIMARY KEY (sigla),
  CONSTRAINT key_estado_codigo_ibge UNIQUE (codigo_ibge),
  CONSTRAINT chk_estado_sigla CHECK (sigla::text = upper(sigla::text))
);

CREATE TABLE gestao.municipio
(
  id_municipio serial NOT NULL,
  codigo_ibge integer,
  codigo_estadual integer,
  nome varchar(60) NOT NULL,
  estado character(2) NOT NULL,
  id_regiao integer,
  cst_frete_m3 numeric(15,2) NOT NULL,
  populacao integer NOT NULL,
  codigo_federal integer,
  CONSTRAINT pk_municipio PRIMARY KEY (id_municipio),
  CONSTRAINT fk_municipio_estado FOREIGN KEY (estado)
      REFERENCES gestao.estado (sigla) MATCH SIMPLE,
  CONSTRAINT key_municipio_codigo_federal UNIQUE (codigo_federal),
  CONSTRAINT key_municipio_codigo_ibge UNIQUE (codigo_ibge)
);
--RUN--

--SEQ 0033--
INSERT INTO gestao.estado (codigo_ibge, sigla, nome ) VALUES (11,'RO','Rond nia');
INSERT INTO gestao.estado (codigo_ibge, sigla, nome ) VALUES (12,'AC','Acre');
INSERT INTO gestao.estado (codigo_ibge, sigla, nome ) VALUES (13,'AM','Amazonas');
INSERT INTO gestao.estado (codigo_ibge, sigla, nome ) VALUES (14,'RR','Roraima');
INSERT INTO gestao.estado (codigo_ibge, sigla, nome ) VALUES (15,'PA','Par ');
INSERT INTO gestao.estado (codigo_ibge, sigla, nome ) VALUES (16,'AP','Amap ');
INSERT INTO gestao.estado (codigo_ibge, sigla, nome ) VALUES (17,'TO','Tocantins');
INSERT INTO gestao.estado (codigo_ibge, sigla, nome ) VALUES (21,'MA','Maranh o');
INSERT INTO gestao.estado (codigo_ibge, sigla, nome ) VALUES (22,'PI','Piau ');
INSERT INTO gestao.estado (codigo_ibge, sigla, nome ) VALUES (23,'CE','Cear ');
INSERT INTO gestao.estado (codigo_ibge, sigla, nome ) VALUES (24,'RN','Rio Grande do Norte');
INSERT INTO gestao.estado (codigo_ibge, sigla, nome ) VALUES (25,'PB','Para ba');
INSERT INTO gestao.estado (codigo_ibge, sigla, nome ) VALUES (26,'PE','Pernambuco');
INSERT INTO gestao.estado (codigo_ibge, sigla, nome ) VALUES (27,'AL','Alagoas');
INSERT INTO gestao.estado (codigo_ibge, sigla, nome ) VALUES (28,'SE','Sergipe');
INSERT INTO gestao.estado (codigo_ibge, sigla, nome ) VALUES (29,'BA','Bahia');
INSERT INTO gestao.estado (codigo_ibge, sigla, nome ) VALUES (31,'MG','Minas Gerais');
INSERT INTO gestao.estado (codigo_ibge, sigla, nome ) VALUES (32,'ES','Esp rito Santo');
INSERT INTO gestao.estado (codigo_ibge, sigla, nome ) VALUES (33,'RJ','Rio de Janeiro');
INSERT INTO gestao.estado (codigo_ibge, sigla, nome ) VALUES (35,'SP','S o Paulo');
INSERT INTO gestao.estado (codigo_ibge, sigla, nome ) VALUES (41,'PR','Paran ');
INSERT INTO gestao.estado (codigo_ibge, sigla, nome ) VALUES (42,'SC','Santa Catarina');
INSERT INTO gestao.estado (codigo_ibge, sigla, nome ) VALUES (43,'RS','Rio Grande do Sul');
INSERT INTO gestao.estado (codigo_ibge, sigla, nome ) VALUES (50,'MS','Mato Grosso do Sul');
INSERT INTO gestao.estado (codigo_ibge, sigla, nome ) VALUES (51,'MT','Mato Grosso');
INSERT INTO gestao.estado (codigo_ibge, sigla, nome ) VALUES (52,'GO','Goi s');
INSERT INTO gestao.estado (codigo_ibge, sigla, nome ) VALUES (53,'DF','Distrito Federal');
INSERT INTO gestao.estado (codigo_ibge, sigla, nome ) VALUES (Null,'EX','Exporta  o');
--RUN--

--SEQ 0034--
ALTER TABLE gestao.aveint
  ADD CONSTRAINT fk_aveint_municipio FOREIGN KEY (id_municipio)
      REFERENCES gestao.municipio (id_municipio);
--RUN--

--SEQ 0035--
ALTER TABLE gestao.lanctos  ADD COLUMN cod_ccusto integer;
ALTER TABLE gestao.lanctos
  ADD CONSTRAINT fk_lanctos_ccusto FOREIGN KEY (id_empresa,cod_ccusto)
      REFERENCES gestao.ccusto (id_empresa,codigo);
--RUN--


--SEQ 0036--
CREATE TABLE gestao.tabcomp
(
  id_tabcomp serial NOT NULL,
  id_empresa INT NOT NULL,
  nome_tabcomp VARCHAR(30),
  id_empresa_tabcomp INT NOT NULL ,
  CONSTRAINT pk_tabcomp PRIMARY KEY (id_tabcomp),
  CONSTRAINT fk_tabcomp_empresa1 FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_tabcomp_empresa2 FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT key_tabcomp_empresa UNIQUE (id_empresa,nome_tabcomp),
  CONSTRAINT chk_tabcomp_empresa CHECK (NOT id_empresa=id_empresa_tabcomp)
);
--RUN--

--SEQ 0037--
CREATE TABLE gestao.moddocfiscal
(
  codigo character(2) NOT NULL,
  descricao varchar(60) NOT NULL,
  CONSTRAINT pk_moddocfiscal PRIMARY KEY (codigo)
);
--RUN--

--SEQ 0038--
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('01' ,'Nota Fiscal');
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('1B' ,'Nota Fiscal Avulsa');
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('02' ,'Nota Fiscal de Venda a Consumidor');
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('2D' ,'Cupom Fiscal');
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('2E' ,'Cupom Fiscal Bilhete de Passagem');
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('04' ,'Nota Fiscal de Produtor');
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('06' ,'Nota Fiscal/Conta de Energia El trica');
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('07' ,'Nota Fiscal de Servi o de Transporte');
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('08' ,'Conhecimento de Transporte Rodovi rio de Cargas');
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('8B' ,'Conhecimento de Transporte de Cargas Avulso');
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('09' ,'Conhecimento de Transporte Aquavi rio de Cargas');
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('10' ,'Conhecimento A reo');
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('11' ,'Conhecimento de Transporte Ferrovi rio de Cargas');
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('13' ,'Bilhete de Passagem Rodovi rio');
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('14' ,'Bilhete de Passagem Aquavi rio');
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('15' ,'Bilhete de Passagem e Nota de Bagagem');
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('16' ,'Bilhete de Passagem Ferrovi rio');
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('18' ,'Resumo de Movimento Di rio');
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('21' ,'Nota Fiscal de Servi o de Comunica  o');
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('22' ,'Nota Fiscal de Servi o de Telecomunica  o');
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('26' ,'Conhecimento de Transporte Multimodal de Cargas');
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('27' ,'Nota Fiscal De Transporte Ferrovi rio De Carga');
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('28' ,'Nota Fiscal/Conta de Fornecimento de G s Canalizado');
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('29' ,'Nota Fiscal/Conta de Fornecimento de  gua Canalizada');
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('55' ,'Nota Fiscal Eletr nica');
--RUN--

--SEQ 0039--
ALTER TABLE gestao.empresa ADD COLUMN cep integer;
ALTER TABLE gestao.empresa ADD COLUMN tp_amb_nfe smallint;
ALTER TABLE gestao.empresa ADD COLUMN certificado_digital varchar(199);
--RUN--

--SEQ 0040--
ALTER TABLE gestao.empresa DROP COLUMN telefone;
ALTER TABLE gestao.empresa ALTER serie_nf TYPE character(3);
ALTER TABLE gestao.empresa RENAME num_nf  TO numero_nf;
ALTER TABLE gestao.empresa ADD COLUMN serie_nfe integer;
ALTER TABLE gestao.empresa ADD COLUMN numero_nfe integer;
ALTER TABLE gestao.empresa ADD COLUMN telefone numeric(10);
ALTER TABLE gestao.empresa ADD COLUMN complemento char(40);
ALTER TABLE gestao.empresa ADD COLUMN cod_pais_ibge integer;
ALTER TABLE gestao.empresa ADD COLUMN nome_pais char(40);
ALTER TABLE gestao.empresa ADD COLUMN cnae_fiscal integer;
ALTER TABLE gestao.empresa ADD COLUMN moddocfiscal char(2);
--RUN--

--SEQ 0041--
ALTER TABLE gestao.avelote ALTER COLUMN data_aloj DROP NOT NULL;
--RUN--

--SEQ 0042--
---------------------------------------
-- ST - SITUA  O TRIBUT RIA
---------------------------------------
CREATE TABLE gestao.st (
  id_st SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  codigo INT NOT NULL ,
  descricao CHAR(60) NOT NULL ,
  tp_operacao CHAR(1) NOT NULL ,
  ativa SMALLINT NOT NULL ,
  cst_ipi CHAR(2) NULL ,
  classe_enq_ipi CHAR(5) NOT NULL ,
  codigo_enq_ipi CHAR(3) NOT NULL ,
  tp_calc_ipi CHAR(1) NULL ,
  aliq_ipi DECIMAL(5,2) NOT NULL ,
  lancar_ipi SMALLINT NOT NULL ,
  calc_pis SMALLINT NOT NULL ,
  cst_pis CHAR(2) NULL ,
  tp_calc_pis CHAR(1) NULL ,
  aliq_pis DECIMAL(5,2) NOT NULL ,
  tp_calc_pisst CHAR(1) NOT NULL ,
  aliq_pisst DECIMAL(5,2) NOT NULL ,
  calc_cofins SMALLINT NOT NULL ,
  cst_cofins CHAR(2) NULL ,
  tp_calc_cofins CHAR(1) NULL ,
  aliq_cofins DECIMAL(5,2) NOT NULL ,
  tp_calc_cofinsst CHAR(1) NOT NULL ,
  aliq_cofinsst DECIMAL(5,2) NOT NULL ,
  taxa_bc_issqn DECIMAL(6,2) NOT NULL ,
  aliq_issqn DECIMAL(5,2) NOT NULL ,
  base_csll DECIMAL(5,2) NOT NULL ,
  aliq_csll DECIMAL(5,2) NOT NULL ,
  base_irpj DECIMAL(5,2) NOT NULL ,
  aliq_irpj DECIMAL(5,2) NOT NULL ,
  ecf_cod_st CHAR(4) NOT NULL ,
  ecf_st CHAR(1) NOT NULL ,
  ecf_aliquota DECIMAL(5,2) NOT NULL 
);

ALTER TABLE gestao.st ADD CONSTRAINT pk_st PRIMARY KEY (id_st);
ALTER TABLE gestao.st ADD CONSTRAINT fk_st_empresa FOREIGN KEY (id_empresa)
  REFERENCES gestao.empresa (id_empresa);
ALTER TABLE gestao.st ADD CONSTRAINT key_st_codigo UNIQUE(codigo, id_empresa);
ALTER TABLE gestao.st
  ADD CONSTRAINT chk_st_tp_operacao CHECK (tp_operacao IN ('E','S'));
ALTER TABLE gestao.st
  ADD CONSTRAINT chk_st_cstipi CHECK (cst_ipi IN ('00','01','02','03','04','49','50','51','52','53','54','55','99','NA'));
ALTER TABLE gestao.st
  ADD CONSTRAINT chk_st_cstpis CHECK (cst_pis IN ('01','02','03','04','06','07','08','09','99'));
ALTER TABLE gestao.st
  ADD CONSTRAINT chk_st_tp_calc_pis CHECK (tp_calc_pis IN ('Q','P'));
ALTER TABLE gestao.st
  ADD CONSTRAINT chk_st_tp_calc_pisst CHECK (tp_calc_pisst IN (' ','Q','P'));
ALTER TABLE gestao.st
  ADD CONSTRAINT chk_st_cstcofins CHECK (cst_cofins IN ('01','02','03','04','06','07','08','09','99'));
ALTER TABLE gestao.st
  ADD CONSTRAINT chk_st_tp_calc_cofins CHECK (tp_calc_cofins IN ('Q','P'));
ALTER TABLE gestao.st
  ADD CONSTRAINT chk_st_tp_calc_cofinsst CHECK (tp_calc_cofinsst IN (' ','Q','P'));

----------------------------------------
-- STICMS - SITUA  O TRIBUT RIA - ICMS
----------------------------------------
CREATE TABLE gestao.sticms (
  id_sticms SERIAL NOT NULL ,
  id_st INT NOT NULL ,
  uf CHAR(2) NOT NULL ,
  cst_icms SMALLINT NULL ,
  modal_bc_icms CHAR(1) NULL ,
  perc_red_bc_icms DECIMAL(5,2) NOT NULL ,
  perc_bc_icms DECIMAL(6,2) NOT NULL ,
  aliq_icms DECIMAL(5,2) NOT NULL ,
  modal_bc_icmsst CHAR(1) NULL ,
  aliq_icmsst DECIMAL(5,2) NOT NULL ,
  perc_red_bc_icmsst DECIMAL(5,2)  NOT NULL ,
  perc_marg_vl_icmsst DECIMAL(6,2) NOT NULL ,
  somar_icmsst_nf SMALLINT NOT NULL,
  cod_mensagemnf1 INT NOT NULL ,
  cod_mensagemnf2 INT NOT NULL ,
  lancar_icms SMALLINT NOT NULL
);
ALTER TABLE gestao.sticms ADD CONSTRAINT pk_sticms PRIMARY KEY (id_sticms);
ALTER TABLE gestao.sticms ADD CONSTRAINT fk_sticms_st FOREIGN KEY (id_st)
  REFERENCES gestao.st (id_st);
ALTER TABLE gestao.sticms ADD CONSTRAINT key_sticms_uf UNIQUE(id_st,uf);
ALTER TABLE gestao.sticms
  ADD CONSTRAINT chk_sticms_csticms CHECK (cst_icms IN ('00','10','20','30','40','41','50','51','60','70','90'));  
ALTER TABLE gestao.sticms
  ADD CONSTRAINT chk_sticms_modal_bc_icms CHECK (modal_bc_icms IN ('0','1','2','3'));  
ALTER TABLE gestao.sticms
  ADD CONSTRAINT chk_sticms_modal_bc_icmsst CHECK (modal_bc_icmsst IN ('0','1','2','3','4','5'));
--RUN--

--SEQ 0043--
------------------------------
-- NF - NOTAS FISCAIS
------------------------------
CREATE TABLE gestao.nf (
  id_nf SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  status CHAR(1) NOT NULL ,
  modelo CHAR(2) NOT NULL ,
  serie CHAR(3) NOT NULL ,
  numero INT NOT NULL ,
  dt_emissao DATE NOT NULL ,
  dt_saient DATE,
  hr_saida TIME,
  nat_op VARCHAR(60) ,
  tp_docto CHAR(1) NOT NULL ,
  ind_formapag SMALLINT NOT NULL,
  cod_mun_ocorrencia INT NOT NULL,
  motivo_cancelamento VARCHAR(255),
-- DADOS DO EMITENTE
  cnpj_emitente CHAR(14) NOT NULL,
  nome_emitente VARCHAR(60) NOT NULL,
  fantasia_emitente VARCHAR(60),
  ie_emitente VARCHAR(14) NOT NULL,
  iest_emitente VARCHAR(14),
  im_emitente VARCHAR(15),
  cnae_emitente VARCHAR(7),
-- DADOS DO DESTINATARIO/REMETENTE
  id_desrem INT,
  nome_desrem VARCHAR(60) NOT NULL,
  tipo_inscr_desrem SMALLINT NOT NULL,
  inscr_desrem VARCHAR(14) NOT NULL,
  ie_desrem VARCHAR(14) NOT NULL,
  inscr_suframa_desrem VARCHAR(9),
-- GRUPO DADOS TOTAIS DE TRIBUTO GERAIS
  bc_icms DECIMAL(12,2) NOT NULL ,
  vl_icms DECIMAL(12,2) NOT NULL ,
  bc_icmsst DECIMAL(12,2) NOT NULL ,
  vl_icmsst DECIMAL(12,2) NOT NULL ,
  vl_ii DECIMAL(12,2) NOT NULL ,
  vl_ipi DECIMAL(12,2) NOT NULL ,
  vl_pis DECIMAL(12,2) NOT NULL ,
  vl_cofins DECIMAL(12,2) NOT NULL ,
-- GRUPO DADOS ISSQN
  vl_serv_nt_icms DECIMAL(12,2) NOT NULL ,
  bc_iss DECIMAL(12,2) NOT NULL ,
  vl_iss DECIMAL(12,2) NOT NULL ,
  vl_pis_serv DECIMAL(12,2) NOT NULL ,
  vl_cofins_serv DECIMAL(12,2) NOT NULL ,
-- GRUPO DADOS DE RETEN  O DE TRIBUTOS
  vl_ret_pis DECIMAL(12,2) NOT NULL ,
  vl_ret_cofins DECIMAL(12,2) NOT NULL ,
  vl_ret_csll DECIMAL(12,2) NOT NULL ,
  bc_irrf DECIMAL(12,2) NOT NULL ,
  vl_irrf DECIMAL(12,2) NOT NULL ,
  bc_ret_prev DECIMAL(12,2) NOT NULL ,
  aliq_ret_prev DECIMAL(6,2) NOT NULL ,
  vl_ret_prev DECIMAL(12,2) NOT NULL ,
-- GRUPO DADOS TOTAIS DA NF
  vl_produtos DECIMAL(12,2) NOT NULL ,
  vl_frete DECIMAL(12,2) NOT NULL ,
  vl_seguro DECIMAL(12,2) NOT NULL ,
  vl_desconto DECIMAL(12,2) NOT NULL ,
  vl_outras DECIMAL(12,2) NOT NULL ,
  vl_nf DECIMAL(12,2) NOT NULL ,   
-- GRUPO DADOS TRANSPORTE
  id_transp INT ,
  mod_frete SMALLINT NOT NULL ,
  tipo_inscr_transp SMALLINT,
  inscr_transp VARCHAR(14) ,
  nome_transp VARCHAR(60) ,
  ie_transp VARCHAR(14) ,
  ender_transp VARCHAR(60) ,
  munic_transp VARCHAR(60) ,
  uf_transp CHAR(2),
-- GRUPO DADOS TRANSPORTE - RETEN  O DO ICMS
  vl_servico_transp DECIMAL(12,2) NOT NULL ,
  bc_icms_transp DECIMAL(12,2) NOT NULL ,
  aliq_icms_transp DECIMAL(5,2) NOT NULL ,
  vl_icms_retido_transp DECIMAL(12,2) NOT NULL ,
  cfop_transp INT ,
  cod_mun_transp INT ,
-- GRUPO DADOS COBRAN A
  num_fatura VARCHAR(60) ,
  vl_orig_fatura DECIMAL(12,2) NOT NULL ,
  vl_desc_fatura DECIMAL(12,2) NOT NULL ,
  vl_liqu_fatura DECIMAL(12,2) NOT NULL ,
  rec_antecipado DECIMAL(12,2) NOT NULL ,
  id_condpagto INT,
-- GRUPO DADOS INFORMA  ES ADICIONAIS
  inf_ad_fisco VARCHAR(256) ,
  inf_ad_contr TEXT ,
-- GRUPO DADOS EXPORTA  O
  uf_emb_exp CHAR(2),
  local_emb_exp VARCHAR(60),
-- GRUPO DADOS COMPRAS
  inf_nota_empenho VARCHAR(17),
  inf_pedido VARCHAR(60),
  inf_contrato VARCHAR(60),
-- GRUPO DADOS NFE
  tp_amb SMALLINT ,
  forma_emissao SMALLINT,
  finalidade_emissao SMALLINT,
  tp_imp_danfe SMALLINT,
  danfe_impresso SMALLINT,
  cod_uf_emitente SMALLINT ,
  codigo_chave_nfe INT ,
  chave_acesso_nfe CHAR(44) ,
  digest_value VARCHAR(28),
  lote_nfe NUMERIC(15),
  num_recibo_lote NUMERIC(15),
  num_protocolo NUMERIC(15),
  dt_protocolo DATE,
  hr_protocolo TIME,
  cod_status_nfe INT,
  desc_status_nfe VARCHAR(255),
  num_protocolo_canc_nfe NUMERIC(15),
  dt_protocolo_canc_nfe DATE,
  hr_protocolo_canc_nfe TIME,
  cod_status_canc_nfe INT,
  desc_status_canc_nfe VARCHAR(255),
  xml_nfe TEXT,
-- GRUPO DADOS - NSU
  nsu NUMERIC(10) ,
  nsu_data DATE,
  nsu_hora TIME,
  dt_impressao DATE,
  hr_impressao TIME,
-- GRUPO DADOS - OUTRAS INFORMA  ES  
  especie_docto CHAR(5),
  num_pedido INT ,
  num_entrega INT ,
  id_maqecf INT,
  num_cupom_fiscal INT,
  num_contr_form INT ,
  vol_m3 DECIMAL(10,3) NOT NULL ,
  bc_icms_antecipado DECIMAL(12,2) NOT NULL ,
  vl_icms_antecipado DECIMAL(12,2) NOT NULL ,
  receita_emitida CHAR(1),
  contabilizado CHAR(1),
  vl_entrada DECIMAL(12,2) NOT NULL
-- CAMPOS SISTEMA LEGADO  
--  cfop INT NOT NULL ,
--  isentas_icms DECIMAL(12,2) NOT NULL ,
--  outras_icms DECIMAL(12,2) NOT NULL ,
--  vl_acrescimo DECIMAL(12,2) NOT NULL ,
--  vl_desc_ipi DECIMAL(12,2) NOT NULL ,
--  bc_funrural DECIMAL(12,2) NOT NULL ,
--  vl_funrural DECIMAL(12,2) NOT NULL ,
--  ctr INT NOT NULL ,
--  num_ctc INT,
);

ALTER TABLE gestao.nf
  ADD CONSTRAINT pk_nf PRIMARY KEY (id_nf);

ALTER TABLE gestao.nf
  ADD CONSTRAINT fk_nf_empresa FOREIGN KEY (id_empresa)
  REFERENCES gestao.empresa (id_empresa);

ALTER TABLE gestao.nf
  ADD CONSTRAINT fk_nf_municipio1 FOREIGN KEY (cod_mun_ocorrencia)
  REFERENCES gestao.municipio (codigo_ibge);	

ALTER TABLE gestao.nf
  ADD CONSTRAINT fk_nf_municipio2 FOREIGN KEY (cod_mun_transp)
  REFERENCES gestao.municipio (codigo_ibge);	

ALTER TABLE gestao.nf
  ADD CONSTRAINT fk_nf_estado1 FOREIGN KEY (uf_transp)
  REFERENCES gestao.estado (sigla);	

ALTER TABLE gestao.nf
  ADD CONSTRAINT fk_nf_estado2 FOREIGN KEY (uf_emb_exp)
  REFERENCES gestao.estado (sigla);	

ALTER TABLE gestao.nf
  ADD CONSTRAINT fk_nf_estado3 FOREIGN KEY (cod_uf_emitente)
  REFERENCES gestao.estado (codigo_ibge);	

ALTER TABLE gestao.nf
  ADD CONSTRAINT fk_nf_moddocfiscal FOREIGN KEY (modelo)
  REFERENCES gestao.moddocfiscal (codigo);	

ALTER TABLE gestao.nf
  ADD CONSTRAINT key_nf_numero UNIQUE(numero, serie, modelo, id_empresa);

ALTER TABLE gestao.nf
  ADD CONSTRAINT key_nf_nsu UNIQUE(id_empresa, nsu);

ALTER TABLE gestao.nf
  ADD CONSTRAINT key_nf_num_entrega UNIQUE(num_entrega, id_empresa);

ALTER TABLE gestao.nf
  ADD CONSTRAINT key_nf_num_pedido UNIQUE(num_pedido, id_empresa);

ALTER TABLE gestao.nf
  ADD CONSTRAINT key_lote_nfe UNIQUE(id_empresa, lote_nfe);

ALTER TABLE gestao.nf
  ADD CONSTRAINT chk_nf_tpamb CHECK (tp_amb IN (1,2));

ALTER TABLE gestao.nf
  ADD CONSTRAINT chk_nf_ind_formapag CHECK (ind_formapag IN (0,1,2));  

ALTER TABLE gestao.nf
  ADD CONSTRAINT chk_nf_modfrete CHECK (mod_frete IN (0,1));

ALTER TABLE gestao.nf
  ADD CONSTRAINT chk_nf_dt_emissao CHECK (dt_emissao<= now());

ALTER TABLE gestao.nf
  ADD CONSTRAINT chk_nf_dt_saient CHECK (dt_saient >= dt_emissao);

ALTER TABLE gestao.nf 
  ADD CONSTRAINT chk_nf_nsu CHECK ((dt_emissao>'2008-10-31' AND status='E' AND nsu IS NOT NULL) OR dt_emissao<='2008-10-31' OR NOT status='E' OR modelo='55');

ALTER TABLE gestao.nf 
  ADD CONSTRAINT chk_nf_nsu_data CHECK ((dt_emissao>'2008-10-31' AND status='E' AND nsu_data IS NOT NULL) OR dt_emissao<='2008-10-31' OR NOT status='E' OR modelo='55');

ALTER TABLE gestao.nf 
  ADD CONSTRAINT chk_nf_nsu_hora CHECK ((dt_emissao>'2008-10-31' AND status='E' AND nsu_hora IS NOT NULL) OR dt_emissao<='2008-10-31' OR NOT status='E' OR modelo='55');
  
CREATE INDEX key_nf_dt_emissao
  ON gestao.nf (id_empresa,dt_emissao);
--RUN--

--SEQ 0044--
-- NF REFERENCIADA
CREATE TABLE gestao.nfref (
  id_nfref SERIAL NOT NULL ,
  id_nf INT NOT NULL ,
  modelo_nf CHAR(2),
  chave_acesso_nfe VARCHAR(44),
  cod_uf_emitente SMALLINT ,
  dt_emissao DATE,
  cnpj_emitente VARCHAR(14),
  serie CHAR(3),
  numero INT
);

ALTER TABLE gestao.nfref
  ADD CONSTRAINT pk_nfref PRIMARY KEY (id_nfref);
  
ALTER TABLE gestao.nfref
  ADD CONSTRAINT fk_nfref_nf FOREIGN KEY (id_nf)
  REFERENCES gestao.nf (id_nf);

ALTER TABLE gestao.nfref
  ADD CONSTRAINT fk_nfref_estado FOREIGN KEY (cod_uf_emitente)
  REFERENCES gestao.estado (codigo_ibge);	

-- NF TRANSPORTADOS (VEICULO/REBOQUE)
CREATE TABLE gestao.nftransp (
  id_nftransp SERIAL NOT NULL ,
  id_nf INT NOT NULL ,
  tipo CHAR(2) NOT NULL,
  placa_veiculo VARCHAR(8) NOT NULL ,
  uf_veiculo CHAR(2) NOT NULL,
  rntc_veiculo VARCHAR(20)
);

ALTER TABLE gestao.nftransp
  ADD CONSTRAINT pk_nftransp PRIMARY KEY (id_nftransp);
  
ALTER TABLE gestao.nftransp
  ADD CONSTRAINT fk_nftransp_nf FOREIGN KEY (id_nf)
  REFERENCES gestao.nf (id_nf);

ALTER TABLE gestao.nftransp
  ADD CONSTRAINT fk_nftransp_estado FOREIGN KEY (uf_veiculo)
  REFERENCES gestao.estado (sigla);	

ALTER TABLE gestao.nftransp 
  ADD CONSTRAINT chk_nf_transp CHECK (tipo IN ('V','R1','R2'));

ALTER TABLE gestao.nftransp
  ADD CONSTRAINT key_nftransp_tipo UNIQUE(id_nf,tipo);
--RUN--

--SEQ 0045--
-- NF DETALHE  
CREATE TABLE gestao.nfdet (
  id_nfdet SERIAL NOT NULL ,
  id_nf INT NOT NULL ,
  num_item INT NOT NULL ,
  cod_produto VARCHAR(13) NOT NULL,
  cod_ean VARCHAR(14),
  descricao VARCHAR(120) NOT NULL,
  cod_ncm VARCHAR(8),
  ex_tipi CHAR(3),
  genero SMALLINT,
  cfop INT NOT NULL,
  und_comercial VARCHAR(6) NOT NULL,
  qtd_comercial DECIMAL(12,4) NOT NULL ,
  vl_unit_comercial DECIMAL(16,4) NOT NULL ,
  vl_total_bruto DECIMAL(15,2) NOT NULL ,
  cod_ean_tributavel VARCHAR(14),
  und_tributavel VARCHAR(6) NOT NULL,
  qtd_tributavel DECIMAL(12,4) NOT NULL ,
  vl_unit_tributavel DECIMAL(16,4) NOT NULL ,
  vl_frete DECIMAL(15,2) NOT NULL ,
  vl_seguro DECIMAL(15,2) NOT NULL ,
  vl_desconto DECIMAL(15,2) NOT NULL ,
  produto_especifico CHAR(1),
-- GRUPO TRIBUTOS - ICMS
  cst_icms CHAR(2) NOT NULL ,
  origem SMALLINT NOT NULL ,
  modal_bc_icms CHAR(1),
  perc_red_bc_icms DECIMAL(5,2) NOT NULL ,
  bc_icms DECIMAL(15,2) NOT NULL ,
  aliq_icms DECIMAL(5,2) NOT NULL ,
  vl_icms DECIMAL(15,2) NOT NULL ,
  isentas_icms DECIMAL(15,2) NOT NULL ,
  outras_icms DECIMAL(15,2) NOT NULL ,
-- GRUPO TRIBUTOS - ICMSST
  modal_bc_icmsst CHAR(1) ,
  perc_marg_vl_icmsst DECIMAL(5,2) NOT NULL ,
  perc_red_bc_icmsst DECIMAL(5,2) NOT NULL ,
  bc_icmsst DECIMAL(15,2) NOT NULL ,
  aliq_icmsst DECIMAL(5,2) NOT NULL ,
  vl_icmsst DECIMAL(15,2) NOT NULL ,
-- GRUPO TRIBUTOS - IPI
  cst_ipi CHAR(2) NOT NULL ,
  classe_enq_ipi CHAR(5) ,
  codigo_enq_ipi CHAR(3) ,
  cnpj_produtor CHAR(14) ,
  codigo_selo VARCHAR(7) ,
  qtd_selo NUMERIC(12) ,
  tp_calc_ipi CHAR(1),
  bc_ipi DECIMAL(15,2) NOT NULL ,
  aliq_ipi DECIMAL(5,2) NOT NULL ,
  qtd_trib_ipi DECIMAL(16,4) NOT NULL ,
  vl_unid_trib_ipi DECIMAL(15,4) NOT NULL ,       -- alterado nome JCS 19/11
  vl_ipi DECIMAL(15,2) NOT NULL ,
  isentas_ipi DECIMAL(15,2) NOT NULL ,
  outras_ipi DECIMAL(15,2) NOT NULL ,
-- GRUPO TRIBUTOS - PIS
  cst_pis CHAR(2) NOT NULL ,
  tp_calc_pis CHAR(1),
  bc_pis DECIMAL(15,2) NOT NULL ,
  aliq_pis DECIMAL(5,2) NOT NULL ,
  aliq_vl_pis DECIMAL(15,4) NOT NULL ,
  qtd_trib_pis DECIMAL(16,4) NOT NULL ,
  vl_pis DECIMAL(15,2) NOT NULL ,
-- GRUPO TRIBUTOS - PISST
  tp_calc_pisst CHAR(1),
  bc_pisst DECIMAL(15,2) NOT NULL ,
  aliq_pisst DECIMAL(5,2) NOT NULL ,
  aliq_vl_pisst DECIMAL(15,4) NOT NULL ,
  qtd_trib_pisst DECIMAL(16,4) NOT NULL ,
  vl_pisst DECIMAL(15,2) NOT NULL ,
-- GRUPO TRIBUTOS - COFINS
  cst_cofins CHAR(2) NOT NULL ,
  tp_calc_cofins CHAR(1),
  bc_cofins DECIMAL(15,2) NOT NULL ,
  aliq_cofins DECIMAL(5,2) NOT NULL ,
  aliq_vl_cofins DECIMAL(15,4) NOT NULL ,
  qtd_trib_cofins DECIMAL(16,4) NOT NULL ,
  vl_cofins DECIMAL(15,2) NOT NULL ,
-- GRUPO TRIBUTOS - COFINSST
  tp_calc_cofinsst CHAR(1),
  bc_cofinsst DECIMAL(15,2) NOT NULL ,
  aliq_cofinsst DECIMAL(5,2) NOT NULL ,
  aliq_vl_cofinsst DECIMAL(15,4) NOT NULL ,
  qtd_trib_cofinsst DECIMAL(16,4) NOT NULL ,
  vl_cofinsst DECIMAL(15,2) NOT NULL ,
-- GRUPO TRIBUTOS - ISSQN
  bc_issqn DECIMAL(15,2) NOT NULL ,
  aliq_issqn DECIMAL(5,2) NOT NULL ,
  vl_issqn DECIMAL(15,2) NOT NULL ,
  cod_mun_issqn INT ,
  cod_servico INT ,
-- GRUPO TRIBUTOS - II
  bc_ii DECIMAL(15,2) NOT NULL ,
  vl_desp_aduana DECIMAL(15,2) NOT NULL ,  
  vl_iof_ii DECIMAL(15,2) NOT NULL,
  vl_ii DECIMAL(15,2) NOT NULL,
-- GRUPO OUTRAS INFORMA  ES
  tipo CHAR(1) NOT NULL ,
  id_tes INT NOT NULL ,
  id_st INT NOT NULL ,
  id_estlocal INT NULL ,
  volumes INT NOT NULL,  
  inf_adicionais VARCHAR(500),
  bc_icms_antecipado DECIMAL(12,2) NOT NULL ,
  vl_icms_antecipado DECIMAL(12,2) NOT NULL ,
  gerar_estoque CHAR(1)
);

ALTER TABLE gestao.nfdet
  ADD CONSTRAINT pk_nfdet PRIMARY KEY (id_nfdet);

ALTER TABLE gestao.nfdet
  ADD CONSTRAINT key_nfdet_item UNIQUE (id_nf, num_item);  
  
ALTER TABLE gestao.nfdet
  ADD CONSTRAINT fk_nfdet_nf FOREIGN KEY (id_nf)
  REFERENCES gestao.nf (id_nf);

ALTER TABLE gestao.nfdet
  ADD CONSTRAINT fk_nfdet_municipio FOREIGN KEY (cod_mun_issqn)
  REFERENCES gestao.municipio (codigo_ibge);	
  
ALTER TABLE gestao.nfdet
  ADD CONSTRAINT chk_nfdet_tipo CHECK (tipo IN ('P','S'));

ALTER TABLE gestao.nfdet
  ADD CONSTRAINT chk_nfdet_origem CHECK (origem IN (0,1,2));
  
ALTER TABLE gestao.nfdet
  ADD CONSTRAINT chk_nfdet_csticms CHECK (cst_icms IN ('00','10','20','30','40','41','50','51','60','70','90'));  

ALTER TABLE gestao.nfdet
  ADD CONSTRAINT chk_nfdet_modal_bc_icms CHECK (modal_bc_icms IN ('0','1','2','3'));  

ALTER TABLE gestao.nfdet
  ADD CONSTRAINT chk_nfdet_modal_bc_icmsst CHECK (modal_bc_icmsst IN ('0','1','2','3','4','5'));

ALTER TABLE gestao.nfdet
  ADD CONSTRAINT chk_nfdet_cstipi CHECK (cst_ipi IN ('00','01','02','03','04','49','50','51','52','53','54','55','99','NA'));

ALTER TABLE gestao.nfdet
  ADD CONSTRAINT chk_nfdet_cstpis CHECK (cst_pis IN ('01','02','03','04','06','07','08','09','99'));

ALTER TABLE gestao.nfdet
  ADD CONSTRAINT chk_nfdet_cstcofins CHECK (cst_cofins IN ('01','02','03','04','06','07','08','09','99'));


-- NF - DETALHE PROD ESPECIFICO - MEDICAMENTOS
CREATE TABLE gestao.nfdetmed (
  id_nfdetmed SERIAL NOT NULL ,
  id_nfdet INT NOT NULL ,
  num_lote VARCHAR(20) NOT NULL,
  qtd_prod_lote NUMERIC(11,3) NOT NULL,
  dt_fabricacao DATE NOT NULL,
  dt_validade DATE NOT NULL,
  preco_max_cons NUMERIC(15,2) NOT NULL
);

ALTER TABLE gestao.nfdetmed
  ADD CONSTRAINT pk_nfdetmed PRIMARY KEY (id_nfdetmed);
  
ALTER TABLE gestao.nfdetmed
  ADD CONSTRAINT fk_nfdetmed_nfdet FOREIGN KEY (id_nfdet)
  REFERENCES gestao.nfdet (id_nfdet);

-- NF VOLUMES
CREATE TABLE gestao.nfvol (
  id_nfvol SERIAL NOT NULL,
  id_nf INT NOT NULL ,
  num_item INT NOT NULL ,
  qtdade NUMERIC(15) ,
  especie VARCHAR(60),
  marca VARCHAR(60) ,
  numeracao VARCHAR(60),
  peso_liquido DECIMAL(12,3) NOT NULL ,
  peso_bruto DECIMAL(12,3) NOT NULL,
  lacre1 VARCHAR(60),
  lacre2 VARCHAR(60),
  lacre3 VARCHAR(60),
  lacre4 VARCHAR(60),
  lacre5 VARCHAR(60)
);

ALTER TABLE gestao.nfvol
  ADD CONSTRAINT pk_nfvol PRIMARY KEY (id_nfvol);

ALTER TABLE gestao.nfvol
  ADD CONSTRAINT fk_nfvol_nf FOREIGN KEY (id_nf)
  REFERENCES gestao.nf (id_nf);
  
ALTER TABLE gestao.nfvol
  ADD CONSTRAINT key_nfvol_num_item
  UNIQUE (id_nf, num_item);

-- NF OBSERVA  O CONTRIBUINTE
CREATE TABLE gestao.nfobs (
  id_nfobs SERIAL NOT NULL,
  id_nf INT NOT NULL ,
  campo VARCHAR(20) NOT NULL,
  texto VARCHAR(60) NOT NULL 
);

ALTER TABLE gestao.nfobs
  ADD CONSTRAINT pk_nfobs PRIMARY KEY (id_nfobs);
  
ALTER TABLE gestao.nfobs
  ADD CONSTRAINT fk_nfobs_nf FOREIGN KEY (id_nf)
  REFERENCES gestao.nf (id_nf);

ALTER TABLE gestao.nfobs
  ADD CONSTRAINT key_nfobs_campo
  UNIQUE (id_nf, campo);
  
-- NFE INUTILIZADAS  
CREATE TABLE gestao.nfeinut (
  id_nfeinut SERIAL NOT NULL ,
  id_empresa INT NOT NULL,
  chave_acesso CHAR(39) NOT NULL ,
  tp_amb SMALLINT NOT NULL ,
  modelo CHAR(2) NOT NULL ,
  serie CHAR(3) NOT NULL ,
  num_inicial INT NOT NULL ,
  num_final INT NOT NULL ,
  justificativa VARCHAR(255) NOT NULL ,
  cod_status SMALLINT NOT NULL,
  desc_status VARCHAR(255) NOT NULL,
  data DATE NOT NULL,
  hora TIME NOT NULL,
  num_protocolo NUMERIC(15) NOT NULL  
);

ALTER TABLE gestao.nfeinut
  ADD CONSTRAINT pk_nfeinut PRIMARY KEY (id_nfeinut);

ALTER TABLE gestao.nfeinut
  ADD CONSTRAINT fk_nfeinut_empresa FOREIGN KEY (id_empresa)
  REFERENCES gestao.empresa (id_empresa);

ALTER TABLE gestao.nfeinut
  ADD CONSTRAINT chk_nfeinut_tpamb CHECK (tp_amb IN (1,2));
  
-- NF - ENDERE O
CREATE TABLE gestao.nfendereco (
  id_nfendereco SERIAL NOT NULL ,
  id_nf INT NOT NULL ,
  tipo CHAR(1) NOT NULL ,
  cnpj VARCHAR(14),
  logradouro VARCHAR(60) NOT NULL ,
  numero VARCHAR(60) NOT NULL ,
  complemento VARCHAR(60),
  bairro VARCHAR(60) NOT NULL ,
  cod_municipio INT NULL ,
  nome_municipio VARCHAR(60) NOT NULL ,
  uf CHAR(2) NOT NULL ,
  cep INT,
  cod_pais INT,
  nome_pais VARCHAR(60),
  telefone NUMERIC(10)
);

ALTER TABLE gestao.nfendereco
  ADD CONSTRAINT pk_nfendereco PRIMARY KEY (id_nfendereco);
  
ALTER TABLE gestao.nfendereco
  ADD CONSTRAINT fk_nfendereco_nf FOREIGN KEY (id_nf)
  REFERENCES gestao.nf (id_nf);

ALTER TABLE gestao.nfendereco
  ADD CONSTRAINT fk_nfendereco_municipio FOREIGN KEY (cod_municipio)
  REFERENCES gestao.municipio (codigo_ibge);	

ALTER TABLE gestao.nfendereco
  ADD CONSTRAINT fk_nfendereco_estado FOREIGN KEY (uf)
  REFERENCES gestao.estado (sigla);	
    
ALTER TABLE gestao.nfendereco
  ADD CONSTRAINT chk_nfeendereco_tipo CHECK (tipo IN ('E','D','R','N'));
  
ALTER TABLE gestao.nfendereco
  ADD CONSTRAINT key_nfendereco_tipo UNIQUE (id_nf, tipo);  


-- NF - TOTAIS POR CFOP/TES/ST/TRIBUTO/ALIQUOTA
CREATE TABLE gestao.nftributo
(
  id_nftributo serial NOT NULL,
  id_empresa integer NOT NULL,
  id_nf integer NOT NULL,
  cfop integer NOT NULL,
  id_tes integer NOT NULL,
  id_st integer NOT NULL,
  tributo integer NOT NULL,
  vl_contabil numeric(12,2) NOT NULL,
  vl_bc numeric(12,2) NOT NULL,
  aliquota numeric(7,2) NOT NULL,
  vl_imposto numeric(12,2) NOT NULL,
  vl_isentos numeric(12,2) NOT NULL,
  vl_outros numeric(12,2) NOT NULL,
  CONSTRAINT pk_nftributo PRIMARY KEY (id_nftributo),
  CONSTRAINT fk_nftributo_empresa FOREIGN KEY (id_empresa)
      REFERENCES gestao.empresa (id_empresa) MATCH SIMPLE,
  CONSTRAINT key_nftributo_nf UNIQUE (id_empresa, id_nf, cfop, id_tes, id_st, tributo, aliquota),
  CONSTRAINT chk_nftributo_imposto CHECK (tributo IN (1,2,3,4,5))
);

ALTER TABLE gestao.nftributo
  ADD CONSTRAINT fk_nftributo_nf FOREIGN KEY (id_nf)
  REFERENCES gestao.nf (id_nf);
--RUN--


--SEQ 0046--
ALTER TABLE gestao.nfdetmed ADD CONSTRAINT chk_nfdetmed_dt_fabricacao CHECK (dt_fabricacao<=dt_validade);
ALTER TABLE gestao.empresa ADD COLUMN tipo_certificado char(2);
--RUN--

--SEQ 0047--

--SELECT gs1_prefixo_empresaold FROM gestao.empresa;

ALTER TABLE gestao.empresa ADD COLUMN gs1_prefixo_empresa character(9);
ALTER TABLE gestao.empresa ADD COLUMN gs1_unidade_fabril smallint;
ALTER TABLE gestao.empresa ADD COLUMN gs1_sequencial_sscc numeric(7);
--RUN--

--SEQ 0048--
ALTER TABLE gestao.reqd ADD COLUMN cod_ccusto  integer;
ALTER TABLE gestao.reqd ADD COLUMN id_natureza integer;
ALTER TABLE gestao.reqd
  ADD CONSTRAINT fk_reqd_ccusto FOREIGN KEY (id_empresa, cod_ccusto)
  REFERENCES gestao.ccusto (id_empresa, codigo);
--RUN--

--SEQ 0049--
ALTER TABLE gestao.empresa ADD COLUMN serie_nf2 character(3);
ALTER TABLE gestao.empresa ADD COLUMN numero_nf2 integer;
ALTER TABLE gestao.empresa ADD COLUMN id_matriz integer;
--RUN--

--SEQ 0050--
CREATE TABLE gestao.ordcoleta (
  id_ordcoleta SERIAL not NULL ,
  id_empresa INT NOT NULL ,
  numero INT NOT NULL ,
  data DATE NOT NULL ,
  hora TIME NULL ,
  id_remetente INT not NULL ,
  nome_solicitante CHAR(40) not NULL ,
  id_destinatario INT not NULL ,
  num_docfiscal INT not NULL ,
  data_docfiscal DATE not NULL ,
  volumes INT NULL ,
  especie CHAR(20) NULL ,
  peso DECIMAL(12,3) NULL ,
  m3 DECIMAL(12,3) NULL ,
  dt_prev_coleta DATE NULL ,
  hr1_prev_coleta TIME NULL ,
  hr2_prev_coleta TIME NULL ,
  situacao CHAR(1) not NULL ,
  data_coleta DATE NULL ,
  hora_coleta TIME NULL ,
  observacao CHAR(80),
  CONSTRAINT pk_ordcoleta PRIMARY KEY (id_ordcoleta),
  CONSTRAINT key_ordcoleta_numero_empresa UNIQUE (numero, id_empresa),
  CONSTRAINT fk_ordcoleta_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),  
  CONSTRAINT chk_ordcoleta_situacao CHECK (situacao IN ('P','E','C'))
);
--RUN--

--SEQ 0051--
CREATE TABLE gestao.aliqicmsaprov (
  id_aliqicmsaprov SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  mesano DATE NOT NULL ,
  aliq_icms DECIMAL(7,2) NOT NULL,
  CONSTRAINT pk_aliqicmsaprov PRIMARY KEY (id_aliqicmsaprov),
  CONSTRAINT fk_aliqicmsaprov_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),  
  CONSTRAINT key_aliqicmsaprov_mesano UNIQUE (mesano, id_empresa)
);
--RUN--

--SEQ 0052--
ALTER TABLE gestao.st ADD COLUMN credito_icms_simples smallint;
ALTER TABLE gestao.nf ADD COLUMN aliq_icmsaprov DECIMAL(7,2);
ALTER TABLE gestao.nf ADD COLUMN vl_icmsaprov   DECIMAL(12,2);
--RUN--

--SEQ 0053--
ALTER TABLE gestao.nftributo DROP CONSTRAINT chk_nftributo_imposto;
ALTER TABLE gestao.nftributo
  ADD CONSTRAINT chk_nftributo_tributo CHECK (tributo IN (1, 2, 3, 4, 5, 6));
--RUN--

--SEQ 0054--
---------------------------------------------
---- gestao.estlocal ------------------------
---------------------------------------------

CREATE TABLE gestao.estlocal
(
  id_estlocal serial NOT NULL,
  nome character(40) NOT NULL,
  sit_estoque smallint NOT NULL,
  CONSTRAINT pk_estlocal PRIMARY KEY (id_estlocal),
  CONSTRAINT chk_estlocal_sit_estoque CHECK (sit_estoque = 1 OR sit_estoque = 2 OR sit_estoque = 3)
);

---------------------------------------------
---- gestao.estinventario -------------------
---------------------------------------------

CREATE TABLE gestao.estinventario
(
  id_estinventario serial NOT NULL,
  id_empresa integer NOT NULL,
  data date NOT NULL,
  id_estlocal integer NOT NULL,
  id_produto integer NOT NULL,
  variante character(30),
  validade date,
  qtdade numeric(15,3) NOT NULL,
  valor numeric(15,2) NOT NULL,
  operador character(12) NOT NULL,
  CONSTRAINT pk_estiestinventario PRIMARY KEY (id_estinventario),
  CONSTRAINT fk_estinventario_empresa FOREIGN KEY (id_empresa)
      REFERENCES gestao.empresa (id_empresa) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT fk_estinventario_estlocal FOREIGN KEY (id_estlocal)
      REFERENCES gestao.estlocal (id_estlocal) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION
);


CREATE UNIQUE INDEX key_estinventario_data
  ON gestao.estinventario
  USING btree
  (id_empresa, id_estlocal, id_produto, (COALESCE(variante, ''::bpchar)), (COALESCE(validade, '1900-01-01'::date)), data);

---------------------------------------------
---- gestao.estsaldo ------------------------
---------------------------------------------

CREATE TABLE gestao.estsaldo
(
  id_estsaldo serial NOT NULL,
  id_empresa integer NOT NULL,
  id_estlocal integer NOT NULL,
  id_produto integer NOT NULL,
  variante character(30) NOT NULL,
  validade character(10) NOT NULL,
  qtdade numeric(17,3) NOT NULL,
  valor numeric(17,2) NOT NULL,
  custo_medio numeric(17,4) NOT NULL,
  qtd_empenhada numeric(17,3) NOT NULL,
  qtd_pedidos numeric(17,3) NOT NULL,
  CONSTRAINT pk_estsaldo PRIMARY KEY (id_estsaldo),
  CONSTRAINT fk_estsaldo_empresa FOREIGN KEY (id_empresa)
      REFERENCES gestao.empresa (id_empresa) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT fk_estsaldo_estlocal FOREIGN KEY (id_estlocal)
      REFERENCES gestao.estlocal (id_estlocal) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT key_estsaldo_empresa UNIQUE (id_empresa, id_estlocal, id_produto, variante, validade),
  CONSTRAINT chk_estsaldo_custo_medio CHECK (custo_medio >= 0::numeric)
);

---------------------------------------------
---- gestao.estmovto ------------------------
---------------------------------------------

CREATE TABLE gestao.estmovto
(
  id_estmovto serial NOT NULL,
  id_empresa integer NOT NULL,
  id_estlocal integer NOT NULL,
  id_produto integer NOT NULL,
  variante character(30) NOT NULL,
  validade character(10) NOT NULL,
  docto_natureza character(1) NOT NULL,
  docto_tipo character(3) NOT NULL,
  docto_serie character(5) NOT NULL,
  docto_numero character(12) NOT NULL,
  data date NOT NULL,
  historico character(50) NOT NULL,
  tipo character(1) NOT NULL,
  qtdade numeric(17,3) NOT NULL,
  valor numeric(15,2) NOT NULL,
  vl_ajuste numeric(15,2) NOT NULL,
  custo_medio numeric(17,4) NOT NULL DEFAULT 0,
  operador character(12) NOT NULL,
  status smallint NOT NULL,
  origem_prefixo character(3) NOT NULL,
  origem_id integer NOT NULL,
  origem_ordem integer NOT NULL,
  origem_seq integer NOT NULL,
  data_inc timestamp without time zone NOT NULL DEFAULT now(),
  ordem_proc integer NOT NULL DEFAULT 0,
  CONSTRAINT pk_estmovto PRIMARY KEY (id_estmovto),
  CONSTRAINT fk_estmovto_empresa FOREIGN KEY (id_empresa)
      REFERENCES gestao.empresa (id_empresa) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT fk_estmovto_estlocal FOREIGN KEY (id_estlocal)
      REFERENCES gestao.estlocal (id_estlocal) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT fk_estmovto_estsaldo FOREIGN KEY (id_empresa, id_estlocal, id_produto, variante, validade)
      REFERENCES gestao.estsaldo (id_empresa, id_estlocal, id_produto, variante, validade) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT key_estmovto_origem UNIQUE (id_empresa, origem_prefixo, origem_id, origem_ordem, origem_seq),
  CONSTRAINT chk_estmovto_docto_natureza CHECK (docto_natureza = 'F'::bpchar OR docto_natureza = 'I'::bpchar),
  CONSTRAINT chk_estmovto_qtdade CHECK (NOT qtdade = 0::numeric),
  CONSTRAINT chk_estmovto_status CHECK (status = 1 OR status = 2 OR status = 3),
  CONSTRAINT chk_estmovto_tipo CHECK (tipo = 'E'::bpchar OR tipo = 'S'::bpchar OR tipo = 'M'::bpchar OR tipo = 'P'::bpchar),
  CONSTRAINT chk_estmovto_vl_ajuste CHECK (tipo = 'S'::bpchar AND vl_ajuste = 0::numeric OR NOT tipo = 'S'::bpchar)
);

CREATE INDEX key_estmovto_data
  ON gestao.estmovto
  USING btree
  (data);

CREATE INDEX key_estmovto_produto
  ON gestao.estmovto
  USING btree
  (id_produto);

---------------------------------------------
---- gestao.vsaldo_estoque ------------------
---------------------------------------------
CREATE OR REPLACE VIEW gestao.vsaldo_estoque AS
select 0 as id_estsaldo,
      id_empresa,
      id_estlocal,
      id_produto,
      ' '::char(1) as variante,
      ' '::char(1) as validade,
      sum(qtdade) as qtdade,
      sum(valor) as valor,
      (CASE WHEN sum(qtdade)=0 THEN 0 ELSE sum(valor)/sum(qtdade) END)::numeric(17,4) as custo_medio,
      sum(qtd_empenhada) as qtd_empenhada,
      sum(qtd_pedidos) as qtd_pedidos
  from gestao.estsaldo 
  group by id_empresa,id_estlocal,id_produto;
--RUN--

--SEQ 0055--
ALTER TABLE gestao.nfdet ADD COLUMN variante char(30);
ALTER TABLE gestao.nfdet ADD COLUMN validade date;
--RUN--

--SEQ 0056--
ALTER TABLE gestao.nfdet DISABLE TRIGGER gera_estmovto_nfdet;
UPDATE gestao.nfdet SET gerar_estoque='S' WHERE gerar_estoque IS NULL OR gerar_estoque NOT IN ('S','N');
ALTER TABLE gestao.nfdet ALTER COLUMN gerar_estoque SET DEFAULT 'S';
ALTER TABLE gestao.nfdet ALTER COLUMN gerar_estoque SET NOT NULL;
ALTER TABLE gestao.nfdet ADD CONSTRAINT chk_nfdet_gerar_estoque CHECK (gerar_estoque IN ('S','N'));
ALTER TABLE gestao.nfdet ENABLE TRIGGER gera_estmovto_nfdet;
--RUN--

--SEQ 0057--
ALTER TABLE gestao.reqd DISABLE TRIGGER atual_qtd_requisitada_opins;
ALTER TABLE gestao.reqd DISABLE TRIGGER gera_estmovto_reqd;
ALTER TABLE gestao.reqd   ADD COLUMN vl_total numeric(12,2) NOT NULL DEFAULT 0;
UPDATE gestao.reqd SET vl_total=qtdade*valor;
ALTER TABLE gestao.reqd ENABLE TRIGGER atual_qtd_requisitada_opins;
ALTER TABLE gestao.reqd ENABLE TRIGGER gera_estmovto_reqd;
--RUN--

--SEQ 0059--
ALTER TABLE gestao.nfdet ADD COLUMN id_produto integer;
--RUN--

--SEQ 0060--
ALTER TABLE gestao.lanctos RENAME COLUMN deb_cre TO tipo;
ALTER TABLE gestao.mensagemnf ADD COLUMN tipo char(1) DEFAULT 'F';
ALTER TABLE gestao.nfdet ALTER COLUMN id_st DROP NOT NULL;
--RUN--

--SEQ 0061--
ALTER TABLE gestao.lanctos DISABLE TRIGGER bloquear_lanctos;
--RUN--IGNORE ERRO

--SEQ 0062--

UPDATE gestao.lanctos SET id_lancto_vinculado=NULL WHERE id_lancto_vinculado=0;

UPDATE gestao.lanctos 
  SET id_lancto_vinculado=NULL 
  WHERE id IN
    (SELECT a.id
      FROM gestao.lanctos A
      LEFT OUTER JOIN gestao.lanctos B ON (a.id_lancto_vinculado=b.id)
      WHERE a.id_lancto_vinculado IS NOT NULL AND b.id IS NULL);

UPDATE gestao.lanctos SET tipo='E' WHERE tipo='C';
UPDATE gestao.lanctos SET tipo='S' WHERE tipo='D';
DELETE FROM gestao.lanctos WHERE tipo=' ';
--RUN--

--SEQ 0063--
ALTER TABLE gestao.lanctos
  ADD CONSTRAINT fk_lanctos_vinculado FOREIGN KEY (id_lancto_vinculado)
      REFERENCES gestao.lanctos (id) INITIALLY DEFERRED;

ALTER TABLE gestao.lanctos
  ADD CONSTRAINT chk_lanctos_tipo CHECK (tipo IN ('E','S'));
--RUN--

--SEQ 0064--
ALTER TABLE gestao.lanctos ENABLE TRIGGER bloquear_lanctos;
--RUN--IGNORE ERRO

--SEQ 0065--
ALTER TABLE gestao.avelote ADD COLUMN calc_qtde_inicial smallint;
--RUN--IGNORE ERRO

--SEQ 0066--
CREATE OR REPLACE VIEW gestao.vproducao_estmovto AS
SELECT id_empresa,
       id_estmovto,                     
       origem_id as id_producao,
       origem_ordem as ordem,
       substring(historico,11,8) as num_producao,
       data,
       substring(historico,21,1) as turno,
       substring(historico,23,5) as hr1,
       substring(historico,29,5) as hr2,
       substring(historico,35,4) as tempo,
       substring(historico,40,10) as cod_maquina,
       id_produto,
       variante,
       validade,
       qtdade, 
       valor
  FROM gestao.estmovto
  WHERE origem_prefixo='PR' AND tipo='E';
--RUN--

--SEQ 0067--
ALTER TABLE gestao.reqd ADD COLUMN id_estlocal integer;
ALTER TABLE gestao.reqd ADD COLUMN qtd_estoque numeric(17,3);
--RUN--

--SEQ 0068--
ALTER TABLE gestao.sticms ALTER modal_bc_icms TYPE character(1);
ALTER TABLE gestao.sticms ALTER modal_bc_icmsst TYPE character(1);
ALTER TABLE gestao.sticms DROP CONSTRAINT chk_sticms_modal_bc_icms;
ALTER TABLE gestao.sticms
  ADD CONSTRAINT chk_sticms_modal_bc_icms CHECK (modal_bc_icms IN ('0','1','2','3',' '));  
--RUN--

--SEQ 0069--
ALTER TABLE gestao.nf ADD COLUMN somar_frete smallint DEFAULT 0;
--RUN--

--SEQ 0070--
ALTER TABLE gestao.nf ADD COLUMN bc_icmsst_cobrant DECIMAL(12,2) NOT NULL DEFAULT 0;
ALTER TABLE gestao.nf ADD COLUMN vl_icmsst_cobrant DECIMAL(12,2) NOT NULL DEFAULT 0;
--RUN--

--SEQ 0071--
ALTER TABLE gestao.empresa ADD COLUMN cod_ccusto_estoque integer;
--RUN--

--SEQ 0072--
CREATE TABLE gestao.os (
  id_os SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  numero INT NOT NULL ,
  id_cliente INT NULL ,
  dt_chamada DATE NOT NULL ,
  dt_agendamento DATE NULL ,
  id_tipo INT NULL ,
  situacao SMALLINT NULL ,
  id_produto INT NULL ,
  placa_veic CHAR(7) NULL ,
  num_serie CHAR(20) NULL ,
  dt_compra DATE NULL ,
  num_nf CHAR(10) NULL ,
  id_loja INT NULL ,
  id_reclamacao INT NULL ,
  def_constatado CHAR(50) NULL ,
  providencias CHAR(60) NULL ,
  id_tecnico INT NULL ,
  dt_fechamento DATE NULL ,
  vl_maobra DECIMAL(12,2) NOT NULL ,
  vl_pecas DECIMAL(12,2) NOT NULL ,
  deslocamento DECIMAL(12,2) NOT NULL ,
  total DECIMAL(12,2) NOT NULL ,
  observacao CHAR(255) NULL ,
  id_prestadora INT NULL ,
  descont DECIMAL(12,2) NOT NULL ,
  emitir_controle SMALLINT NULL ,
  nr_venda INT NULL ,
  prod_descri CHAR(50) NULL ,
  prod_modelo CHAR(20) NULL ,
  defeito_recl CHAR(50) NULL ,
  forma_pag INT NULL ,
  descp DECIMAL(6,2) NOT NULL ,
  descv DECIMAL(12,2) NOT NULL ,
  km_veic INT NULL ,
  obs_compl_defeitos VARCHAR(400) NULL ,
  hora_tecnico DECIMAL(7,2) NOT NULL ,
  id_fornecedor INT NULL ,
  data_fornecedor DATE NULL ,
  vl_fornecedor DECIMAL(12,2) NOT NULL ,
  obs_garantia CHAR(255) NULL ,
  acessorio CHAR(60) NULL ,
  taxa_com_prod DECIMAL(5,2) NOT NULL ,
  taxa_com_serv DECIMAL(5,2) NOT NULL
);

ALTER TABLE gestao.os ADD CONSTRAINT pk_os PRIMARY KEY(id_os);
ALTER TABLE gestao.os ADD CONSTRAINT fk_os_empresa FOREIGN KEY (id_empresa)
      REFERENCES gestao.empresa (id_empresa);
ALTER TABLE gestao.os
  ADD CONSTRAINT key_os_numero_empresa UNIQUE(numero, id_empresa);
         
CREATE INDEX key_os_situacao ON gestao.os (situacao);
CREATE INDEX key_os_dt_chamada ON gestao.os (dt_chamada);


CREATE TABLE gestao.osdet (
  id_osdet SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  numero_os INT NOT NULL ,
  id_produto INT NULL ,
  id_ocorrencia INT NULL ,
  situacao CHAR(3) NULL ,
  quantid DECIMAL(12,3) NOT NULL ,
  vl_unit DECIMAL(12,2) NOT NULL ,
  deslocamento DECIMAL(12,2) NOT NULL ,
  observacao CHAR(50) NULL ,
  lancar_control SMALLINT NULL ,
  id_osreq INT NULL
);

ALTER TABLE gestao.osdet ADD CONSTRAINT pk_osdet PRIMARY KEY(id_osdet);
ALTER TABLE gestao.osdet ADD CONSTRAINT fk_osdet_os FOREIGN KEY (numero_os,id_empresa)
      REFERENCES gestao.os (numero,id_empresa);

CREATE INDEX key_osdet_numero_os ON gestao.osdet (numero_os,id_empresa);
--RUN--

--SEQ 0073--
alter table gestao.op alter column versao type character(30);

ALTER TABLE gestao.op ADD COLUMN id_cliente integer;
ALTER TABLE gestao.op ADD COLUMN obs varchar(45);
ALTER TABLE gestao.op ADD COLUMN validade DATE;
--RUN--

--SEQ 0074--
CREATE TABLE gestao.pais
(
  cod_pais integer NOT NULL,
  nome_pais character(60) NOT NULL,
  CONSTRAINT pk_codpais PRIMARY KEY (cod_pais)  
);
--RUN--

--SEQ 0075--
INSERT INTO gestao.pais VALUES (00132, 'AFEGANISTAO');
INSERT INTO gestao.pais VALUES (00175, 'ALBANIA, REPUBLICA DA');
INSERT INTO gestao.pais VALUES (00230, 'ALEMANHA');
INSERT INTO gestao.pais VALUES (00310, 'BURKINA FASO');
INSERT INTO gestao.pais VALUES (00370, 'ANDORRA');
INSERT INTO gestao.pais VALUES (00400, 'ANGOLA');
INSERT INTO gestao.pais VALUES (00418, 'ANGUILLA');
INSERT INTO gestao.pais VALUES (00434, 'ANTIGUA E BARBUDA');
INSERT INTO gestao.pais VALUES (00477, 'ANTILHAS HOLANDESAS');
INSERT INTO gestao.pais VALUES (00531, 'ARABIA SAUDITA');
INSERT INTO gestao.pais VALUES (00590, 'ARGELIA');
INSERT INTO gestao.pais VALUES (00639, 'ARGENTINA');
INSERT INTO gestao.pais VALUES (00647, 'ARMENIA, REPUBLICA DA');
INSERT INTO gestao.pais VALUES (00655, 'ARUBA');
INSERT INTO gestao.pais VALUES (00698, 'AUSTRALIA');
INSERT INTO gestao.pais VALUES (00728, 'AUSTRIA');
INSERT INTO gestao.pais VALUES (00736, 'AZERBAIJAO, REPUBLICA DO');
INSERT INTO gestao.pais VALUES (00779, 'BAHAMAS, ILHAS');
INSERT INTO gestao.pais VALUES (00809, 'BAHREIN, ILHAS');
INSERT INTO gestao.pais VALUES (00817, 'BANGLADESH');
INSERT INTO gestao.pais VALUES (00833, 'BARBADOS');
INSERT INTO gestao.pais VALUES (00850, 'BELARUS, REPUBLICA DA');
INSERT INTO gestao.pais VALUES (00876, 'BELGICA');
INSERT INTO gestao.pais VALUES (00884, 'BELIZE');
INSERT INTO gestao.pais VALUES (00906, 'BERMUDAS');
INSERT INTO gestao.pais VALUES (00930, 'MIANMAR (BIRMANIA)');
INSERT INTO gestao.pais VALUES (00973, 'BOLIVIA, ESTADO PLURINACIONAL DA');
INSERT INTO gestao.pais VALUES (00981, 'BOSNIA-HERZEGOVINA (REPUBLICA DA)');
INSERT INTO gestao.pais VALUES (01015, 'BOTSUANA');
INSERT INTO gestao.pais VALUES (01058, 'BRASIL');
INSERT INTO gestao.pais VALUES (01082, 'BRUNEI');
INSERT INTO gestao.pais VALUES (01112, 'BULGARIA, REPUBLICA DA');
INSERT INTO gestao.pais VALUES (01155, 'BURUNDI');
INSERT INTO gestao.pais VALUES (01198, 'BUTAO');
INSERT INTO gestao.pais VALUES (01279, 'CABO VERDE, REPUBLICA DE');
INSERT INTO gestao.pais VALUES (01376, 'CAYMAN, ILHAS');
INSERT INTO gestao.pais VALUES (01414, 'CAMBOJA');
INSERT INTO gestao.pais VALUES (01457, 'CAMAROES');
INSERT INTO gestao.pais VALUES (01490, 'CANADA');
INSERT INTO gestao.pais VALUES (01504, 'GUERNSEY, ILHA DO CANAL (INCLUI ALDERNEY E SARK)');
INSERT INTO gestao.pais VALUES (01508, 'JERSEY, ILHA DO CANAL');
INSERT INTO gestao.pais VALUES (01511, 'CANARIAS, ILHAS');
INSERT INTO gestao.pais VALUES (01538, 'CAZAQUISTAO, REPUBLICA DO');
INSERT INTO gestao.pais VALUES (01546, 'CATAR');
INSERT INTO gestao.pais VALUES (01589, 'CHILE');
INSERT INTO gestao.pais VALUES (01600, 'CHINA, REPUBLICA POPULAR');
INSERT INTO gestao.pais VALUES (01619, 'FORMOSA (TAIWAN)');
INSERT INTO gestao.pais VALUES (01635, 'CHIPRE');
INSERT INTO gestao.pais VALUES (01651, 'COCOS(KEELING),ILHAS');
INSERT INTO gestao.pais VALUES (01694, 'COLOMBIA');
INSERT INTO gestao.pais VALUES (01732, 'COMORES, ILHAS');
INSERT INTO gestao.pais VALUES (01775, 'CONGO');
INSERT INTO gestao.pais VALUES (01830, 'COOK, ILHAS');
INSERT INTO gestao.pais VALUES (01872, 'COREIA (DO NORTE), REP.POP.DEMOCRATICA');
INSERT INTO gestao.pais VALUES (01902, 'COREIA (DO SUL), REPUBLICA DA');
INSERT INTO gestao.pais VALUES (01937, 'COSTA DO MARFIM');
INSERT INTO gestao.pais VALUES (01953, 'CROACIA (REPUBLICA DA)');
INSERT INTO gestao.pais VALUES (01961, 'COSTA RICA');
INSERT INTO gestao.pais VALUES (01988, 'COVEITE');
INSERT INTO gestao.pais VALUES (01996, 'CUBA');
INSERT INTO gestao.pais VALUES (02291, 'BENIN');
INSERT INTO gestao.pais VALUES (02321, 'DINAMARCA');
INSERT INTO gestao.pais VALUES (02356, 'DOMINICA,ILHA');
INSERT INTO gestao.pais VALUES (02399, 'EQUADOR');
INSERT INTO gestao.pais VALUES (02402, 'EGITO');
INSERT INTO gestao.pais VALUES (02437, 'ERITREIA');
INSERT INTO gestao.pais VALUES (02445, 'EMIRADOS ARABES UNIDOS');
INSERT INTO gestao.pais VALUES (02453, 'ESPANHA');
INSERT INTO gestao.pais VALUES (02461, 'ESLOVENIA, REPUBLICA DA');
INSERT INTO gestao.pais VALUES (02470, 'ESLOVACA, REPUBLICA');
INSERT INTO gestao.pais VALUES (02496, 'ESTADOS UNIDOS');
INSERT INTO gestao.pais VALUES (02518, 'ESTONIA, REPUBLICA DA');
INSERT INTO gestao.pais VALUES (02534, 'ETIOPIA');
INSERT INTO gestao.pais VALUES (02550, 'FALKLAND (ILHAS MALVINAS)');
INSERT INTO gestao.pais VALUES (02593, 'FEROE, ILHAS');
INSERT INTO gestao.pais VALUES (02674, 'FILIPINAS');
INSERT INTO gestao.pais VALUES (02712, 'FINLANDIA');
INSERT INTO gestao.pais VALUES (02755, 'FRANCA');
INSERT INTO gestao.pais VALUES (02810, 'GABAO');
INSERT INTO gestao.pais VALUES (02852, 'GAMBIA');
INSERT INTO gestao.pais VALUES (02895, 'GANA');
INSERT INTO gestao.pais VALUES (02917, 'GEORGIA, REPUBLICA DA');
INSERT INTO gestao.pais VALUES (02933, 'GIBRALTAR');
INSERT INTO gestao.pais VALUES (02976, 'GRANADA');
INSERT INTO gestao.pais VALUES (03018, 'GRECIA');
INSERT INTO gestao.pais VALUES (03050, 'GROENLANDIA');
INSERT INTO gestao.pais VALUES (03093, 'GUADALUPE');
INSERT INTO gestao.pais VALUES (03131, 'GUAM');
INSERT INTO gestao.pais VALUES (03174, 'GUATEMALA');
INSERT INTO gestao.pais VALUES (03255, 'GUIANA FRANCESA');
INSERT INTO gestao.pais VALUES (03298, 'GUINE');
INSERT INTO gestao.pais VALUES (03310, 'GUINE-EQUATORIAL');
INSERT INTO gestao.pais VALUES (03344, 'GUINE-BISSAU');
INSERT INTO gestao.pais VALUES (03379, 'GUIANA');
INSERT INTO gestao.pais VALUES (03417, 'HAITI');
INSERT INTO gestao.pais VALUES (03450, 'HONDURAS');
INSERT INTO gestao.pais VALUES (03514, 'HONG KONG');
INSERT INTO gestao.pais VALUES (03557, 'HUNGRIA, REPUBLICA DA');
INSERT INTO gestao.pais VALUES (03573, 'IEMEN');
INSERT INTO gestao.pais VALUES (03595, 'MAN, ILHA DE');
INSERT INTO gestao.pais VALUES (03611, 'INDIA');
INSERT INTO gestao.pais VALUES (03654, 'INDONESIA');
INSERT INTO gestao.pais VALUES (03697, 'IRAQUE');
INSERT INTO gestao.pais VALUES (03727, 'IRA, REPUBLICA ISLAMICA DO');
INSERT INTO gestao.pais VALUES (03751, 'IRLANDA');
INSERT INTO gestao.pais VALUES (03794, 'ISLANDIA');
INSERT INTO gestao.pais VALUES (03832, 'ISRAEL');
INSERT INTO gestao.pais VALUES (03867, 'ITALIA');
INSERT INTO gestao.pais VALUES (03913, 'JAMAICA');
INSERT INTO gestao.pais VALUES (03964, 'JOHNSTON, ILHAS');
INSERT INTO gestao.pais VALUES (03999, 'JAPAO');
INSERT INTO gestao.pais VALUES (04030, 'JORDANIA');
INSERT INTO gestao.pais VALUES (04111, 'KIRIBATI');
INSERT INTO gestao.pais VALUES (04200, 'LAOS, REP.POP.DEMOCR.DO');
INSERT INTO gestao.pais VALUES (04260, 'LESOTO');
INSERT INTO gestao.pais VALUES (04278, 'LETONIA, REPUBLICA DA');
INSERT INTO gestao.pais VALUES (04316, 'LIBANO');
INSERT INTO gestao.pais VALUES (04340, 'LIBERIA');
INSERT INTO gestao.pais VALUES (04383, 'LIBIA');
INSERT INTO gestao.pais VALUES (04405, 'LIECHTENSTEIN');
INSERT INTO gestao.pais VALUES (04421, 'LITUANIA, REPUBLICA DA');
INSERT INTO gestao.pais VALUES (04456, 'LUXEMBURGO');
INSERT INTO gestao.pais VALUES (04472, 'MACAU');
INSERT INTO gestao.pais VALUES (04499, 'MACEDONIA, ANT.REP.IUGOSLAVA');
INSERT INTO gestao.pais VALUES (04502, 'MADAGASCAR');
INSERT INTO gestao.pais VALUES (04525, 'MADEIRA, ILHA DA');
INSERT INTO gestao.pais VALUES (04553, 'MALASIA');
INSERT INTO gestao.pais VALUES (04588, 'MALAVI');
INSERT INTO gestao.pais VALUES (04618, 'MALDIVAS');
INSERT INTO gestao.pais VALUES (04642, 'MALI');
INSERT INTO gestao.pais VALUES (04677, 'MALTA');
INSERT INTO gestao.pais VALUES (04723, 'MARIANAS DO NORTE');
INSERT INTO gestao.pais VALUES (04740, 'MARROCOS');
INSERT INTO gestao.pais VALUES (04766, 'MARSHALL,ILHAS');
INSERT INTO gestao.pais VALUES (04774, 'MARTINICA');
INSERT INTO gestao.pais VALUES (04855, 'MAURICIO');
INSERT INTO gestao.pais VALUES (04880, 'MAURITANIA');
INSERT INTO gestao.pais VALUES (04885, 'MAYOTTE (ILHAS FRANCESAS)');
INSERT INTO gestao.pais VALUES (04901, 'MIDWAY, ILHAS');
INSERT INTO gestao.pais VALUES (04936, 'MEXICO');
INSERT INTO gestao.pais VALUES (04944, 'MOLDAVIA, REPUBLICA DA');
INSERT INTO gestao.pais VALUES (04952, 'MONACO');
INSERT INTO gestao.pais VALUES (04979, 'MONGOLIA');
INSERT INTO gestao.pais VALUES (04985, 'MONTENEGRO');
INSERT INTO gestao.pais VALUES (04995, 'MICRONESIA');
INSERT INTO gestao.pais VALUES (05010, 'MONTSERRAT,ILHAS');
INSERT INTO gestao.pais VALUES (05053, 'MOCAMBIQUE');
INSERT INTO gestao.pais VALUES (05070, 'NAMIBIA');
INSERT INTO gestao.pais VALUES (05088, 'NAURU');
INSERT INTO gestao.pais VALUES (05118, 'CHRISTMAS,ILHA (NAVIDAD)');
INSERT INTO gestao.pais VALUES (05177, 'NEPAL');
INSERT INTO gestao.pais VALUES (05215, 'NICARAGUA');
INSERT INTO gestao.pais VALUES (05258, 'NIGER');
INSERT INTO gestao.pais VALUES (05282, 'NIGERIA');
INSERT INTO gestao.pais VALUES (05312, 'NIUE,ILHA');
INSERT INTO gestao.pais VALUES (05355, 'NORFOLK,ILHA');
INSERT INTO gestao.pais VALUES (05380, 'NORUEGA');
INSERT INTO gestao.pais VALUES (05428, 'NOVA CALEDONIA');
INSERT INTO gestao.pais VALUES (05452, 'PAPUA NOVA GUINE');
INSERT INTO gestao.pais VALUES (05487, 'NOVA ZELANDIA');
INSERT INTO gestao.pais VALUES (05517, 'VANUATU');
INSERT INTO gestao.pais VALUES (05568, 'OMA');
INSERT INTO gestao.pais VALUES (05665, 'PACIFICO,ILHAS DO (POSSESSAO DOS EUA)');
INSERT INTO gestao.pais VALUES (05738, 'PAISES BAIXOS (HOLANDA)');
INSERT INTO gestao.pais VALUES (05754, 'PALAU');
INSERT INTO gestao.pais VALUES (05762, 'PAQUISTAO');
INSERT INTO gestao.pais VALUES (05800, 'PANAMA');
INSERT INTO gestao.pais VALUES (05860, 'PARAGUAI');
INSERT INTO gestao.pais VALUES (05894, 'PERU');
INSERT INTO gestao.pais VALUES (05932, 'PITCAIRN,ILHA');
INSERT INTO gestao.pais VALUES (05991, 'POLINESIA FRANCESA');
INSERT INTO gestao.pais VALUES (06033, 'POLONIA, REPUBLICA DA');
INSERT INTO gestao.pais VALUES (06076, 'PORTUGAL');
INSERT INTO gestao.pais VALUES (06114, 'PORTO RICO');
INSERT INTO gestao.pais VALUES (06238, 'QUENIA');
--RUN--

--SEQ 0076--
INSERT INTO gestao.pais VALUES (06254, 'QUIRGUIZ, REPUBLICA');
INSERT INTO gestao.pais VALUES (06289, 'REINO UNIDO');
INSERT INTO gestao.pais VALUES (06408, 'REPUBLICA CENTRO-AFRICANA');
INSERT INTO gestao.pais VALUES (06475, 'REPUBLICA DOMINICANA');
INSERT INTO gestao.pais VALUES (06602, 'REUNIAO, ILHA');
INSERT INTO gestao.pais VALUES (06653, 'ZIMBABUE');
INSERT INTO gestao.pais VALUES (06700, 'ROMENIA');
INSERT INTO gestao.pais VALUES (06750, 'RUANDA');
INSERT INTO gestao.pais VALUES (06769, 'RUSSIA, FEDERACAO DA');
INSERT INTO gestao.pais VALUES (06777, 'SALOMAO, ILHAS');
INSERT INTO gestao.pais VALUES (06858, 'SAARA OCIDENTAL');
INSERT INTO gestao.pais VALUES (06874, 'EL SALVADOR');
INSERT INTO gestao.pais VALUES (06904, 'SAMOA');
INSERT INTO gestao.pais VALUES (06912, 'SAMOA AMERICANA');
INSERT INTO gestao.pais VALUES (06955, 'SAO CRISTOVAO E NEVES,ILHAS');
INSERT INTO gestao.pais VALUES (06971, 'SAN MARINO');
INSERT INTO gestao.pais VALUES (07005, 'SAO PEDRO E MIQUELON');
INSERT INTO gestao.pais VALUES (07056, 'SAO VICENTE E GRANADINAS');
INSERT INTO gestao.pais VALUES (07102, 'SANTA HELENA');
INSERT INTO gestao.pais VALUES (07153, 'SANTA LUCIA');
INSERT INTO gestao.pais VALUES (07200, 'SAO TOME E PRINCIPE, ILHAS');
INSERT INTO gestao.pais VALUES (07285, 'SENEGAL');
INSERT INTO gestao.pais VALUES (07315, 'SEYCHELLES');
INSERT INTO gestao.pais VALUES (07358, 'SERRA LEOA');
INSERT INTO gestao.pais VALUES (07370, 'SERVIA');
INSERT INTO gestao.pais VALUES (07412, 'CINGAPURA');
INSERT INTO gestao.pais VALUES (07447, 'SIRIA, REPUBLICA ARABE DA');
INSERT INTO gestao.pais VALUES (07480, 'SOMALIA');
INSERT INTO gestao.pais VALUES (07501, 'SRI LANKA');
INSERT INTO gestao.pais VALUES (07544, 'SUAZILANDIA');
INSERT INTO gestao.pais VALUES (07560, 'AFRICA DO SUL');
INSERT INTO gestao.pais VALUES (07595, 'SUDAO');
INSERT INTO gestao.pais VALUES (07641, 'SUECIA');
INSERT INTO gestao.pais VALUES (07676, 'SUICA');
INSERT INTO gestao.pais VALUES (07706, 'SURINAME');
INSERT INTO gestao.pais VALUES (07722, 'TADJIQUISTAO, REPUBLICA DO');
INSERT INTO gestao.pais VALUES (07765, 'TAILANDIA');
INSERT INTO gestao.pais VALUES (07803, 'TANZANIA, REP.UNIDA DA');
INSERT INTO gestao.pais VALUES (07820, 'TERRITORIO BRIT.OC.INDICO');
INSERT INTO gestao.pais VALUES (07838, 'DJIBUTI');
INSERT INTO gestao.pais VALUES (07889, 'CHADE');
INSERT INTO gestao.pais VALUES (07919, 'TCHECA, REPUBLICA');
INSERT INTO gestao.pais VALUES (07951, 'TIMOR LESTE');
INSERT INTO gestao.pais VALUES (08001, 'TOGO');
INSERT INTO gestao.pais VALUES (08052, 'TOQUELAU,ILHAS');
INSERT INTO gestao.pais VALUES (08109, 'TONGA');
INSERT INTO gestao.pais VALUES (08150, 'TRINIDAD E TOBAGO');
INSERT INTO gestao.pais VALUES (08206, 'TUNISIA');
INSERT INTO gestao.pais VALUES (08230, 'TURCAS E CAICOS,ILHAS');
INSERT INTO gestao.pais VALUES (08249, 'TURCOMENISTAO, REPUBLICA DO');
INSERT INTO gestao.pais VALUES (08273, 'TURQUIA');
INSERT INTO gestao.pais VALUES (08281, 'TUVALU');
INSERT INTO gestao.pais VALUES (08311, 'UCRANIA');
INSERT INTO gestao.pais VALUES (08338, 'UGANDA');
INSERT INTO gestao.pais VALUES (08451, 'URUGUAI');
INSERT INTO gestao.pais VALUES (08478, 'UZBEQUISTAO, REPUBLICA DO');
INSERT INTO gestao.pais VALUES (08486, 'VATICANO, EST.DA CIDADE DO');
INSERT INTO gestao.pais VALUES (08508, 'VENEZUELA');
INSERT INTO gestao.pais VALUES (08583, 'VIETNA');
INSERT INTO gestao.pais VALUES (08630, 'VIRGENS,ILHAS (BRITANICAS)');
INSERT INTO gestao.pais VALUES (08664, 'VIRGENS,ILHAS (E.U.A.)');
INSERT INTO gestao.pais VALUES (08702, 'FIJI');
INSERT INTO gestao.pais VALUES (08737, 'WAKE, ILHA');
INSERT INTO gestao.pais VALUES (08885, 'CONGO, REPUBLICA DEMOCRATICA DO');
INSERT INTO gestao.pais VALUES (08907, 'ZAMBIA');
--RUN--

--SEQ 0077--
CREATE TABLE gestao.estterceiro (
  id_estterceiro SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  data DATE NOT NULL ,
  indic_prop SMALLINT NOT NULL ,
  tipo CHAR(1) NOT NULL ,
  id_correntista INT NOT NULL ,
  id_produto INT NOT NULL ,
  variante CHAR(30)  NOT NULL ,
  validade DATE NULL ,
  docto CHAR(12) NOT NULL ,
  qtdade DECIMAL(17,3) NOT NULL ,
  valor DECIMAL(17,2) NULL ,
  num_remessa INT NOT NULL ,
  qtd_saldo DECIMAL(17,3) NOT NULL ,
  usuario CHAR(15) NOT NULL,
  origem CHAR(20) NULL
);

ALTER TABLE gestao.estterceiro ADD CONSTRAINT pk_estterceiro PRIMARY KEY(id_estterceiro);
ALTER TABLE gestao.estterceiro ADD CONSTRAINT key_estterceiro_origem UNIQUE(origem,num_remessa);
ALTER TABLE gestao.estterceiro ADD CONSTRAINT chk_estterceiro_indic_prop CHECK (indic_prop IN (1,2));

CREATE INDEX key_estterceiro_data ON gestao.estterceiro (id_empresa,data);
CREATE INDEX key_estterceiro_num_remessa ON gestao.estterceiro (id_empresa,num_remessa);
--RUN--

--SEQ 0078--
ALTER TABLE gestao.op ADD COLUMN lote character(10);
--RUN--

--SEQ 0079--
ALTER TABLE gestao.st ADD COLUMN tp_calc_issqn character(1);
ALTER TABLE gestao.nfref ADD COLUMN origem character(20);
ALTER TABLE gestao.nfref ALTER COLUMN id_nf DROP NOT NULL;
ALTER TABLE gestao.nf ADD COLUMN desc_prevsoc smallint;
--RUN--

--SEQ 0080--
ALTER TABLE gestao.nf RENAME COLUMN desc_prevsoc TO desc_funrural;
ALTER TABLE gestao.nf ADD COLUMN bc_funrural DECIMAL(12,2);
ALTER TABLE gestao.nf ADD COLUMN aliq_funrural DECIMAL(5,2);
ALTER TABLE gestao.nf ADD COLUMN vl_funrural DECIMAL(12,2);
--RUN--

--SEQ 0081--
CREATE TABLE gestao.gnre
(
  id_gnre serial NOT NULL,
  id_empresa integer NOT NULL,
  uf_favorecida character(2) NOT NULL,
  cod_receita integer NOT NULL,
  cod_destinatario integer NOT NULL,
  docto_origem character(18) NOT NULL,
  intervalo_ref smallint NOT NULL,
  mes_ano_ref date NOT NULL,
  vl_principal numeric(12,2) NOT NULL,
  vl_atual numeric(12,2) NOT NULL,
  vl_juros numeric(12,2) NOT NULL,
  vl_multa numeric(12,2) NOT NULL,
  vl_total numeric(12,2) NOT NULL,
  dt_vencto date NOT NULL,
  convenio character(50) NOT NULL,
  informacoes character(70) NOT NULL,
  produto character(70) NOT NULL,
  data_pagto date,
  banco_rec integer NOT NULL,
  agencia_rec integer NOT NULL,
  num_autenticacao character(20) NOT NULL,
  gerar_sintegra character(1) NOT NULL,
  cobrar_cliente character(1) NOT NULL,
  situacao character(1) NOT NULL,
  cod_ctbconta_deb integer,
  cod_ctbconta_cre integer,
  cod_historico integer,
  id_banco integer,
  id_origem character(19),
  contabilizado character(1) NOT NULL,
  CONSTRAINT pk_gnre PRIMARY KEY (id_gnre),
  CONSTRAINT fk_gnre_empresa FOREIGN KEY (id_empresa)
      REFERENCES gestao.empresa (id_empresa) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT fk_gnre_estado FOREIGN KEY (uf_favorecida)
      REFERENCES gestao.estado (sigla) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT key_gnre_id_origem UNIQUE (id_origem),
  CONSTRAINT chk_gnre_situacao CHECK (situacao = 'A'::bpchar AND data_pagto IS NULL OR situacao = 'Q'::bpchar AND data_pagto IS NOT NULL)
);
--RUN--

--SEQ 0082--
ALTER TABLE gestao.op ADD COLUMN cod_maquina character(10);
ALTER TABLE gestao.op ADD CONSTRAINT fk_op_pcpmaq FOREIGN KEY (id_empresa, cod_maquina)
      REFERENCES gestao.pcpmaq (id_empresa, codigo);
ALTER TABLE gestao.op DROP CONSTRAINT key_op_situacao;
ALTER TABLE gestao.op ADD CONSTRAINT key_op_situacao CHECK (situacao IN (0,1,2,3,4,5));
ALTER TABLE gestao.op DROP CONSTRAINT chk_opins_qtd_planejada;
--RUN--

--SEQ 0083--
ALTER TABLE gestao.nf ADD COLUMN email_enviado smallint DEFAULT 0;
--RUN--

--SEQ 0084--
ALTER TABLE gestao.estterceiro RENAME id_produto  TO cod_produto;
ALTER TABLE gestao.estterceiro ALTER cod_produto TYPE character(14);
ALTER TABLE gestao.estterceiro ADD COLUMN sistema character(10);
ALTER TABLE gestao.estterceiro ALTER COLUMN id_correntista DROP NOT NULL;
--RUN--

--SEQ 0085--
CREATE TABLE gestao.itemdocto (
  id_itemdocto SERIAL NOT NULL ,
  id_empresa INT NULL ,
  id_matriz INT NULL ,
  id_entrada INT NULL ,
  id_empsiscon INT NULL ,
  id_empctb INT NULL ,
  id_entsiscon CHAR(30) NULL ,
  id_saisiscon CHAR(30) NULL ,
  num_item INT NOT NULL ,
  cod_produto CHAR(14) NULL ,
  descr_compl CHAR(90) NOT NULL ,
  qtdade DECIMAL(15,3) NOT NULL ,
  unidade CHAR(6) NOT NULL ,
  vl_item DECIMAL(15,2) NOT NULL ,
  vl_desconto DECIMAL(15,2) NOT NULL ,
  gerar_estoque CHAR(1) NULL ,
  cfop INT NOT NULL ,
  id_tessiscon INT NULL ,
  cod_tes INT NULL ,
  cst_icms INT NOT NULL ,
  bc_icms DECIMAL(15,2) NOT NULL ,
  aliq_icms DECIMAL(6,2) NOT NULL ,
  vl_icms DECIMAL(15,2) NOT NULL ,
  bc_icms_st DECIMAL(15,2) NOT NULL ,
  aliq_icms_st DECIMAL(6,2) NOT NULL ,
  vl_icms_st DECIMAL(15,2) NOT NULL ,
  apuracao_ipi SMALLINT NOT NULL ,
  cst_ipi CHAR(2) NOT NULL ,
  cod_enq CHAR(3) NOT NULL ,
  bc_ipi DECIMAL(15,2) NOT NULL ,
  aliq_ipi DECIMAL(6,2) NOT NULL ,
  vl_ipi DECIMAL(15,2) NOT NULL ,
  cst_pis INT NOT NULL ,
  bc_pis DECIMAL(15,2) NOT NULL ,
  aliq_pis DECIMAL(6,2) NOT NULL ,
  qt_bc_pis DECIMAL(15,3) NOT NULL ,
  aliq_vl_pis DECIMAL(15,4) NOT NULL ,
  vl_pis DECIMAL(15,2) NOT NULL ,
  cst_cofins INT NOT NULL ,
  bc_cofins DECIMAL(15,2) NOT NULL ,
  aliq_cofins DECIMAL(6,2) NOT NULL ,
  qt_bc_cofins DECIMAL(15,3) NOT NULL ,
  aliq_vl_cofins DECIMAL(15,4) NOT NULL ,
  vl_cofins DECIMAL(15,2) NOT NULL ,
  cod_ctbconta INT NULL ,
  poder_terc CHAR(1) NULL
);

ALTER TABLE gestao.itemdocto ADD CONSTRAINT pk_itemdocto PRIMARY KEY(id_itemdocto);
ALTER TABLE gestao.itemdocto ADD CONSTRAINT key_itemdocto_entrada UNIQUE (id_entrada, num_item);
ALTER TABLE gestao.itemdocto ADD CONSTRAINT key_itemdocto_entsiscon UNIQUE (id_entsiscon, num_item);
ALTER TABLE gestao.itemdocto ADD CONSTRAINT key_itemdocto_saisiscon UNIQUE (id_saisiscon, num_item);

ALTER TABLE gestao.itemdocto ADD CONSTRAINT fk_itemdocto_empresa FOREIGN KEY (id_empresa)
      REFERENCES gestao.empresa (id_empresa);
ALTER TABLE gestao.itemdocto ADD CONSTRAINT fk_itemdocto_matriz FOREIGN KEY (id_matriz)
      REFERENCES gestao.empresa (id_empresa);
--RUN--

--SEQ 0086--
ALTER TABLE gestao.nf ADD COLUMN cod_status_dpec smallint;
ALTER TABLE gestao.nf ADD COLUMN desc_status_dpec VARCHAR(255);
ALTER TABLE gestao.nf ADD COLUMN num_registro_dpec NUMERIC(15);
ALTER TABLE gestao.nf ADD COLUMN dt_registro_dpec DATE;
ALTER TABLE gestao.nf ADD COLUMN hr_registro_dpec TIME;

CREATE TABLE gestao.nfxml (
  id_nfxml SERIAL NOT NULL,
  id_nf INT NOT NULL,
  tipo CHAR(1),
  xml_prot TEXT
 );

 ALTER TABLE gestao.nfxml
  ADD CONSTRAINT pk_nfxml PRIMARY KEY (id_nfxml);

 ALTER TABLE gestao.nfxml
  ADD CONSTRAINT key_nfxml_tipo UNIQUE(id_nf, tipo);

 ALTER TABLE gestao.nfxml
  ADD CONSTRAINT fk_nfxml_nf FOREIGN KEY (id_nf)
  REFERENCES gestao.nf (id_nf);

 ALTER TABLE gestao.nfxml
  ADD CONSTRAINT chk_nfxml_tipo CHECK (tipo IN ('A','C','I','D'));
--RUN--

--SEQ 0087--
ALTER TABLE gestao.nfxml ALTER COLUMN id_nf DROP NOT NULL;
ALTER TABLE gestao.nfxml ADD COLUMN id_nfeinut integer;

ALTER TABLE gestao.nfxml
  ADD CONSTRAINT fk_nfxml_nfeinut FOREIGN KEY (id_nfeinut)
  REFERENCES gestao.nfeinut (id_nfeinut);
--RUN--

--SEQ 0088--
ALTER TABLE gestao.moddocfiscal ADD COLUMN cod_exportacao character(10);
--RUN--

--SEQ 0089--
ALTER TABLE gestao.estlocal ADD COLUMN id_empmovto integer;
ALTER TABLE gestao.estlocal ADD CONSTRAINT fk_estlocal_empresa FOREIGN KEY (id_empmovto)
      REFERENCES gestao.empresa (id_empresa);

ALTER TABLE gestao.estmovto DROP CONSTRAINT key_estmovto_origem;
ALTER TABLE gestao.estmovto ADD CONSTRAINT key_estmovto_origem UNIQUE(origem_id, origem_prefixo, id_empresa, origem_ordem, origem_seq);
--RUN--

--SEQ 0090--
CREATE TABLE gestao.unidade
(
  id_unidade serial NOT NULL,
  id_empresa integer NOT NULL,
  unidade character(6) NOT NULL,
  descricao character(60) NOT NULL,
  CONSTRAINT pk_unidade PRIMARY KEY (id_unidade),
  CONSTRAINT fk_unidade_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT key_unidade_unidade UNIQUE (id_empresa, unidade)
);

CREATE TABLE gestao.produto
(
  id_produto serial NOT NULL,
  id_empresa integer NOT NULL,
  codigo character(14) NOT NULL,
  descricao character(75) NOT NULL,
  referencia character(35) NOT NULL,
  cod_barra character(14),
  cod_anterior character(14),
  unidade character(6) NOT NULL,
  tipo character(2),
  cod_ncm integer,
  ex_ipi character(3),
  cod_genero character(2),
  cod_servico integer,
  aliq_icms numeric(7,2),
  id_ctbconta integer,
  utilizacao character(255),
  cod_grupo integer,
  cod_subgrupo integer,
  cod_st integer,
  data_cadastro date NOT NULL DEFAULT now(),
  ativo integer NOT NULL DEFAULT 1,
  vl_preco1 numeric(12,3),
  bc_icmsst_cobrant numeric(12,2),
  vl_icmsst_cobrant numeric(12,2),
  data_icmsst_cobrant date,
  docto_icmsst_cobrant integer,
  idxfti tsvector,
  CONSTRAINT pk_produto PRIMARY KEY (id_produto),
  CONSTRAINT fk_produto_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_produto_unidade FOREIGN KEY (id_empresa,unidade) REFERENCES gestao.unidade (id_empresa,unidade),
  CONSTRAINT key_produto_codigo UNIQUE (id_empresa, codigo),
  CONSTRAINT key_produto_cod_barra UNIQUE (id_empresa, cod_barra),
  CONSTRAINT chk_produto_tipo CHECK (tipo IN (' ', '00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '99'))
);


CREATE TABLE gestao.fatconversao (
  id_fatconversao SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  id_produto INT NOT NULL ,
  unid_conv CHAR(6) NOT NULL ,
  fator DECIMAL(15,6) NOT NULL,
  CONSTRAINT pk_fatconversao PRIMARY KEY (id_fatconversao),
  CONSTRAINT fk_fatconversao_empresa FOREIGN KEY (id_fatconversao)  REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_fatconversao_produto FOREIGN KEY (id_produto)  REFERENCES gestao.produto (id_produto),
  CONSTRAINT fk_fatconversao_unid_conv FOREIGN KEY (id_empresa,unid_conv)  REFERENCES gestao.unidade (id_empresa,unidade),
  CONSTRAINT key_fatconversao_unid_conv UNIQUE (id_produto, unid_conv),
  CONSTRAINT chk_fatconversao_fator CHECK (fator>0)
);

CREATE TABLE gestao.regalt (
  id_regalt SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  tabela CHAR(20) NOT NULL ,
  id INT NOT NULL ,
  nr_campo INT NOT NULL ,
  cont_anterior CHAR(60) NOT NULL ,
  dt1 DATE NOT NULL ,
  dt2 DATE NOT NULL,
  CONSTRAINT pk_regalt PRIMARY KEY (id_regalt),
  CONSTRAINT fk_regalt_empresa FOREIGN KEY (id_regalt)  REFERENCES gestao.empresa (id_empresa)
);

CREATE INDEX key_regalt_empresa ON gestao.regalt (id_empresa,tabela,id,dt2);

CREATE TABLE gestao.cfopxtes
(
  id_cfopxtes serial NOT NULL,
  id_empresa integer NOT NULL,
  tipo character(1) NOT NULL,
  cfop integer NOT NULL,
  nat_op character(60) NOT NULL,
  cod_fornecedor integer,
  cod_prodforne character(60) NOT NULL,
  cod_tes integer NOT NULL,
  cfop_entrada integer,
  cod_produto character(14),
  CONSTRAINT pk_cfopxtes PRIMARY KEY (id_cfopxtes),
  CONSTRAINT fk_cfopxtes_empresa FOREIGN KEY (id_empresa)
      REFERENCES gestao.empresa (id_empresa)
);

CREATE UNIQUE INDEX key_cfopxtes_cfop
  ON gestao.cfopxtes
  (id_empresa, tipo, cfop, nat_op, (COALESCE(cod_fornecedor, 0)), cod_prodforne);

CREATE TABLE gestao.tabobsfiscal (
  id_tabobsfiscal SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  tipo CHAR(1) NOT NULL ,
  codigo INT NOT NULL ,
  apelido CHAR(20) NULL ,
  interesse CHAR(1) NULL ,
  descricao VARCHAR(500) NOT NULL ,
  CONSTRAINT pk_tabobsfiscal PRIMARY KEY (id_tabobsfiscal),
  CONSTRAINT fk_tabobsfiscal_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT key_tabobsfiscal_codigo UNIQUE (id_empresa, tipo, codigo),
  CONSTRAINT key_tabobsfiscal_apelido UNIQUE (id_empresa, tipo, apelido)
);

CREATE TABLE gestao.obsfiscal (
  id_obsfiscal SERIAL NOT NULL ,
  id_entrada INT NULL ,
  id_nf INT NULL ,
  id_entsiscon CHAR(30) NULL ,
  id_saisiscon CHAR(30) NULL ,
  id_empresa INT NOT NULL ,
  tipo CHAR(1) NOT NULL ,
  codigo INT NULL ,
  descr_compl VARCHAR(500) NOT NULL,
  CONSTRAINT pk_obsfiscal PRIMARY KEY (id_obsfiscal),
  CONSTRAINT fk_obsfiscal_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_obsfiscal_tabobsfiscal FOREIGN KEY (id_empresa,tipo,codigo) REFERENCES gestao.tabobsfiscal (id_empresa,tipo,codigo),
  CONSTRAINT fk_obsfiscal_nf FOREIGN KEY (id_nf) REFERENCES gestao.nf (id_nf),
  CONSTRAINT key_obsfiscal_entrada UNIQUE (id_entrada,tipo,codigo),
  CONSTRAINT key_obsfiscal_nf UNIQUE (id_nf,tipo,codigo),
  CONSTRAINT key_obsfiscal_entsiscon UNIQUE (id_entsiscon,tipo,codigo),
  CONSTRAINT key_obsfiscal_saisiscon UNIQUE (id_saisiscon,tipo,codigo)
);
--RUN--

--SEQ 0091--
CREATE TABLE gestao.correntista (
  id_correntista SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  codigo INT NOT NULL ,
  cod_erp_for INT NULL ,
  cod_erp_cli INT NULL ,
  nome CHAR(60) NOT NULL ,
  cod_pais INT NOT NULL ,
  cnpj_cpf CHAR(18) NULL ,
  ie CHAR(20) NULL ,
  id_municipio INT NULL ,
  inscr_suframa CHAR(9) NULL ,
  endereco CHAR(60) NULL ,
  numero CHAR(10) NULL ,
  complemento CHAR(60) NULL ,
  bairro CHAR(40) NULL ,
  cep INT NULL ,
  fone CHAR(13) NULL ,
  fax CHAR(13) NULL ,
  e_mail CHAR(40) NULL ,
  livro SMALLINT NULL ,
  folha SMALLINT NULL ,
  modelo CHAR(2) NULL ,
  emitente SMALLINT NULL ,
  destinatario SMALLINT NULL ,
  cta_cliente INT NULL ,
  cta_vendas INT NULL ,
  cta_fornecedor INT NULL ,
  cta_compras INT NULL ,
  data_cadastro DATE NULL DEFAULT NOW(),
  ativo SMALLINT NOT NULL DEFAULT 1,
  CONSTRAINT pk_correntista PRIMARY KEY (id_correntista),
  CONSTRAINT fk_correntista_empresa FOREIGN KEY (id_empresa)  REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_correntista_municipio FOREIGN KEY (id_municipio) REFERENCES gestao.municipio (id_municipio),
  CONSTRAINT fk_correntista_pais FOREIGN KEY (cod_pais) REFERENCES gestao.pais (cod_pais),
  CONSTRAINT key_correntista_cnpj_cpf UNIQUE (id_empresa, cnpj_cpf),
  CONSTRAINT key_correntista_codigo UNIQUE (id_empresa, codigo),
  CONSTRAINT key_correntista_cod_erp_for UNIQUE (id_empresa, cod_erp_for),
  CONSTRAINT key_correntista_cod_erp_cli UNIQUE (id_empresa, cod_erp_cli)
);
--RUN--

--SEQ 0092--
ALTER TABLE gestao.nfxml DROP CONSTRAINT chk_nfxml_tipo;
ALTER TABLE gestao.nfxml
  ADD CONSTRAINT chk_nfxml_tipo CHECK (tipo IN ('A','C','I','D','E'));

INSERT INTO gestao.nfxml (id_nf, tipo, xml_prot) (SELECT id_nf, 'E', xml_nfe FROM gestao.nf WHERE xml_nfe IS NOT NULL);

ALTER TABLE gestao.nf DROP COLUMN xml_nfe;
--RUN--

--SEQ 0093--
ALTER TABLE gestao.tabobsfiscal ADD COLUMN descr_resumida CHARACTER(50) NOT NULL;
ALTER TABLE gestao.obsfiscal ADD COLUMN id_pedido INTEGER;

INSERT INTO gestao.tabobsfiscal (id_empresa, tipo, codigo, interesse, descricao, descr_resumida)
SELECT id_empresa, 'I', codigo, tipo, TO_ASCII(linha1||' '||linha2||' '||linha3||' '||linha4||' '||linha5), descricao 
FROM gestao.mensagemnf;

INSERT into gestao.obsfiscal (id_nf, id_empresa, tipo, descr_compl)
SELECT id_nf, id_empresa, 'I', inf_ad_fisco FROM gestao.nf WHERE inf_ad_fisco IS NOT NULL;

INSERT into gestao.obsfiscal (id_nf, id_empresa, tipo, descr_compl)
SELECT id_nf, id_empresa, 'I', inf_ad_contr FROM gestao.nf WHERE inf_ad_contr IS NOT NULL;
--RUN--

--SEQ 0094--
ALTER TABLE gestao.pais ADD COLUMN cod_exportacao character(10);
--RUN--

--SEQ 0095--
ALTER TABLE gestao.itemdocto
  ADD CONSTRAINT fk_itemdocto_produto FOREIGN KEY (id_empresa,cod_produto)
      REFERENCES gestao.produto (id_empresa,codigo);
--RUN--

--SEQ 0096--
ALTER TABLE gestao.obsfiscal ADD CONSTRAINT key_obsfiscal_pedido UNIQUE(id_pedido, tipo, codigo);
--RUN--

--SEQ 0097--
ALTER TABLE gestao.sscc ADD COLUMN tara numeric(15,3);
ALTER TABLE gestao.sscc ADD COLUMN peso_bruto numeric(15,3);
ALTER TABLE gestao.sscc ADD COLUMN peso_liquido numeric(15,3);

ALTER TABLE gestao.reqd ADD COLUMN codigo_sscc character(20);
--RUN--

--SEQ 0098--
ALTER TABLE gestao.reqd ADD COLUMN dest_aplic character(30);
--RUN--

--SEQ 0099--
ALTER TABLE gestao.nf ADD COLUMN docto_frete character(15);
--RUN--

--SEQ 0100--
ALTER TABLE gestao.nf ADD COLUMN sistema character(10);
ALTER TABLE gestao.nf ADD COLUMN versao  character(10);
--RUN--

--SEQ 0101--
ALTER TABLE gestao.sscc ADD COLUMN variante character(30);
--RUN--

--SEQ 0102--
ALTER TABLE gestao.estsaldo ADD COLUMN data date;
--RUN--

--SEQ 0103--
ALTER TABLE gestao.produto ADD COLUMN aliq_ipi numeric(7,2);
ALTER TABLE gestao.produto ADD COLUMN red_bc_icms numeric(7,2);
ALTER TABLE gestao.produto ADD COLUMN bc_icms_st numeric(15,2);
--RUN--

--SEQ 0104--
ALTER TABLE gestao.ocd ALTER vl_unitario TYPE numeric(15,6);
--RUN--

--SEQ 0105--
ALTER TABLE gestao.itemdocto DROP CONSTRAINT fk_itemdocto_produto;
ALTER TABLE gestao.itemdocto
  ADD CONSTRAINT fk_itemdocto_produto FOREIGN KEY (id_empresa, cod_produto)
      REFERENCES gestao.produto (id_empresa, codigo) DEFERRABLE INITIALLY IMMEDIATE;
--RUN--

--SEQ 0106--
CREATE TABLE gestao.modecf (
  id_modecf SERIAL NOT NULL ,
  cod_marca SMALLINT NOT NULL ,
  cod_modelo SMALLINT NOT NULL ,
  cod_versao SMALLINT NOT NULL ,
  marca CHAR(20) NOT NULL ,
  modelo CHAR(20) NOT NULL ,
  versao CHAR(20) NOT NULL ,
  homologada SMALLINT,
  CONSTRAINT pk_modecf PRIMARY KEY (id_modecf),
  CONSTRAINT key_mocecf_codigo UNIQUE (cod_marca,cod_modelo,cod_versao)
);
--RUN--

--SEQ 0108--
ALTER TABLE gestao.empresa ADD COLUMN contribuinte_ipi smallint DEFAULT 1;
--RUN--

--SEQ 0109--
CREATE TABLE gestao.pcpparada (
  id_pcpparada SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  data DATE NOT NULL ,
  hora TIME NOT NULL ,
  cod_maquina CHAR(10) NOT NULL ,
  cod_operador CHAR(10) NULL ,
  nome_operador CHAR(40) NOT NULL ,
  cod_motivo CHAR(10) NULL ,
  descr_motivo CHAR(40) NOT NULL ,
  tempo_parada INT NOT NULL ,
  CONSTRAINT pk_pcpparada PRIMARY KEY (id_pcpparada),
  CONSTRAINT fk_pcpparada_empresa FOREIGN KEY (id_empresa)  REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT key_pcpparada_data UNIQUE (id_empresa, data, hora)
);
--RUN--

--SEQ 0110--
ALTER TABLE gestao.estmovto ADD COLUMN cod_tes integer;
--RUN--

--SEQ 0112-- 24/3/2010 09:48 JCS 
CREATE TABLE gestao.reqresumida
(
  id_reqresumida serial NOT NULL,
  id_empresa integer NOT NULL,
  data date NOT NULL,
  turno smallint NOT NULL,
  nome_requisitante character(40) NOT NULL,
  numero_op integer,
  cod_produto char(14) NOT NULL,
  qtdade_pecas numeric(5) NOT NULL,
  comprimento numeric(6,1) NOT NULL,
  qtdade numeric(12,3) NOT NULL,
  dest_aplic character(30),
  CONSTRAINT pk_reqresumida PRIMARY KEY (id_reqresumida),
  CONSTRAINT fk_reqresumida_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_reqresumida_produto FOREIGN KEY (id_empresa,cod_produto) REFERENCES gestao.produto (id_empresa,codigo)
);
--RUN--

--SEQ 0113-- 16/04/2010 15:16 JCS 
ALTER TABLE gestao.produto  ADD COLUMN cod_classificacao integer;
ALTER TABLE gestao.produto  ADD COLUMN id_ctbconta_ept   integer;
ALTER TABLE gestao.produto  ADD COLUMN id_ctbconta_dtp   integer;
--RUN--

--SEQ 0114-- 20/04/2010 14:22 JCS 
ALTER TABLE gestao.produto DROP CONSTRAINT key_produto_cod_barra;
CREATE INDEX key_produto_cod_barra ON gestao.produto (id_empresa, cod_barra);
--RUN--

--SEQ 0115-- 24/04/2010 12:54 JCS
ALTER TABLE gestao.modecf ADD COLUMN mfd smallint;
DELETE FROM gestao.modecf;
--RUN--

--SEQ 0116-- 24/04/2010 12:55 JCS
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (9, 3, 5, 1, 'BEMATECH            ', 'MP-20 FI II         ', 'VER.03.00           ', 1, 0);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (125, 8, 2, 5, 'DARUMA              ', 'FS-2100T            ', '01.05.00            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (126, 8, 8, 5, 'DARUMA              ', 'FS-600              ', '01.05.00            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (127, 8, 9, 1, 'DARUMA              ', 'FS-600 USB          ', '01.00.00            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (128, 8, 10, 1, 'DARUMA              ', 'FS-700L             ', '01.00.00            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (129, 8, 11, 1, 'DARUMA              ', 'FS-700M             ', '01.01.00            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (131, 8, 12, 1, 'DARUMA              ', 'FS-700H             ', '01.01.00            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (137, 15, 4, 6, 'EPSON               ', 'TM-T81 FBII         ', '01.07.00            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (138, 15, 4, 5, 'EPSON               ', 'TM-T81 FBII         ', '01.05.00            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (139, 15, 5, 3, 'EPSON               ', 'TM-H6000 FBII       ', '01.05.00            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (141, 15, 5, 4, 'EPSON               ', 'TM-H6000 FBII       ', '01.07.00            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (135, 15, 6, 4, 'EPSON               ', 'TM-T88 FBII         ', '01.07.00            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (134, 15, 6, 3, 'EPSON               ', 'TM-T88 FBII         ', '01.05.00            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (142, 15, 7, 1, 'EPSON               ', 'TM-T88 FBIII        ', '01.00.01            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (143, 15, 8, 1, 'EPSON               ', 'TM-T81 FBIII        ', '01.00.01            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (144, 15, 9, 1, 'EPSON               ', 'TM-H6000 FBIII      ', '01.00.01            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (21, 3, 8, 2, 'BEMATECH            ', 'MP-2000 TH FI       ', '01.00.01            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (24, 3, 8, 5, 'BEMATECH            ', 'MP-2000 TH FI       ', '01.03.02            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (48, 3, 17, 2, 'BEMATECH            ', 'MP-6000 TH FI       ', '01.01.01            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (50, 3, 17, 4, 'BEMATECH            ', 'MP-6000 TH FI       ', '01.03.02            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (2, 3, 2, 3, 'BEMATECH            ', 'ECF-IF MP-20 FI     ', '2.12                ', 1, 0);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (19, 3, 7, 1, 'BEMATECH            ', 'MP-20 FI R          ', '1.10                ', 1, 0);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (36, 3, 12, 1, 'BEMATECH            ', 'MP-40 FI            ', '2.12                ', 1, 0);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (37, 3, 12, 2, 'BEMATECH            ', 'MP-40 FI            ', '2.13                ', 1, 0);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (46, 3, 16, 1, 'BEMATECH            ', 'MP-50 FI            ', '2.12                ', 1, 0);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (3, 3, 1, 1, 'BEMATECH            ', 'Kit ECF-IF FM-20 FI ', '2.12                ', 1, 0);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (14, 3, 5, 8, 'BEMATECH            ', 'MP-20 FI II         ', 'VER03.31            ', 1, 0);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (13, 3, 5, 7, 'BEMATECH            ', 'MP-20 FI II         ', 'VER03.26            ', 1, 0);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (12, 3, 5, 6, 'BEMATECH            ', 'MP-20 FI II         ', 'VER03.25            ', 1, 0);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (16, 3, 6, 1, 'BEMATECH            ', 'MP-20 FI II R       ', '03.00               ', 1, 0);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (18, 3, 6, 3, 'BEMATECH            ', 'MP-20 FI II R       ', 'VER03.20            ', 1, 0);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (41, 3, 13, 4, 'BEMATECH            ', 'MP-40 FI II         ', 'VER03.21            ', 1, 0);
--RUN--

--SEQ 0117-- 24/04/2010 13:02 JCS
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (40, 3, 13, 1, 'BEMATECH            ', 'MP-40 FI II         ', 'VER.03.00           ', 1, 0);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (38, 3, 13, 2, 'BEMATECH            ', 'MP-40 FI II         ', '03.05               ', 1, 0);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (42, 3, 14, 1, 'BEMATECH            ', 'MP-40 FI II R       ', '03.00               ', 1, 0);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (27, 3, 9, 2, 'BEMATECH            ', 'MP-2100 TH FI       ', '01.01.00            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (112, 3, 9, 4, 'BEMATECH            ', 'MP-2100 TH FI       ', '01.01.01            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (53, 3, 18, 2, 'BEMATECH            ', 'MP-6100 TH FI       ', '01.03.02            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (35, 3, 19, 3, 'BEMATECH            ', 'MP-3000 TH FI       ', '01.01.01            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (120, 3, 20, 1, 'BEMATECH            ', 'MP-7000 TH FI       ', '01.00.01            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (54, 3, 21, 1, 'BEMATECH            ', 'MP-4000 TH FI       ', '01.00.01            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (124, 3, 21, 2, 'BEMATECH            ', 'MP-4000 TH FI       ', '01.00.02            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (62, 8, 3, 2, 'DARUMA              ', 'FS-318              ', '1.10                ', 1, 0);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (63, 8, 3, 3, 'DARUMA              ', 'FS-318              ', '1.20                ', 1, 0);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (67, 8, 5, 3, 'DARUMA              ', 'FS-345              ', '1.11                ', 1, 0);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (68, 8, 5, 4, 'DARUMA              ', 'FS-345              ', '1.20                ', 1, 0);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (69, 8, 5, 5, 'DARUMA              ', 'FS-345              ', '1.22                ', 1, 0);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (59, 8, 2, 2, 'DARUMA              ', 'FS-2100T            ', '01.02.00            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (61, 8, 2, 4, 'DARUMA              ', 'FS-2100T            ', '01.04.00            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (79, 8, 8, 4, 'DARUMA              ', 'FS-600              ', '01.04.00            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (77, 8, 8, 2, 'DARUMA              ', 'FS-600              ', '01.02.00            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (82, 15, 1, 3, 'EPSON               ', 'TM-H6000 FB         ', '01.02.00            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (80, 15, 1, 4, 'EPSON               ', 'TM-H6000 FB         ', '01.06.00            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (86, 15, 4, 4, 'EPSON               ', 'TM-T81 FBII         ', '01.03.00            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (84, 15, 4, 2, 'EPSON               ', 'TM-T81 FBII         ', '01.00.04            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (85, 15, 4, 3, 'EPSON               ', 'TM-T81 FBII         ', '01.02.00            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (90, 15, 5, 1, 'EPSON               ', 'TM-H6000 FBII       ', '01.02.00            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (91, 15, 5, 2, 'EPSON               ', 'TM-H6000 FBII       ', '01.03.00            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (93, 15, 6, 2, 'EPSON               ', 'TM-T88 FBII         ', '01.03.00            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (92, 15, 6, 1, 'EPSON               ', 'TM-T88 FBII         ', '01.02.00            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (95, 47, 5, 4, 'YANCO               ', 'IF YANCO 8000       ', '2.1                 ', 1, 0);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (96, 47, 5, 1, 'YANCO               ', 'IF YANCO 8000       ', 'V1.0                ', 1, 0);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (97, 47, 5, 2, 'YANCO               ', 'IF YANCO 8000       ', 'V1.1                ', 1, 0);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (66, 8, 5, 1, 'DARUMA              ', 'FS-345              ', '1.00                ', 1, 0);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (26, 3, 9, 1, 'BEMATECH            ', 'MP-2100 TH FI       ', '01.00.00            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (88, 15, 2, 2, 'EPSON               ', 'TM-T88 FB           ', '01.01.00            ', 1, 1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd) VALUES (87, 15, 2, 3, 'EPSON               ', 'TM-T88 FB           ', '01.06.00            ', 1, 1);
--RUN--

--SEQ 0118-- 26/04/2010 11:41 JCS
CREATE TABLE gestao.viagem (
  id_viagem SERIAL,
  id_empresa INT NOT NULL,
  num_conhecimento CHAR(8) NULL ,
  id_veiculo INT NULL ,
  id_motorista INT NULL ,
  valor_motora DECIMAL(12,2) NULL ,
  dt_adiantamento DATE NULL ,
  observ VARCHAR(1024) NULL ,
  perc_comiss DECIMAL(6,2) NULL ,
  destino CHAR(25) NULL ,
  data_saida DATE NULL ,
  hora_saida TIME NULL ,
  dt_lancto DATE NULL ,
  dia_prev INT NULL ,
  data_chegada DATE NULL ,
  km_saida INT NULL ,
  km_chegada INT NULL ,
  km_previsto INT NULL ,
  vl_frete_km DECIMAL(12,3) NULL ,
  vl_frete_fixo DECIMAL(12,2) NULL ,
  vl_frete DECIMAL(10,2) NULL ,
  vl_frete_padrao DECIMAL(10,2) NULL ,
  km_cliente INT NULL ,
  vl_frete_km_cliente DECIMAL(12,3) NULL ,
  id_regiao INT NULL ,
  data_vencto DATE NULL ,
  bloq_com_cargas SMALLINT NULL ,
  tx_administracao DECIMAL(6,2) NULL ,
  id_natureza INT NULL ,
  id_cliente INT NULL ,
  km_padrao INT NULL ,
  taxa_icms DECIMAL(5,2) NULL ,
  peso DECIMAL(12,2) NULL ,
  sc_id_forne INT NULL ,
  sc_frete DECIMAL(12,2) NULL ,
  sc_pedagio DECIMAL(12,2) NULL ,
  sc_coleta_entrega DECIMAL(12,2) NULL ,
  local_carregamento CHAR(30) NULL ,
  cod_ccusto INT NULL,
  CONSTRAINT pk_viagem PRIMARY KEY (id_viagem),
  CONSTRAINT fk_viagem_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa)
);
--RUN--

--SEQ 0119-- 29/04/2010 09:40 JCS
CREATE TABLE gestao.contador (
  id_contador SERIAL ,
  nome CHAR(100) NOT NULL ,
  cpf CHAR(14) NULL ,
  crc CHAR(15) NULL ,
  ddd CHAR(8) NULL ,
  telefone CHAR(8) NULL ,
  fax CHAR(8) NULL ,
  ender CHAR(60) NULL ,
  numero CHAR(5) NULL ,
  complemento CHAR(60) NULL ,
  bairro CHAR(60) NULL ,
  id_municipio INT NULL ,
  cep INT NULL ,
  email CHAR(50) NULL ,
  categoria CHAR(20) NULL ,
  cnpj CHAR(18) NULL ,
  organizacao CHAR(40) NULL ,
  registro_org CHAR(11) NULL ,
  ativo SMALLINT NULL,
  CONSTRAINT pk_cotador PRIMARY KEY (id_contador),
  CONSTRAINT key_contador_cpf UNIQUE (cpf),
  CONSTRAINT fk_contador_municipio FOREIGN KEY (id_municipio) REFERENCES gestao.municipio (id_municipio)  
);
--RUN--

--SEQ 0120-- 30/04/2010 11:35 JCS
ALTER TABLE gestao.sticms ADD COLUMN st_especifica character(20) DEFAULT ' ' NOT NULL;
ALTER TABLE gestao.sticms ADD COLUMN cfop integer;

ALTER TABLE gestao.sticms DROP CONSTRAINT key_sticms_uf;
ALTER TABLE gestao.sticms ADD  CONSTRAINT key_sticms_uf UNIQUE(id_st, uf, st_especifica);
--RUN--

--SEQ 0121-- 01/05/2010 08:37 JCS
ALTER TABLE gestao.sticms ADD COLUMN id_tes integer;
--RUN--

--SEQ 0122-- 05/05/2010 15:59 JCS
ALTER TABLE gestao.municipio ADD COLUMN dt_atual date;
--RUN--

--SEQ 0123-- 20/05/2010 16:00 JCS
ALTER TABLE gestao.st ADD COLUMN agrupamento character(20) DEFAULT ' ' NOT NULL;
ALTER TABLE gestao.st ADD COLUMN cod_tes1 integer;
ALTER TABLE gestao.st ADD COLUMN cod_tes2 integer;
ALTER TABLE gestao.st ADD COLUMN cod_tes3 integer;
ALTER TABLE gestao.st ADD COLUMN cod_tes4 integer;
ALTER TABLE gestao.st ADD COLUMN cod_tes5 integer;
--RUN--

--SEQ 0124-- 31/05/2010 08:10 JCS
CREATE TABLE gestao.tesxcfop (
  id_tesxcfop SERIAL,
  id_empresa INT NULL ,
  cod_tes INT NOT NULL ,
  cfop INT NULL ,
  origem_destino CHAR(1) NULL ,
  contribuinte_icms SMALLINT NULL ,
  tipo_produto CHAR(1) NULL ,
  cst_icms SMALLINT NULL ,
  cod_tes_siscon INT NULL ,
  cod_exp_fiscal_av1 CHAR(10) NULL ,
  cod_exp_fiscal_ap1 CHAR(10) NULL ,
  cod_exp_fiscal_av2 CHAR(10) NULL ,
  cod_exp_fiscal_ap2 CHAR(10) NULL ,
  CONSTRAINT pk_tesxcfop PRIMARY KEY (id_tesxcfop),
  CONSTRAINT fk_tesxfop_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT key_tesxcfop_cod_tes UNIQUE (id_empresa, cod_tes, origem_destino, contribuinte_icms, tipo_produto, cst_icms)
);
--RUN--

--SEQ 0125-- 31/05/2010 11:28 JCS
ALTER TABLE gestao.nfdet ADD COLUMN vl_desp_acessorias numeric(15,2) DEFAULT 0;
--RUN--

--SEQ 0126-- 01/06/2010 16:45 JCS
CREATE TABLE gestao.planorefsped (
  id_planorefsped SERIAL NOT NULL ,
  plano_contas_ref INT NULL ,
  versao CHAR(10) NOT NULL ,
  codigo CHAR(30) NOT NULL ,
  descricao CHAR(120) NOT NULL ,
  tipo CHAR(1) NOT NULL ,
  nivel SMALLINT NOT NULL,
  dt1 DATE NOT NULL ,
  dt2 DATE NOT NULL ,
  CONSTRAINT pk_planorefsped PRIMARY KEY (id_planorefsped),
  CONSTRAINT key_planorefsped_codigo UNIQUE (codigo,versao,dt1)
);
--RUN--

--SEQ 0127-- 23/06/2010 14:54 JCS
ALTER TABLE gestao.produto ADD COLUMN id_ctbconta_desp integer;
ALTER TABLE gestao.reqd    ADD COLUMN id_ctbconta_desp integer;
ALTER TABLE gestao.req     ADD COLUMN contabilizado character(1);
--RUN--

--SEQ 0128-- 09/07/2010 20:55 JCS
ALTER TABLE gestao.nftributo ADD COLUMN vl_produtos numeric(12,2);
--RUN--

--SEQ 0129-- 12/07/2010 10:06 JCS
ALTER TABLE gestao.nftributo ADD COLUMN vl_desconto numeric(12,2);
--RUN--

--SEQ 0130-- 15/07/2010 17:40 JCS
CREATE TABLE gestao.spedsitdoc
(
   codigo character(02) NOT NULL, 
   descricao character(80) NOT NULL, 
   CONSTRAINT pk_spedsitdoc PRIMARY KEY (codigo)
);

INSERT INTO gestao.spedsitdoc (codigo, descricao) VALUES ('00', 'Documento regular                                                               ');
INSERT INTO gestao.spedsitdoc (codigo, descricao) VALUES ('01', 'Escritura  o extempor nea de documento regular                                  ');
INSERT INTO gestao.spedsitdoc (codigo, descricao) VALUES ('02', 'Documento cancelado                                                             ');
INSERT INTO gestao.spedsitdoc (codigo, descricao) VALUES ('03', 'Escritura  o extempor nea de documento cancelado                                ');
INSERT INTO gestao.spedsitdoc (codigo, descricao) VALUES ('04', 'NF-e ou CT-e - denegado                                                         ');
INSERT INTO gestao.spedsitdoc (codigo, descricao) VALUES ('05', 'NF-e ou CT-e - Numera  o inutilizada                                            ');
INSERT INTO gestao.spedsitdoc (codigo, descricao) VALUES ('06', 'Documento Fiscal Complementar                                                   ');
INSERT INTO gestao.spedsitdoc (codigo, descricao) VALUES ('07', 'Escritura  o extempor nea de documento complementar                             ');
INSERT INTO gestao.spedsitdoc (codigo, descricao) VALUES ('08', 'Documento Fiscal emitido com base em Regime Especial ou Norma Espec fica        ');
--RUN--

--SEQ 0131-- 16/07/2010 14:11 JCS
ALTER TABLE gestao.estterceiro ADD COLUMN qtd_peca integer;
ALTER TABLE gestao.estterceiro ADD COLUMN tamanho  integer;
--RUN--

--SEQ 0132-- 27/07/2010 16:02 JCS
CREATE TABLE gestao.empiest (
  id_empiest SERIAL ,
  id_empresa INT NOT NULL ,
  uf CHAR(2) NOT NULL ,
  iest CHAR(14) NULL
);

ALTER TABLE gestao.empiest ADD CONSTRAINT pk_empiest PRIMARY KEY(id_empiest);
ALTER TABLE gestao.empiest  ADD CONSTRAINT fk_empiest_empresa 
   FOREIGN KEY (id_empresa)  REFERENCES gestao.empresa (id_empresa);
ALTER TABLE gestao.empiest ADD CONSTRAINT key_empiest_uf UNIQUE (id_empresa,uf);   
ALTER TABLE gestao.empiest  ADD CONSTRAINT fk_empiest_uf
   FOREIGN KEY (uf)  REFERENCES gestao.estado (sigla);
--RUN--

--SEQ 0133-- 28/07/2010 11:00 JCS
ALTER TABLE gestao.empresa ADD COLUMN pasta_dados character(300);
--RUN--

--SEQ 0134-- 30/07/2010 14:33 JCS
CREATE INDEX key_itemdocto_produto ON gestao.itemdocto (id_empresa, cod_produto);
--RUN--

--SEQ 0135-- 02/08/2010 20:47 JCS
ALTER TABLE gestao.nfdet ADD COLUMN vl_red_bc_icms numeric(15,2);

ALTER TABLE gestao.itemdocto ADD COLUMN vl_frete numeric(15,2);
ALTER TABLE gestao.itemdocto ADD COLUMN vl_seguro numeric(15,2);
ALTER TABLE gestao.itemdocto ADD COLUMN vl_desp_acessorias numeric(15,2);
ALTER TABLE gestao.itemdocto ADD COLUMN vl_red_bc_icms numeric(15,2);
--RUN--

--SEQ 0136-- 02/08/2010 20:57 JCS
CREATE OR REPLACE VIEW gestao.spedc190 AS
SELECT id_empresa,id_entsiscon,id_saisiscon,cst_icms,cfop,aliq_icms,
  sum(vl_item-vl_desconto+vl_frete+vl_seguro+vl_desp_acessorias+vl_icms_st+vl_ipi) as vl_opr,
  sum(bc_icms) as vl_bc_icms,
  sum(vl_icms) as vl_icms,
  sum(bc_icms_st) as vl_bc_icms_st,
  sum(vl_icms_st) as vl_icms_st,
  sum(vl_red_bc_icms) as vl_red_ipi,
  sum(vl_ipi) as vl_ipi
  FROM gestao.itemdocto
  GROUP BY id_empresa,id_entsiscon,id_saisiscon,cst_icms,cfop,aliq_icms;
--RUN--

--SEQ 0138-- 04/08/2010 10:29 JCS
ALTER TABLE gestao.correntista ADD COLUMN im character(20);
--RUN--

--SEQ 0139-- 09/08/2010 15:21 JCS
UPDATE gestao.nf SET bc_icms_antecipado=0 WHERE bc_icmsst>0 AND bc_icms_antecipado>0;
UPDATE gestao.nf SET vl_icms_antecipado=0 WHERE vl_icmsst>0 AND vl_icms_antecipado>0;

ALTER TABLE gestao.nf ADD CONSTRAINT chk_nf_icmsst1 CHECK (NOT (bc_icmsst>0 AND bc_icms_antecipado>0));
ALTER TABLE gestao.nf ADD CONSTRAINT chk_nf_icmsst2 CHECK (NOT (vl_icmsst>0 AND vl_icms_antecipado>0));
--RUN--

--SEQ 0140-- 11/08/2010 12:13 JCS
CREATE TABLE gestao.stxtes
(
   id_stxtes serial NOT NULL, 
   id_empresa integer NOT NULL, 
   cod_st integer NOT NULL, 
   cod_tes integer NOT NULL, 
   CONSTRAINT pk_stxtes PRIMARY KEY (id_stxtes), 
   CONSTRAINT key_stxtes_cod_st UNIQUE (id_empresa, cod_st, cod_tes), 
   CONSTRAINT fk_stxtes FOREIGN KEY (id_empresa, cod_st) REFERENCES gestao.st (id_empresa, codigo)
) ;

INSERT INTO gestao.stxtes (id_empresa,cod_st, cod_tes)
 SELECT id_empresa,codigo,cod_tes1
  FROM gestao.st WHERE cod_tes1 is NOT NULL
UNION 
SELECT id_empresa,codigo,cod_tes2
  FROM gestao.st WHERE cod_tes2 is NOT NULL
UNION 
SELECT id_empresa,codigo,cod_tes3
  FROM gestao.st WHERE cod_tes3 is NOT NULL
UNION 
SELECT id_empresa,codigo,cod_tes4
  FROM gestao.st WHERE cod_tes4 is NOT NULL
UNION 
SELECT id_empresa,codigo,cod_tes5
  FROM gestao.st WHERE cod_tes5 is NOT NULL
;
--RUN--

--SEQ 0141-- 12/08/2010 12:10 ALAN
CREATE TABLE gestao.contrato (
  id_contrato SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  numero INT NOT NULL ,
  id_cliente INT NOT NULL ,
  dt1 DATE NOT NULL ,
  dt2 DATE NULL ,
  situacao CHAR(1) NOT NULL ,
  descricao VARCHAR(1023) NULL ,
  vl_contrato DECIMAL(12,2) NOT NULL ,
  vl_instalacao DECIMAL(12,2) NOT NULL ,
  dia_vencto SMALLINT NOT NULL ,
  parc_instalacao SMALLINT NOT NULL ,
  id_vendedor INT NULL ,
  tx_comissao DECIMAL(7,2) NOT NULL ,
  observacao VARCHAR(1023) NULL ,
  carac1 CHAR(39) NULL ,
  carac2 CHAR(39) NULL ,
  carac3 CHAR(39) NULL ,
  carac4 CHAR(39) NULL ,
  carac5 CHAR(39) NULL
);

ALTER TABLE gestao.contrato ADD CONSTRAINT pk_contrato PRIMARY KEY(id_contrato);
ALTER TABLE gestao.contrato ADD CONSTRAINT fk_contrato_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa);
ALTER TABLE gestao.contrato ADD CONSTRAINT key_contrato_numero UNIQUE(numero, id_empresa);
CREATE INDEX key_contrato_dt1     ON gestao.contrato (dt1, id_empresa);
CREATE INDEX key_contrato_cliente ON gestao.contrato (id_cliente);
--RUN--

--SEQ 0142-- 13/08/2010 11:10 JCS
ALTER TABLE gestao.empresa ADD COLUMN gera_sped_fiscal smallint NOT NULL DEFAULT 1;
--RUN--

--SEQ 0143-- 15/08/2010 11:10 JCS
ALTER TABLE gestao.itemdocto ALTER COLUMN vl_frete           SET DEFAULT 0;
ALTER TABLE gestao.itemdocto ALTER COLUMN vl_seguro          SET DEFAULT 0;
ALTER TABLE gestao.itemdocto ALTER COLUMN vl_desp_acessorias SET DEFAULT 0;
ALTER TABLE gestao.itemdocto ALTER COLUMN vl_red_bc_icms     SET DEFAULT 0;
--RUN--

--SEQ 0143-- 17/08/2010 22:45 JCS
DROP VIEW gestao.spedc190;
--RUN--

--SEQ 0144-- 20/08/2010 09:30 ALAN
ALTER TABLE gestao.contrato ADD COLUMN dt_cobranca_inst date;
--RUN--

--SEQ 0145-- 24/08/2010 14:20 JCS
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('20','Ordem de Coleta de Cargas');
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('23','GNRE');
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('24','Autoriza  o de Carregamento e Transporte');
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('25','Manifesto de Carga');
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('30','Bilhete/Recibo do Passageiro');
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('57','Conhecimento de Transporte Eletr nico-CT-e');
--RUN--

--SEQ 0146-- 31/08/2010 16:45 JCS
ALTER TABLE gestao.empiest ALTER iest TYPE character varying(14);
--RUN--

--SEQ 0147-- 02/09/2010 10:18 JCS
ALTER TABLE gestao.produto ADD COLUMN vol_m3 numeric(10,5);
--RUN--

--SEQ 0148-- 02/09/2010 15:12 JCS
ALTER TABLE gestao.correntista ADD COLUMN cta_cliente_consig integer;
--RUN--

--SEQ 0149-- 09/09/2010 15:40 JCS
ALTER TABLE gestao.reqresumida ADD COLUMN id_estlocal integer DEFAULT 2;
ALTER TABLE gestao.reqresumida DROP CONSTRAINT fk_reqresumida_produto;
--RUN--

--SEQ 0150-- 10/09/2010 15:07 RH
ALTER TABLE gestao.tesxcfop ADD COLUMN ativo smallint;
UPDATE gestao.tesxcfop SET ativo=1;
ALTER TABLE gestao.tesxcfop ALTER COLUMN ativo SET NOT NULL;
--RUN--

--SEQ 0151-- 17/09/2010 10:50 Alan
ALTER TABLE gestao.contrato ADD COLUMN vl_entrada_inst DECIMAL(12,2);
--RUN--

--SEQ 0152-- 19/09/2010 11:15 JCS
ALTER TABLE gestao.itemdocto  ADD COLUMN origem character(20);
--RUN--

--SEQ 0153-- 28/09/2010 11:15 JCS
ALTER TABLE gestao.gnre ALTER informacoes TYPE character(200);
--RUN--

--SEQ 0154-- 08/10/2010 17:51 JCS
ALTER TABLE gestao.nfdet DISABLE TRIGGER gera_estmovto_nfdet;
ALTER TABLE gestao.nfdet DISABLE TRIGGER nfdet_controle_estterceiro;
ALTER TABLE gestao.nfdet DISABLE TRIGGER valida_nfdet;

UPDATE gestao.nfdet SET ex_tipi=' ' WHERE ex_tipi IS NULL;
ALTER TABLE gestao.nfdet ALTER COLUMN ex_tipi SET NOT NULL;

ALTER TABLE gestao.nfdet ENABLE TRIGGER gera_estmovto_nfdet;
ALTER TABLE gestao.nfdet ENABLE TRIGGER nfdet_controle_estterceiro;
ALTER TABLE gestao.nfdet ENABLE TRIGGER valida_nfdet;
--RUN--

--SEQ 0155-- 11/10/2010 17:25 JCS
CREATE TABLE gestao.spedcodajuste
(
  codigo character(10) NOT NULL,
  estado character(2) NULL,
  versao character(10) NOT NULL,
  tipo char(10) NOT NULL,
  descricao character(200) NOT NULL,
  dt1 DATE NOT NULL,
  dt2 DATE NOT NULL,
  CONSTRAINT pk_spedcodajuste PRIMARY KEY (codigo)
);

ALTER TABLE gestao.spedcodajuste ADD CONSTRAINT fk_spedcodajuste_estado FOREIGN KEY (estado) REFERENCES gestao.estado (sigla);
--RUN--

--SEQ 0156-- 25/10/2010 14:20 RH
ALTER TABLE gestao.tabobsfiscal ADD COLUMN cod_exp integer;
--RUN--

--SEQ 0157-- 26/10/2010 17:16 JCS
-- CAMPOS NOVOS NFe 2.0
ALTER TABLE gestao.nf ADD COLUMN versao_layout character(5);
ALTER TABLE gestao.nf ADD COLUMN cod_aleatorio_chave integer;
ALTER TABLE gestao.nf ADD COLUMN dt_contingencia date;
ALTER TABLE gestao.nf ADD COLUMN hr_contingencia time;
ALTER TABLE gestao.nf ADD COLUMN justificativa_contingencia character(255);
ALTER TABLE gestao.nf ADD COLUMN crt smallint;
ALTER TABLE gestao.nf ADD COLUMN email_desrem character(60);
ALTER TABLE gestao.nf ADD COLUMN ident_vagao character(20);
ALTER TABLE gestao.nf ADD COLUMN ident_balsa character(20);

ALTER TABLE gestao.nfdet ADD COLUMN ind_total smallint;
ALTER TABLE gestao.nfdet ADD COLUMN ndi character(10);
ALTER TABLE gestao.nfdet ADD COLUMN ddi date;
ALTER TABLE gestao.nfdet ADD COLUMN local_desembaraco character(60);
ALTER TABLE gestao.nfdet ADD COLUMN uf_desembaraco character(2);
ALTER TABLE gestao.nfdet ADD COLUMN data_desembaraco date;
ALTER TABLE gestao.nfdet ADD COLUMN cod_exportador character(30);
ALTER TABLE gestao.nfdet ADD COLUMN num_adicao integer;
ALTER TABLE gestao.nfdet ADD COLUMN seq_adicao integer;
ALTER TABLE gestao.nfdet ADD COLUMN cod_fabricante character(30);
ALTER TABLE gestao.nfdet ADD COLUMN vl_desc_di numeric(12,2);
ALTER TABLE gestao.nfdet ADD COLUMN num_pedido character(15);
ALTER TABLE gestao.nfdet ADD COLUMN num_item_pedido integer;
ALTER TABLE gestao.nfdet ADD COLUMN uf_st character(2);
ALTER TABLE gestao.nfdet ADD COLUMN perc_bc_propria numeric(7,2);
ALTER TABLE gestao.nfdet ADD COLUMN bc_icmsst_ret numeric(12,2);
ALTER TABLE gestao.nfdet ADD COLUMN vl_icmsst_ret numeric(12,2);
ALTER TABLE gestao.nfdet ADD COLUMN bc_icmsst_ufdest numeric(12,2);
ALTER TABLE gestao.nfdet ADD COLUMN vl_icmsst_ufdest numeric(12,2);
ALTER TABLE gestao.nfdet ADD COLUMN csosn character(3);
ALTER TABLE gestao.nfdet ADD COLUMN aliq_cred_icms numeric(5,2);
ALTER TABLE gestao.nfdet ADD COLUMN vl_cred_icms numeric(15,2);
ALTER TABLE gestao.nfdet ADD COLUMN cst_issqn character(1);

ALTER TABLE gestao.nfendereco ADD COLUMN tipo_inscricao smallint;
ALTER TABLE gestao.nfendereco ADD COLUMN cpf character(11);

ALTER TABLE gestao.nfref ADD COLUMN tipo_inscricao smallint;
ALTER TABLE gestao.nfref ADD COLUMN cpf_emitente character(11);
ALTER TABLE gestao.nfref ADD COLUMN ie_emitente character(14);
ALTER TABLE gestao.nfref ADD COLUMN num_ordem_ecf integer;
ALTER TABLE gestao.nfref ADD COLUMN num_coo integer;

ALTER TABLE gestao.empresa ADD COLUMN crt smallint;

-- CAMPOS ALTERADOS NFe 2.0
ALTER TABLE gestao.nfendereco ALTER telefone TYPE numeric(14,0);

-- CAMPOS EXCLUIDOS
ALTER TABLE gestao.nf DROP COLUMN inf_ad_fisco;
ALTER TABLE gestao.nf DROP COLUMN inf_ad_contr;

ALTER TABLE gestao.sticms DROP COLUMN cfop;
ALTER TABLE gestao.sticms DROP COLUMN id_tes;
--RUN--

--SEQ 0158-- 03/11/2010 09:33 JCS
ALTER TABLE gestao.nfeinut ALTER chave_acesso TYPE character(41);
--RUN--

--SEQ 0159-- 03/11/2010 17:06 ALAN
CREATE TABLE gestao.ctc (
  id_ctc serial NOT NULL ,
  numero INT NULL ,
  id_empresa INT NOT NULL ,
  serie CHAR(1) NULL ,
  modelo SMALLINT NULL ,
  situacao SMALLINT NOT NULL ,
  cfop INT NULL ,
  data_emi DATE NULL ,
  id_remetente INT NULL ,
  id_destinatario INT NULL ,
  id_redespacho INT NULL ,
  redes_pag SMALLINT NULL ,
  redes_num INT NULL ,
  frete SMALLINT NULL ,
  calc_ate CHAR(30) NULL ,
  nf CHAR(100) NULL ,
  nat_carga CHAR(20) NULL ,
  valor_nf DECIMAL(10,2) NULL ,
  peso DECIMAL(10,2) NULL ,
  especie CHAR(10) NULL ,
  qtdade INT NULL ,
  marca CHAR(20) NULL ,
  vol_m3 DECIMAL(7,3) NULL ,
  serie_nf CHAR(2) NOT NULL ,
  modelo_nf SMALLINT NOT NULL ,
  data_nf DATE NOT NULL ,
  id_veiculo INT NULL ,
  id_motorista INT NULL ,
  local_coleta CHAR(35) NULL ,
  local_entrega CHAR(35) NULL ,
  frete_peso_vol DECIMAL(7,2) NULL ,
  frete_valor DECIMAL(7,2) NULL ,
  taxas DECIMAL(10,2) NULL ,
  taxa_coleta DECIMAL(10,2) NULL ,
  pedagio DECIMAL(10,2) NULL ,
  outros DECIMAL(12,2) NULL ,
  vl_seguro DECIMAL(12,2) NULL ,
  total DECIMAL(12,2) NULL ,
  base_icms DECIMAL(10,2) NULL ,
  aliq_icms DECIMAL(5,2) NULL ,
  icms DECIMAL(10,2) NULL ,
  isento_icms DECIMAL(12,2) NULL ,
  outros_icms DECIMAL(12,2) NULL ,
  obs CHAR(200) NULL ,
  id_ctr INT NULL ,
  id_transportador INT NULL ,
  valor_custo_frete DECIMAL(12,2) NULL ,
  valor_custo_seguro DECIMAL(12,2) NULL ,
  lancar_ctp SMALLINT NULL ,
  data_vencto DATE NULL ,
  nsu DECIMAL(10,0) NULL ,
  nsu_data DATE NULL ,
  nsu_hora TIME NULL ,
  data_impressao DATE NULL ,
  hora_impressao TIME NULL ,
  id_condpagto INT NULL ,
  id_viagem INT NULL ,
  data_entrega DATE NULL,
  CONSTRAINT pk_ctc PRIMARY KEY (id_ctc),
  CONSTRAINT key_ctc_numero UNIQUE (numero, id_empresa)
);

CREATE TABLE gestao.ict (
  id_ict serial NOT NULL ,
  id_ctc INT NULL ,
  id_remetente INT NULL ,
  id_destinatario INT NULL ,
  data_emissao_nf DATE NULL ,
  modelo_nf SMALLINT NULL ,
  serie_nf CHAR(2) NULL ,
  subserie_nf CHAR(2) NULL ,
  numero_nf INT NULL ,
  nat_carga CHAR(20) NULL ,
  valor_nf DECIMAL(12,2) NULL ,
  peso DECIMAL(10,2) NULL ,
  especie CHAR(20) NULL ,
  qtdade INT NULL ,
  marca CHAR(20) NULL,
  CONSTRAINT pk_ict PRIMARY KEY (id_ict),
  CONSTRAINT key_ict_numero_nf UNIQUE (numero_nf,serie_nf,subserie_nf,id_remetente),
  CONSTRAINT fk_ict_ctc FOREIGN KEY (id_ctc) REFERENCES gestao.ctc (id_ctc)
);
--RUN--

--SEQ 0161-- 15/11/2010 20:53 JCS
ALTER TABLE gestao.st DROP COLUMN cod_tes1;
ALTER TABLE gestao.st DROP COLUMN cod_tes2;
ALTER TABLE gestao.st DROP COLUMN cod_tes3;
ALTER TABLE gestao.st DROP COLUMN cod_tes4;
ALTER TABLE gestao.st DROP COLUMN cod_tes5;

ALTER TABLE gestao.st ADD COLUMN reg_tributacao smallint;

ALTER TABLE gestao.sticms  ADD COLUMN csosn character(3);

CREATE TABLE gestao.cst
(
   id_cst serial NOT NULL, 
   tributo character(10) NOT NULL, 
   dt1 date NOT NULL, 
   dt2 date, 
   codigo character(3) NOT NULL, 
   tp_operacao character(1) NOT NULL, 
   descricao character(300) NOT NULL, 
   CONSTRAINT pk_cst PRIMARY KEY (id_cst), 
   CONSTRAINT key_cst_codigo UNIQUE (tributo, dt1, codigo), 
   CONSTRAINT chk_cst_tp_operacao CHECK (tp_operacao IN ('E','S','A'))
);

INSERT INTO gestao.cst(tributo, dt1, codigo, tp_operacao, descricao) VALUES ('SIMPLES','2010-10-01','101','A','Tributada pelo Simples Nacional com permiss o de cr dito');
INSERT INTO gestao.cst(tributo, dt1, codigo, tp_operacao, descricao) VALUES ('SIMPLES','2010-10-01','102','A','Tributada pelo Simples Nacional sem permiss o de cr dito');
INSERT INTO gestao.cst(tributo, dt1, codigo, tp_operacao, descricao) VALUES ('SIMPLES','2010-10-01','103','A','Isen  o do ICMS no Simples Nacional para faixa de receita bruta');
INSERT INTO gestao.cst(tributo, dt1, codigo, tp_operacao, descricao) VALUES ('SIMPLES','2010-10-01','201','A','Tributada pelo Simples Nacional com permiss o de cr dito e com cobran a do ICMS por substitui  o tribut ria');
INSERT INTO gestao.cst(tributo, dt1, codigo, tp_operacao, descricao) VALUES ('SIMPLES','2010-10-01','202','A','Tributada pelo Simples Nacional sem permiss o de cr dito e com cobran a do ICMS por substitui  o tribut ria');
INSERT INTO gestao.cst(tributo, dt1, codigo, tp_operacao, descricao) VALUES ('SIMPLES','2010-10-01','203','A','Isen  o do ICMS no Simples Nacional para a faixa de receita bruta e com cobran a de ICMS por substitui  o tribut ria');
INSERT INTO gestao.cst(tributo, dt1, codigo, tp_operacao, descricao) VALUES ('SIMPLES','2010-10-01','300','A','Imune');
INSERT INTO gestao.cst(tributo, dt1, codigo, tp_operacao, descricao) VALUES ('SIMPLES','2010-10-01','400','A','N o tributada pelo Simples Nacional');
INSERT INTO gestao.cst(tributo, dt1, codigo, tp_operacao, descricao) VALUES ('SIMPLES','2010-10-01','500','A','ICMS cobrado anteriormente por substitui  o tribut ria');
INSERT INTO gestao.cst(tributo, dt1, codigo, tp_operacao, descricao) VALUES ('SIMPLES','2010-10-01','900','A','Outros');
--RUN--

--SEQ 0162-- 17/11/2010 10:35 JCS
---------------------------------------------------------
--  N O EXECUTAR NA ALUMASA POIS J  FOI CRIADO MANUAL  --
---------------------------------------------------------
ALTER TABLE gestao.itemdocto ADD COLUMN vl_ii numeric(15,2);
ALTER TABLE gestao.itemdocto ADD COLUMN id_cap integer;
--RUN--

--SEQ 0163-- 17/11/2010 15:06 JCS
ALTER TABLE gestao.nf DROP COLUMN cod_aleatorio_chave;
--RUN--

--SEQ 0164-- 18/11/2010 09:51 JCS
ALTER TABLE gestao.estmovto DROP CONSTRAINT chk_estmovto_qtdade;
--RUN--

--SEQ 0165-- 18/11/2010 11:51 JCS
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('01','Opera  o Tribut vel com Al quota B sica','2009-12-16','PIS','S');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('02','Opera  o Tribut vel com Al quota Diferenciada','2009-12-16','PIS','S');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('03','Opera  o Tribut vel com Al quota por Unidade de Medida de Produto','2009-12-16','PIS','S');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('04','Opera  o Tribut vel Monof sica - Revenda a Al quota Zero','2009-12-16','PIS','S');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('05','Opera  o Tribut vel por Substitui  o Tribut ria','2009-01-01','PIS','S');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('06','Opera  o Tribut vel a Al quota zero','2009-01-01','PIS','S');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('07','Opera  o Isenta da Contribui  o','2009-01-01','PIS','S');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('08','Opera  o sem Incid ncia da Contribui  o','2009-01-01','PIS','S');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('09','Opera  o com Suspens o da Contribui  o','2009-01-01','PIS','S');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('49','Outras Opera  es de Sa da','2009-12-16','PIS','S');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('50','Opera  o com Direito a Cr dito - Vinculada Exclusivamente a Receita Tributada no Mercado Interno','2009-12-16','PIS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('51','Opera  o com Direito a Cr dito - Vinculada Exclusivamente a Receita N o-Tributada no Mercado Interno','2009-12-16','PIS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('52','Opera  o com Direito a Cr dito - Vinculada Exclusivamente a Receita de Exporta  o','2009-12-16','PIS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('53','Opera  o com Direito a Cr dito - Vinculada a Receitas Tributadas e N o-Tributadas no Mercado Interno','2009-12-16','PIS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('54','Opera  o com Direito a Cr dito - Vinculada a Receitas Tributadas no Mercado Interno e de Exporta  o','2009-12-16','PIS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('55','Opera  o com Direito a Cr dito - Vinculada a Receitas N o Tributadas no Mercado Interno e de Exporta  o','2009-12-16','PIS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('56','Opera  o com Direito a Cr dito - Vinculada a Receitas Tributadas e N o-Tributadas no Mercado Interno e de Exporta  o','2009-12-16','PIS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('60','Cr dito Presumido - Opera  o de Aquisi  o Vinculada Exclusivamente a Receita Tributada no Mercado Interno','2009-12-16','PIS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('61','Cr dito Presumido - Opera  o de Aquisi  o Vinculada Exclusivamente a Receita N o-Tributada no Mercado Interno','2009-12-16','PIS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('62','Cr dito Presumido - Opera  o de Aquisi  o Vinculada Exclusivamente a Receita de Exporta  o','2009-12-16','PIS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('63','Cr dito Presumido - Opera  o de Aquisi  o Vinculada a Receitas Tributadas e N o-Tributadas no Mercado Interno','2009-12-16','PIS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('64','Cr dito Presumido - Opera  o de Aquisi  o Vinculada a Receitas Tributadas no Mercado Interno e de Exporta  o','2009-12-16','PIS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('65','Cr dito Presumido - Opera  o de Aquisi  o Vinculada a Receitas N o-Tributadas no Mercado Interno e de Exporta  o','2009-12-16','PIS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('66','Cr dito Presumido - Opera  o de Aquisi  o Vinculada a Receitas Tributadas e N o-Tributadas no Mercado Interno e de Exporta  o','2009-12-16','PIS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('67','Cr dito Presumido - Outras Opera  es','2009-12-16','PIS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('70','Opera  o de Aquisi  o sem Direito a Cr dito','2009-12-16','PIS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('71','Opera  o de Aquisi  o com Isen  o','2009-12-16','PIS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('72','Opera  o de Aquisi  o com Suspens o','2009-12-16','PIS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('73','Opera  o de Aquisi  o a Al quota Zero','2009-12-16','PIS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('74','Opera  o de Aquisi  o sem Incid ncia da Contribui  o','2009-12-16','PIS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('75','Opera  o de Aquisi  o por Substitui  o Tribut ria','2009-12-16','PIS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('98','Outras Opera  es de Entrada','2009-12-16','PIS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('99','Outras Opera  es','2009-01-01','PIS','A');
--RUN--

--SEQ 0166-- 18/11/2010 11:51 JCS
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('01','Opera  o Tribut vel com Al quota B sica','2009-12-16','COFINS','S');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('02','Opera  o Tribut vel com Al quota Diferenciada','2009-12-16','COFINS','S');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('03','Opera  o Tribut vel com Al quota por Unidade de Medida de Produto','2009-12-16','COFINS','S');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('04','Opera  o Tribut vel Monof sica - Revenda a Al quota Zero','2009-12-16','COFINS','S');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('05','Opera  o Tribut vel por Substitui  o Tribut ria','2009-01-01','COFINS','S');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('06','Opera  o Tribut vel a Al quota zero','2009-01-01','COFINS','S');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('07','Opera  o Isenta da Contribui  o','2009-01-01','COFINS','S');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('08','Opera  o sem Incid ncia da Contribui  o','2009-01-01','COFINS','S');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('09','Opera  o com Suspens o da Contribui  o','2009-01-01','COFINS','S');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('49','Outras Opera  es de Sa da','2009-12-16','COFINS','S');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('50','Opera  o com Direito a Cr dito - Vinculada Exclusivamente a Receita Tributada no Mercado Interno','2009-12-16','COFINS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('51','Opera  o com Direito a Cr dito - Vinculada Exclusivamente a Receita N o-Tributada no Mercado Interno','2009-12-16','COFINS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('52','Opera  o com Direito a Cr dito - Vinculada Exclusivamente a Receita de Exporta  o','2009-12-16','COFINS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('53','Opera  o com Direito a Cr dito - Vinculada a Receitas Tributadas e N o-Tributadas no Mercado Interno','2009-12-16','COFINS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('54','Opera  o com Direito a Cr dito - Vinculada a Receitas Tributadas no Mercado Interno e de Exporta  o','2009-12-16','COFINS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('55','Opera  o com Direito a Cr dito - Vinculada a Receitas N o Tributadas no Mercado Interno e de Exporta  o','2009-12-16','COFINS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('56','Opera  o com Direito a Cr dito - Vinculada a Receitas Tributadas e N o-Tributadas no Mercado Interno e de Exporta  o','2009-12-16','COFINS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('60','Cr dito Presumido - Opera  o de Aquisi  o Vinculada Exclusivamente a Receita Tributada no Mercado Interno','2009-12-16','COFINS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('61','Cr dito Presumido - Opera  o de Aquisi  o Vinculada Exclusivamente a Receita N o-Tributada no Mercado Interno','2009-12-16','COFINS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('62','Cr dito Presumido - Opera  o de Aquisi  o Vinculada Exclusivamente a Receita de Exporta  o','2009-12-16','COFINS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('63','Cr dito Presumido - Opera  o de Aquisi  o Vinculada a Receitas Tributadas e N o-Tributadas no Mercado Interno','2009-12-16','COFINS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('64','Cr dito Presumido - Opera  o de Aquisi  o Vinculada a Receitas Tributadas no Mercado Interno e de Exporta  o','2009-12-16','COFINS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('65','Cr dito Presumido - Opera  o de Aquisi  o Vinculada a Receitas N o-Tributadas no Mercado Interno e de Exporta  o','2009-12-16','COFINS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('66','Cr dito Presumido - Opera  o de Aquisi  o Vinculada a Receitas Tributadas e N o-Tributadas no Mercado Interno e de Exporta  o','2009-12-16','COFINS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('67','Cr dito Presumido - Outras Opera  es','2009-12-16','COFINS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('70','Opera  o de Aquisi  o sem Direito a Cr dito','2009-12-16','COFINS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('71','Opera  o de Aquisi  o com Isen  o','2009-12-16','COFINS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('72','Opera  o de Aquisi  o com Suspens o','2009-12-16','COFINS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('73','Opera  o de Aquisi  o a Al quota Zero','2009-12-16','COFINS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('74','Opera  o de Aquisi  o sem Incid ncia da Contribui  o','2009-12-16','COFINS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('75','Opera  o de Aquisi  o por Substitui  o Tribut ria','2009-12-16','COFINS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('98','Outras Opera  es de Entrada','2009-12-16','COFINS','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('99','Outras Opera  es','2009-01-01','COFINS','A');
--RUN--

--SEQ 0167-- 18/11/2010 14:03 JCS
ALTER TABLE gestao.st DROP CONSTRAINT chk_st_cstcofins;
ALTER TABLE gestao.st DROP CONSTRAINT chk_st_cstpis;

ALTER TABLE gestao.nfdet DROP CONSTRAINT chk_nfdet_cstcofins;
ALTER TABLE gestao.nfdet DROP CONSTRAINT chk_nfdet_cstpis;
--RUN--

--SEQ 0168-- 18/11/2010 18:32 Alan
ALTER TABLE gestao.ctc ALTER COLUMN numero SET NOT NULL;
ALTER TABLE gestao.ctc ALTER COLUMN serie  SET NOT NULL;
ALTER TABLE gestao.ctc ALTER COLUMN modelo SET NOT NULL;
ALTER TABLE gestao.ctc ALTER COLUMN cfop SET NOT NULL;
ALTER TABLE gestao.ctc ALTER COLUMN data_emi SET NOT NULL;
ALTER TABLE gestao.ctc ALTER COLUMN id_remetente SET NOT NULL;
ALTER TABLE gestao.ctc ALTER COLUMN qtdade SET NOT NULL;
ALTER TABLE gestao.ctc ALTER COLUMN marca SET NOT NULL;
ALTER TABLE gestao.ctc ALTER COLUMN frete SET NOT NULL;
ALTER TABLE gestao.ctc ALTER COLUMN calc_ate SET NOT NULL;
ALTER TABLE gestao.ctc ALTER COLUMN nf SET NOT NULL;
ALTER TABLE gestao.ctc ALTER COLUMN nat_carga SET NOT NULL;
ALTER TABLE gestao.ctc ALTER COLUMN valor_nf SET NOT NULL;
ALTER TABLE gestao.ctc ALTER COLUMN peso SET NOT NULL;
ALTER TABLE gestao.ctc ALTER COLUMN especie SET NOT NULL;
ALTER TABLE gestao.ctc ALTER COLUMN qtdade SET NOT NULL;
ALTER TABLE gestao.ctc ALTER COLUMN marca SET NOT NULL;
ALTER TABLE gestao.ctc ALTER COLUMN vol_m3 SET NOT NULL;
ALTER TABLE gestao.ctc ALTER COLUMN serie_nf SET NOT NULL;
ALTER TABLE gestao.ctc ALTER COLUMN modelo_nf SET NOT NULL;
ALTER TABLE gestao.ctc ALTER COLUMN peso SET NOT NULL;
ALTER TABLE gestao.ctc ALTER COLUMN especie SET NOT NULL;
ALTER TABLE gestao.ctc ALTER COLUMN qtdade SET NOT NULL;
ALTER TABLE gestao.ctc ALTER COLUMN marca SET NOT NULL;
ALTER TABLE gestao.ctc ALTER COLUMN vol_m3 SET NOT NULL;
ALTER TABLE gestao.ctc ALTER COLUMN serie_nf SET NOT NULL;
ALTER TABLE gestao.ctc ALTER COLUMN modelo_nf SET NOT NULL;
ALTER TABLE gestao.ctc ALTER COLUMN obs SET NOT NULL;
ALTER TABLE gestao.ctc DROP CONSTRAINT key_ctc_numero;
ALTER TABLE gestao.ctc ADD CONSTRAINT key_ctc_numero UNIQUE(numero,serie,id_empresa);
--RUN--

--SEQ 0169-- 22/11/2010 09:50 JCS
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('00','Tributada integralmente','2009-01-01','ICMS','A');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('10','Tributada e com cobran a do ICMS por substitui  o tribut ria','2009-01-01','ICMS','A');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('20','Com redu  o de base de c lculo','2009-01-01','ICMS','A');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('30','Isenta ou n o tributada e com cobran a do ICMS por substitui  o tribut ria','2009-01-01','ICMS','A');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('40','Isenta','2009-01-01','ICMS','A');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('41','N o tributada','2009-01-01','ICMS','A');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('50','Suspens o','2009-01-01','ICMS','A');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('51','Diferimento','2009-01-01','ICMS','A');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('60','ICMS cobrado anteriormente por substitui  o tribut ria','2009-01-01','ICMS','A');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('70','Com redu  o de base de c lculo e cobran a do ICMS por substitui  o tribut ria','2009-01-01','ICMS','A');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('90','Outras','2009-01-01','ICMS','A');

ALTER TABLE gestao.nfdet DROP CONSTRAINT chk_nfdet_csticms;
--RUN--

--SEQ 0170-- 09/12/2010 15:40 ALAN
ALTER TABLE gestao.ctc ADD COLUMN data_ctr date;
ALTER TABLE gestao.ctc ADD COLUMN n_dia_ctr integer;
--RUN--

--SEQ 0171-- 16/12/2010 13:00 JCS
ALTER TABLE gestao.produto  ADD COLUMN id_prodvinc integer;
--RUN--

--SEQ 0172-- 16/12/2010 16:18 JCS
CREATE TABLE gestao.spedc197 (
  id_spedc197 SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  id_obsfiscal INT NULL ,
  origem CHAR(20) NULL ,
  cod_aj CHAR(10) NOT NULL ,
  descricao CHAR(100) NOT NULL ,
  cod_produto CHAR(14) NULL ,
  bc_icms DECIMAL(12,2) NOT NULL ,
  aliq_icms DECIMAL(7,2) NOT NULL ,
  vl_icms DECIMAL(15,2) NOT NULL ,
  vl_outros DECIMAL(15,2) NOT NULL ,
  aliq_icms_original DECIMAL(7,2) NOT NULL 
);

ALTER TABLE gestao.spedc197 ADD CONSTRAINT pk_spedc197 PRIMARY KEY (id_spedc197);
ALTER TABLE gestao.spedc197 ADD CONSTRAINT key_spedc197_origem UNIQUE (origem);
ALTER TABLE gestao.spedc197 ADD CONSTRAINT fk_spedc197_obsfiscal FOREIGN KEY (id_obsfiscal) REFERENCES gestao.obsfiscal (id_obsfiscal);
CREATE INDEX fki_spedc197_obsfiscal ON gestao.spedc197 (id_obsfiscal);
--RUN--

--SEQ 0173-- 22/12/2010 16:22 JCS
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('00','Entrada com recupera  o de cr dito','2009-01-01','IPI','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('01','Entrada tributada com al quota zero','2009-01-01','IPI','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('02','Entrada isenta','2009-01-01','IPI','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('03','Entrada n o-tributada','2009-01-01','IPI','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('04','Entrada imune','2009-01-01','IPI','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('05','Entrada com suspens o','2009-01-01','IPI','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('49','Outras entradas','2009-01-01','IPI','E');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('50','Sa da tributada','2009-01-01','IPI','S');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('51','Sa da tributada com al quota zero','2009-01-01','IPI','S');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('52','Sa da isenta','2009-01-01','IPI','S');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('53','Sa da n o-tributada','2009-01-01','IPI','S');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('54','Sa da imune','2009-01-01','IPI','S');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('55','Sa da com suspens o','2009-01-01','IPI','S');
INSERT INTO gestao.cst(codigo, descricao, dt1, tributo, tp_operacao) VALUES ('99','Outras sa das','2009-01-01','IPI','S');
--RUN--

--SEQ 0174-- 28/12/2010 14:50 JCS
ALTER TABLE gestao.estruturaop ALTER descricao TYPE character(200);
--RUN--

--SEQ 0175-- 28/12/2010 18:08 JCS
ALTER TABLE gestao.fatconversao DROP CONSTRAINT fk_fatconversao_empresa;
ALTER TABLE gestao.fatconversao ADD CONSTRAINT fk_fatconversao_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa);
--RUN--

--SEQ 0176-- 28/12/2010 18:46 JCS
ALTER TABLE gestao.estrutura  ALTER und_medida TYPE character(6);
ALTER TABLE gestao.estruturad ALTER und TYPE character(6);
--RUN--

--SEQ 0177-- 30/12/2010 14:03 JCS
ALTER TABLE gestao.pais ADD COLUMN cod_pais_siscomex integer;
ALTER TABLE gestao.pais ADD CONSTRAINT key_pais_cod_pais_siscomex UNIQUE (cod_pais_siscomex);
--RUN--

--SEQ 0178-- 16/01/2011 19:35 JCS
ALTER TABLE gestao.osdet ADD COLUMN tx_desconto numeric(6, 2);
ALTER TABLE gestao.osdet ADD COLUMN vl_desconto numeric(12, 2);
--RUN--

--SEQ 0179-- 17/01/2011 15:30 JCS
CREATE TABLE gestao.sped1100 (
  id_sped1100 SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  ind_doc SMALLINT NOT NULL ,
  nro_de DECIMAL(11,0) NOT NULL ,
  dt_de DATE NOT NULL ,
  nat_exp SMALLINT NOT NULL ,
  nro_re DECIMAL(12,0) NOT NULL ,
  dt_re DATE NULL ,
  chc_emb CHAR(18) NOT NULL ,
  dt_chc DATE NULL ,
  dt_avb DATE NOT NULL ,
  tp_chc SMALLINT NOT NULL ,
  cod_pais INT NOT NULL
);

ALTER TABLE gestao.sped1100 ADD CONSTRAINT pk_sped1100 PRIMARY KEY (id_sped1100);
ALTER TABLE gestao.sped1100 ADD CONSTRAINT fk_sped1100_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa);
ALTER TABLE gestao.sped1100 ADD CONSTRAINT fk_sped1100_pais FOREIGN KEY (cod_pais) REFERENCES gestao.pais (cod_pais_siscomex);
ALTER TABLE gestao.sped1100 ADD CONSTRAINT key_sped1100_nro_de UNIQUE (id_empresa, nro_de);

CREATE TABLE gestao.sped1105 (
  id_sped1105 SERIAL NOT NULL ,
  id_sped1100 INT NOT NULL ,
  id_empresa INT NOT NULL ,
  cod_mod CHAR(2) NOT NULL ,
  serie CHAR(3) NOT NULL ,
  num_doc INT NOT NULL ,
  chv_nfe CHAR(44) NOT NULL ,
  dt_doc DATE NOT NULL ,
  cod_item CHAR(14) NOT NULL
);

ALTER TABLE gestao.sped1105 ADD CONSTRAINT pk_sped1105 PRIMARY KEY (id_sped1105);
ALTER TABLE gestao.sped1105 ADD CONSTRAINT fk_sped1105_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa);
ALTER TABLE gestao.sped1105 ADD CONSTRAINT fk_sped1105_sped1105 FOREIGN KEY (id_sped1100) REFERENCES gestao.sped1100 (id_sped1100);
ALTER TABLE gestao.sped1105 ADD CONSTRAINT fk_sped1105_modcodfiscal FOREIGN KEY (cod_mod) REFERENCES gestao.moddocfiscal (codigo);
ALTER TABLE gestao.sped1105 ADD CONSTRAINT fk_sped1105_produto FOREIGN KEY (id_empresa,cod_item) REFERENCES gestao.produto (id_empresa,codigo);
ALTER TABLE gestao.sped1105 ADD CONSTRAINT key_sped1105_num_doc UNIQUE (id_sped1100,cod_mod,serie,num_doc,cod_item);
--RUN--


--SEQ 0180-- 21/01/2011 15:18 JCS
ALTER TABLE gestao.nf DROP CONSTRAINT chk_nf_modfrete;
ALTER TABLE gestao.nf ADD CONSTRAINT chk_nf_modfrete CHECK (mod_frete IN (0,1,2,9));

ALTER TABLE gestao.sticms ALTER perc_red_bc_icms TYPE numeric(10,4);
ALTER TABLE gestao.sticms ALTER perc_bc_icms TYPE numeric(10,4);

ALTER TABLE gestao.sticms ADD COLUMN rec_icms_ant smallint;
ALTER TABLE gestao.sticms ADD COLUMN perc_credito_presumido numeric(10,4);
--RUN--

--SEQ 0181-- 01/02/2011 16:21 RH
ALTER TABLE gestao.nfxml ALTER COLUMN tipo TYPE character(2);
ALTER TABLE gestao.nfxml DROP CONSTRAINT chk_nfxml_tipo;
ALTER TABLE gestao.nfxml ADD  CONSTRAINT chk_nfxml_tipo CHECK (tipo IN ('A','SC','C','I','D','E'));
--RUN--

--SEQ 0182-- 06/02/2011 22:30 JCS
ALTER TABLE gestao.empresa ADD COLUMN tp_imp_danfe smallint NOT NULL DEFAULT 1;
--RUN--

--SEQ 0183-- 08/02/2011 08:45 ALAN
CREATE TABLE gestao.sc (
  id_sc serial NOT NULL,
  id_empresa integer NOT NULL,
  numero integer NOT NULL,
  data DATE NOT NULL,
  id_solicitante integer NULL,
  situacao SMALLINT NOT NULL,
  CONSTRAINT pk_sc PRIMARY KEY (id_sc),
  CONSTRAINT key_sc_numero_empresa UNIQUE (numero,id_empresa)
);

CREATE TABLE gestao.scd (
  id_scd serial NOT NULL,
  id_sc integer NOT NULL ,
  item integer NOT NULL ,
  id_produto integer NULL ,
  descricao CHAR(40) NOT NULL ,
  referencia CHAR(15) NULL ,
  qtd DECIMAL(12,3) NOT NULL ,
  und CHAR(3) NOT NULL ,
  dt_necessidade DATE NOT NULL ,
  observacao CHAR(65) NULL ,
  situacao SMALLINT NULL ,
  num_oc integer NULL,
  CONSTRAINT pk_scd PRIMARY KEY (id_scd),
  CONSTRAINT key_scd_id_produto UNIQUE (id_produto,id_sc),
  CONSTRAINT fk_scd_sc FOREIGN KEY (id_sc) REFERENCES gestao.sc (id_sc)
);
--RUN--

--SEQ 0184-- 09/02/2011 16:00 ALAN

CREATE TABLE gestao.carga (
  id_carga serial NOT NULL,
  id_empresa integer NOT NULL,
  data date NOT NULL,
  desti char(40) NULL,
  id_transportador integer NULL,
  cstfrete decimal(12,2) NULL,
  prsaida date NULL,
  data_est_ent date NULL,
  perm_alterar_data smallint NULL,
  data_saida date NULL,
  motorista char(40) NULL,
  fone_motorista char(20) NULL,
  id_fornecedor integer NULL,
  vl_frete DECIMAL(12,2) NULL,
  placa_veiculo CHAR(10) NULL,
  obs VARCHAR(1024) NULL,
  id_regiao  integer NULL,
  situacao char(1) NOT NULL,
  id_veiculo integer NULL,
  tipo_calculo CHAR(1) NULL,
  qtd_calculo  DECIMAL(9,2) NULL,
  valor_calculo DECIMAL(9,2) NULL,
  total_calculo DECIMAL(9,2) NULL,
  CONSTRAINT pk_carga PRIMARY KEY (id_carga),
  CONSTRAINT fk_carga_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa(id_empresa),
  CONSTRAINT chk_carga_situacao CHECK (situacao = 'P' OR situacao = 'L' OR situacao = 'C')
);

CREATE INDEX key_carga_data ON gestao.carga(data);
CREATE INDEX key_carga_data_saida ON gestao.carga(data_saida);
CREATE INDEX key_carga_prsaida ON gestao.carga(prsaida);
CREATE INDEX key_carga_transp ON gestao.carga(id_transportador);

--RUN--

--SEQ 0185-- 10/02/2011 10:30 ALAN
ALTER TABLE gestao.carga DROP CONSTRAINT chk_carga_situacao;
UPDATE gestao.carga SET situacao='D' where situacao='C';
ALTER TABLE gestao.carga ADD CONSTRAINT chk_carga_situacao CHECK (situacao = 'P' OR situacao = 'L' OR situacao = 'D')
--RUN--

--SEQ 0186-- 17/02/2011 22:00 JCS
ALTER TABLE gestao.spedc197 ADD CONSTRAINT fk_spedc197_produto FOREIGN KEY (id_empresa, cod_produto) REFERENCES gestao.produto (id_empresa, codigo);
--RUN--

--SEQ 0187-- 04/03/2011 22:00 JCS
ALTER TABLE gestao.reqd ADD COLUMN poder_terc character(1) NOT NULL DEFAULT 'N';
--RUN--

--SEQ 0188-- 14/03/2011 11:14 JCS
CREATE TABLE gestao.grupo (
  id_grupo SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  codigo INT NOT NULL ,
  nome CHAR(40) NOT NULL ,
  tipo SMALLINT NOT NULL ,
  estmi INT NULL ,
  estma INT NULL ,
  estpe INT NULL ,
  da DATE NOT NULL ,
  ha TIME NOT NULL ,
  nao_imp_pauta SMALLINT NULL ,
  desc_padrao DECIMAL(7,2) NULL ,
  desc_max DECIMAL(7,2) NULL ,
  sobre_preco DECIMAL(6,2) NULL ,
  int_sar SMALLINT NULL ,
  resultado SMALLINT NOT NULL ,
  id_natureza INT NULL ,
  vip SMALLINT NULL ,
  subgrupo_acessorios CHAR(1) NULL ,
  mascara_referencia CHAR(20) NULL ,
  id_vendedor INT NULL ,
  taxa_comissao DECIMAL(5,2) NULL ,
  taxa_contrib DECIMAL(6,2) NULL ,
  gerar_cod_ean SMALLINT NULL ,
  cod_ean1 CHAR(12) NULL ,
  cod_ean2 CHAR(12) NULL ,
  produto_variacao SMALLINT NULL ,
  ordem_pauta INT NULL ,
  id_ctbconta INT NULL ,
  id_ctbconta_desp INT NULL
);

ALTER TABLE gestao.grupo ADD CONSTRAINT pk_grupo PRIMARY KEY(id_grupo);
ALTER TABLE gestao.grupo ADD CONSTRAINT fk_grupo_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa);
ALTER TABLE gestao.grupo ADD CONSTRAINT key_grupo_codigo UNIQUE(id_empresa, codigo);

CREATE TABLE gestao.vendedor (
  id_vendedor SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  codigo INT NOT NULL ,
  ativo SMALLINT NULL ,
  tipo SMALLINT NULL ,
  nome CHAR(40) NOT NULL ,
  ender CHAR(40) NULL ,
  num_endereco CHAR(20) NULL ,
  bairro CHAR(25) NULL ,
  id_municipio INT NULL ,
  cep CHAR(9) NULL ,
  ie CHAR(20) NULL ,
  cnpj_cpf CHAR(18) NULL ,
  contato CHAR(20) NULL ,
  fone CHAR(30) NULL ,
  fax CHAR(15) NULL ,
  celular CHAR(15) NULL ,
  e_mail CHAR(40) NULL ,
  data DATE NOT NULL ,
  id_tipo INT NULL ,
  login CHAR(12) NULL ,
  origem_com SMALLINT NULL ,
  taxa_com DECIMAL(10,2) NULL ,
  taxa_com2 DECIMAL(10,2) NULL ,
  forma_pag CHAR(1) NULL ,
  dt_nascimento DATE NULL ,
  dados_adicionais VARCHAR(999) NULL ,
  exp_sar SMALLINT NULL ,
  id_supervisor INT NULL ,
  taxa_com_super DECIMAL(6,2) NULL ,
  forma_pag_super CHAR(1) NULL ,
  pontos_instalacao_sar SMALLINT NULL ,
  banco CHAR(40) NULL ,
  agencia CHAR(40) NULL ,
  agencia_num CHAR(5) NULL ,
  conta_num CHAR(20) NULL ,
  desconto_max DECIMAL(7,2) NULL ,
  senha CHAR(6) NULL ,
  nome_supervisor CHAR(50) NULL
);

ALTER TABLE gestao.vendedor ADD CONSTRAINT pk_vendedor PRIMARY KEY(id_vendedor);
ALTER TABLE gestao.vendedor ADD CONSTRAINT fk_vendedor_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa);
ALTER TABLE gestao.vendedor ADD CONSTRAINT key_vendedor_codigo UNIQUE(id_empresa, codigo);


CREATE TABLE gestao.socios (
  id_socio SERIAL NOT NULL ,
  id_cliente INT NULL ,
  nome CHAR(40) NULL ,
  cpf CHAR(20) NULL ,
  naciona CHAR(20) NULL ,
  ma_entrada DATE NULL ,
  vl_quotas DECIMAL(15,2) NULL ,
  funcao CHAR(20) NULL
);

ALTER TABLE gestao.socios ADD CONSTRAINT pk_socios PRIMARY KEY(id_socio);
CREATE INDEX key_socios_cliente ON gestao.socios (id_cliente);

CREATE TABLE gestao.formapag (
  id_formapag SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  codigo INT NOT NULL ,
  descr CHAR(30) NOT NULL ,
  desco DECIMAL(7,2) NULL ,
  acresc DECIMAL(7,2) NULL ,
  numparc SMALLINT NULL ,
  frete SMALLINT NULL ,
  ipi SMALLINT NULL ,
  arred DECIMAL(7,2) NOT NULL ,
  cobr_ban SMALLINT NULL ,
  integrar_sar SMALLINT NULL ,
  lancar_fila_cf SMALLINT NULL ,
  ativa SMALLINT NULL ,
  id_carteira INT NULL ,
  id_portador INT NULL ,
  forma_pagto_normal SMALLINT NULL ,
  tipo_correntista INT NULL ,
  pagto_avista SMALLINT NULL ,
  icms_ant SMALLINT NULL ,
  dias_icms_ant SMALLINT NULL ,
  prazo_medio DECIMAL(6,2) NULL
);

ALTER TABLE gestao.formapag ADD CONSTRAINT pk_formapag PRIMARY KEY(id_formapag);
ALTER TABLE gestao.formapag ADD CONSTRAINT fk_formapag_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa);
ALTER TABLE gestao.formapag ADD CONSTRAINT key_formapag_codigo UNIQUE(id_empresa, codigo);

CREATE TABLE gestao.prazopag (
  id_prazopag SERIAL NOT NULL ,
  id_formapag INT NOT NULL ,
  numparc SMALLINT NOT NULL ,
  prazo INT NOT NULL ,
  porpag DECIMAL(8,2) NOT NULL
);

ALTER TABLE gestao.prazopag ADD CONSTRAINT pk_prazopag PRIMARY KEY(id_prazopag);
ALTER TABLE gestao.prazopag ADD CONSTRAINT fk_prazopag_formapag FOREIGN KEY (id_formapag) REFERENCES gestao.formapag (id_formapag);
ALTER TABLE gestao.prazopag ADD CONSTRAINT key_prazopag_numparc UNIQUE(id_formapag,numparc);

CREATE TABLE gestao.pauta (
  id_pauta SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  codigo INT NOT NULL ,
  num_pauta CHAR(20) NULL ,
  dt_cadast DATE NULL ,
  descricao CHAR(50) NULL ,
  obs CHAR(60) NULL ,
  ativo SMALLINT NULL ,
  perc_acresc1 DECIMAL(10,2) NULL ,
  perc_acresc2 DECIMAL(10,2) NULL ,
  perc_acresc3 DECIMAL(10,2) NULL ,
  perc_acresc4 DECIMAL(10,2) NULL ,
  perc_comiss1 DECIMAL(10,2) NULL ,
  perc_comiss2 DECIMAL(10,2) NULL ,
  perc_comiss3 DECIMAL(10,2) NULL ,
  perc_comiss4 DECIMAL(10,2) NULL ,
  bloquear_preco SMALLINT NULL ,
  dt_ini DATE NULL ,
  dt_fim DATE NULL ,
  taxa_perda_perfil DECIMAL(5,2) NULL ,
  taxa_comissao DECIMAL(5,2) NULL ,
  taxa_margem DECIMAL(7,4) NULL ,
  taxa_icms DECIMAL(7,4) NULL ,
  taxa_frete DECIMAL(7,4) NULL ,
  prazo_medio INT NULL
);

ALTER TABLE gestao.pauta ADD CONSTRAINT pk_pauta PRIMARY KEY(id_pauta);
ALTER TABLE gestao.pauta ADD CONSTRAINT fk_pauta_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa);
ALTER TABLE gestao.pauta ADD CONSTRAINT key_pauta_codigo UNIQUE(id_empresa, codigo);

CREATE TABLE gestao.pauxpro (
  id_pauxpro SERIAL NOT NULL ,
  id_pauta INT NOT NULL ,
  id_prod INT NULL ,
  preco1 DECIMAL(12,4) NULL ,
  preco2 DECIMAL(12,4) NULL ,
  preco3 DECIMAL(12,4) NULL ,
  cst_rep DECIMAL(13,4) NULL ,
  margem1 DECIMAL(10,4) NULL ,
  margem2 DECIMAL(10,4) NULL ,
  id_acabamento INT NOT NULL ,
  id_vidro INT NOT NULL ,
  largura DECIMAL(8,2) NOT NULL ,
  altura DECIMAL(8,2) NOT NULL ,
  id_varprod INT NULL ,
  valor1 DECIMAL(12,2) NULL ,
  valor_pauta_icms_st DECIMAL(12,2) NOT NULL
);

ALTER TABLE gestao.pauxpro ADD CONSTRAINT pk_pauxpro PRIMARY KEY(id_pauxpro);
ALTER TABLE gestao.pauxpro ADD CONSTRAINT fk_pauxpro_pauta FOREIGN KEY (id_pauta) REFERENCES gestao.pauta (id_pauta);
ALTER TABLE gestao.pauxpro ADD CONSTRAINT key_pauta_produto UNIQUE(id_pauta, id_prod);
--RUN--

--SEQ 0189-- 23/03/2011 15:45 JCS
ALTER TABLE gestao.pauxpro ADD COLUMN taxa_margem1 numeric(9,5) DEFAULT 0;
ALTER TABLE gestao.pauxpro ADD COLUMN taxa_margem2 numeric(9,5) DEFAULT 0;
ALTER TABLE gestao.pauxpro ADD COLUMN taxa_margem3 numeric(9,5) DEFAULT 0;

ALTER TABLE gestao.pauxpro ADD COLUMN markup_despfixas1 numeric(7,2) DEFAULT 0;
ALTER TABLE gestao.pauxpro ADD COLUMN markup_impostos1 numeric(7,2)  DEFAULT 0;
ALTER TABLE gestao.pauxpro ADD COLUMN markup_comissao1 numeric(7,2)  DEFAULT 0;
ALTER TABLE gestao.pauxpro ADD COLUMN markup_lucro1 numeric(7,2)     DEFAULT 0;
ALTER TABLE gestao.pauxpro ADD COLUMN markup_desconto1 numeric(7,2)  DEFAULT 0;
ALTER TABLE gestao.pauxpro ADD COLUMN markup_financ1 numeric(7,2)    DEFAULT 0;
ALTER TABLE gestao.pauxpro ADD COLUMN markup_frete1 numeric(7,2)     DEFAULT 0;
--RUN--

--SEQ 0190-- 24/03/2011 17:30 ALAN
ALTER TABLE gestao.nf RENAME id_condpagto TO cod_condpagto;
ALTER TABLE gestao.os RENAME forma_pag TO cod_formapag;
ALTER TABLE gestao.grupo RENAME id_vendedor TO cod_vendedor;
ALTER TABLE gestao.contrato RENAME id_vendedor TO cod_vendedor;
--RUN--

--SEQ 0191-- 28/03/2011 17:00 ALAN
ALTER TABLE gestao.produto ADD COLUMN cod_marca int;
ALTER TABLE gestao.produto ADD COLUMN descr_det character(150);
--RUN--

--SEQ 0192-- 30/03/2011 13:00 ALAN
ALTER TABLE gestao.produto ADD COLUMN data_reajuste date;
ALTER TABLE gestao.produto ADD COLUMN lista_pauta smallint;
ALTER TABLE gestao.produto ADD COLUMN preco_promocional smallint;
--RUN--

--SEQ 0193-- 06/04/2011 08:30 RH
ALTER TABLE gestao.pauxpro ADD COLUMN preco_pratic_sug smallint;
--RUN--

--SEQ 0194-- 06/04/2011 08:30 RH
ALTER TABLE gestao.modecf ADD COLUMN naoemitir_lmf_aut smallint;
ALTER TABLE gestao.modecf ALTER COLUMN naoemitir_lmf_aut SET DEFAULT 0;
UPDATE gestao.modecf set naoemitir_lmf_aut=0;
ALTER TABLE gestao.modecf ALTER COLUMN naoemitir_lmf_aut SET NOT NULL;
UPDATE gestao.modecf set naoemitir_lmf_aut=1 where cod_marca=3 and cod_modelo=5  and cod_versao=1;
UPDATE gestao.modecf set naoemitir_lmf_aut=1 where cod_marca=3 and cod_modelo=5  and cod_versao=6;
UPDATE gestao.modecf set naoemitir_lmf_aut=1 where cod_marca=3 and cod_modelo=5  and cod_versao=7;
UPDATE gestao.modecf set naoemitir_lmf_aut=1 where cod_marca=3 and cod_modelo=5  and cod_versao=8;
UPDATE gestao.modecf set naoemitir_lmf_aut=1 where cod_marca=3 and cod_modelo=6  and cod_versao=3;
UPDATE gestao.modecf set naoemitir_lmf_aut=1 where cod_marca=3 and cod_modelo=13 and cod_versao=1;
UPDATE gestao.modecf set naoemitir_lmf_aut=1 where cod_marca=3 and cod_modelo=13 and cod_versao=2;
UPDATE gestao.modecf set naoemitir_lmf_aut=1 where cod_marca=3 and cod_modelo=13 and cod_versao=4;
UPDATE gestao.modecf set naoemitir_lmf_aut=1 where cod_marca=3 and cod_modelo=14 and cod_versao=1;
UPDATE gestao.modecf set naoemitir_lmf_aut=1 where cod_marca=8 and cod_modelo=5  and cod_versao=5;
UPDATE gestao.modecf set naoemitir_lmf_aut=1 where cod_marca=8 and cod_modelo=5  and cod_versao=1;
UPDATE gestao.modecf set naoemitir_lmf_aut=1 where cod_marca=8 and cod_modelo=5  and cod_versao=3;
UPDATE gestao.modecf set naoemitir_lmf_aut=1 where cod_marca=8 and cod_modelo=5  and cod_versao=4;
--RUN--

--SEQ 0195--
ALTER TABLE gestao.avelote ADD COLUMN inf_vl_und_ave smallint;
--RUN--

--SEQ 0196-- 26/04/2011 20:32 JCS
ALTER TABLE gestao.tesxcfop ALTER cst_icms TYPE char(4);
UPDATE gestao.tesxcfop SET cst_icms='00' WHERE cst_icms='0';
--RUN--

--SEQ 0197-- 27/04/2011 10:00 JCS
ALTER TABLE gestao.sticms DROP CONSTRAINT chk_sticms_csticms;
ALTER TABLE gestao.sticms ALTER cst_icms TYPE char(2);
UPDATE gestao.sticms SET cst_icms='00' WHERE cst_icms='0';
ALTER TABLE gestao.sticms ADD CONSTRAINT chk_sticms_csticms CHECK (cst_icms IN ('00','10','20','30','40','41','50','51','60','70','90','NA'));  
--RUN--

--SEQ 0198-- 03/05/2011 11:16 JCS
CREATE TABLE gestao.sarcfg
(
   id_sarcfg serial, 
   id_empresa integer NOT NULL, 
   id_tes_dentro integer, 
   id_tes_dentro_cf integer, 
   id_tes_dentro_rv integer, 
   id_tes_dentro_cf_rv integer, 
   id_tes_fora integer,
   id_tes_fora_cf integer, 
   id_tes_fora_rv integer, 
   id_tes_fora_cf_rv integer,
   CONSTRAINT pk_sarcfg PRIMARY KEY (id_sarcfg),
   CONSTRAINT fk_sarcfg_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa) ON UPDATE NO ACTION ON DELETE NO ACTION, 
   CONSTRAINT key_sarcfg_empresa UNIQUE (id_empresa)
); 
--RUN--

--SEQ 0199-- 05/05/2011 22:03 JCS
ALTER TABLE gestao.produto ADD COLUMN vl_preco2 numeric(12,3);
ALTER TABLE gestao.produto ADD COLUMN vl_preco3 numeric(12,3);
ALTER TABLE gestao.produto ADD COLUMN peso_liquido numeric(12,3);
ALTER TABLE gestao.produto ADD COLUMN peso_bruto  numeric(12,3);
ALTER TABLE gestao.produto ADD COLUMN qtd_volume numeric(12,3);
ALTER TABLE gestao.produto ADD COLUMN cod_estlocal integer;
--RUN--

--SEQ 0200-- 06/05/2011 14:40 JCS
ALTER TABLE gestao.produto ADD COLUMN dt_atual date NOT NULL DEFAULT now();
--RUN--

--SEQ 0201-- 06/05/2011 17:30 JCS
ALTER TABLE gestao.formapag ADD COLUMN dt_atual date NOT NULL DEFAULT now();
--RUN--

--SEQ 0202-- 09/05/2011 06:15 POR JCS
ALTER TABLE gestao.sarcfg ADD COLUMN numped_gestao integer;
--RUN--

--SEQ 0203-- 09/05/2011 07:41 POR JCS
ALTER TABLE gestao.produto ADD COLUMN taxa_comissao numeric(7,2);
--RUN--

--SEQ 0204-- 09/05/2011 11:30 JCS
ALTER TABLE gestao.sticms ADD COLUMN dt_atual date NOT NULL DEFAULT now();
--RUN--

--SEQ 0205-- 09/05/2011 15:41 JCS
ALTER TABLE gestao.sarcfg ADD COLUMN preco_com_ipi smallint;
--RUN--

--SEQ 0206-- 09/05/2011 17:42 JCS
ALTER TABLE gestao.produto ADD COLUMN id_erp integer;
COMMENT ON COLUMN gestao.produto.id_erp IS 'Id do Produto no ERP (Gerente/SIG/Outro)';
ALTER TABLE gestao.produto ADD CONSTRAINT key_produto_id_erp UNIQUE(id_empresa, id_erp);
--RUN--

--SEQ 0207-- 10/05/2011 12:13 JCS
ALTER TABLE gestao.vendedor RENAME id_supervisor  TO cod_supervisor;
--RUN--

--SEQ 0208-- 12/05/2011 14:34 JCS
ALTER TABLE gestao.estruturad ADD COLUMN taxa_perda numeric(7, 2);
--RUN--

--SEQ 0209-- 23/05/2011 16:55 JCS
ALTER TABLE gestao.sarcfg ADD COLUMN dias_bloqueio integer NOT NULL DEFAULT 0;
--RUN--

--SEQ 0210-- 26/05/2011 09:00 JCS
CREATE TABLE gestao.cfop (
  id_cfop INT NOT NULL ,
  codigo INT NOT NULL ,
  tipo SMALLINT NOT NULL ,
  descr CHAR(180) NOT NULL ,
  descr_resumida CHAR(40) NOT NULL ,
  obs VARCHAR(999) NOT NULL ,
  item SMALLINT NULL ,
  ggrupo SMALLINT NULL ,
  grupo SMALLINT NULL ,
  aliqir DECIMAL(4,2) NULL ,
  somafatur SMALLINT NULL ,
  aliqicms DECIMAL(5,2) NULL ,
  vlcontabil SMALLINT NULL ,
  ativperm SMALLINT NULL ,
  st_old SMALLINT NULL ,
  st_pet_ene SMALLINT NULL ,
  listar_dipj_ipi SMALLINT NULL
);

ALTER TABLE gestao.cfop ADD CONSTRAINT pk_cfop PRIMARY KEY(id_cfop);
--RUN--

--SEQ 0211-- 02/06/2011 10:30 JCS
CREATE TABLE gestao.metavenda (
  id_metavenda SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  mes_ano DATE NOT NULL ,
  cod_vendedor INT NOT NULL ,
  qtdade DECIMAL(15,3) NOT NULL ,
  valor DECIMAL(15,2) NOT NULL ,
  tipo CHAR(2) NOT NULL ,
  cod_grupo INT NULL ,
  cod_subgrupo INT NULL ,
  cod_produto CHAR(14) NULL
);

ALTER TABLE gestao.metavenda ADD CONSTRAINT pk_metavenda PRIMARY KEY(id_metavenda);
ALTER TABLE gestao.metavenda ADD CONSTRAINT key_metavenda_cod_vendedor UNIQUE(id_empresa, mes_ano,cod_vendedor,tipo);
--RUN--

--SEQ 0212-- 14/06/2011 10:47 RH
ALTER TABLE gestao.fatconversao ADD COLUMN cod_barra character(14);
ALTER TABLE gestao.fatconversao ADD CONSTRAINT key_cod_barra UNIQUE(id_produto, cod_barra);
--RUN--
			  			  
--SEQ 0213-- 22/06/2011 08:00 ALAN
CREATE TABLE gestao.msg (
  id_msg SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  usuario CHAR(12) NOT NULL ,
  data  DATE NOT NULL ,
  hora  TIME NOT NULL ,
  id_empresa_dest INT NULL ,
  usuario_dest CHAR(12),
  dt1 DATE NOT NULL ,
  dt2 DATE NULL ,
  assunto CHAR(50) NOT NULL,
  descricao VARCHAR(500) NOT NULL,
  CONSTRAINT pk_msg PRIMARY KEY (id_msg),
  CONSTRAINT fk_msg_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa(id_empresa) 
);
--RUN--

--SEQ 0214-- 04/07/2011 09:00 JCS
ALTER TABLE gestao.detnatureza ADD COLUMN id_lote integer;
ALTER TABLE gestao.avelote ADD COLUMN custo_recria numeric(12,2);
ALTER TABLE gestao.avelote ADD COLUMN sem_rateio integer;
--RUN--

--SEQ 0215-- 07/07/2011 09:00 ALAN
ALTER TABLE gestao.produto ADD COLUMN carac1 varchar(30);
ALTER TABLE gestao.produto ADD COLUMN carac2 varchar(30);
ALTER TABLE gestao.produto ADD COLUMN carac3 varchar(30);
ALTER TABLE gestao.produto ADD COLUMN carac4 varchar(30);
ALTER TABLE gestao.produto ADD COLUMN carac5 varchar(30);
ALTER TABLE gestao.produto ADD COLUMN cod_acess1 integer;
ALTER TABLE gestao.produto ADD COLUMN cod_acess2 integer;
ALTER TABLE gestao.produto ADD COLUMN cod_acess3 integer;
--RUN--

--SEQ 0216-- 15/07/2011 18:50 JCS 
ALTER TABLE gestao.cfopxtes ADD COLUMN cst_icms character(4) NOT NULL DEFAULT ' ';
ALTER TABLE gestao.cfopxtes ADD COLUMN aliq_icms numeric(6,2) NOT NULL DEFAULT 0;

DROP INDEX gestao.key_cfopxtes_cfop;

CREATE UNIQUE INDEX key_cfopxtes_cfop ON gestao.cfopxtes (id_empresa, tipo, cfop, nat_op, (COALESCE(cod_fornecedor, 0)), cod_prodforne, cst_icms, aliq_icms);
--RUN--

--SEQ 0217-- 20/07/2011 15:00 JCS 
ALTER TABLE gestao.produto ADD COLUMN classe_abc char(1);
--RUN--

--SEQ 0218-- 20/07/2011 17:00 RH
CREATE TABLE gestao.boleto
(
  id_boleto serial NOT NULL,
  id_empresa integer NOT NULL,
  id_portador integer NOT NULL,
  id_correntista integer NOT NULL,
  id_origem character varying(30) NOT NULL,
  nome_ced character varying(80) NOT NULL,
  cpfcnpj_ced character varying(18) NOT NULL,
  num_banco integer NOT NULL,
  dv_banco character(1) NOT NULL,
  num_agencia integer NOT NULL,
  dv_agencia character(1) NOT NULL,
  num_cc integer NOT NULL,
  dv_cc character(1) NOT NULL,
  carteira integer NOT NULL,
  var_carteira integer,
  num_convenio integer NOT NULL,
  nome_sacaval character varying(80) NOT NULL,
  cpfcnpj_sacaval character varying(18) NOT NULL,
  nome_sac character varying(80) NOT NULL,
  cpfcnpj_sac character varying(18) NOT NULL,
  endereco_sac character varying(80) NOT NULL,
  cep_sac character(9) NOT NULL,
  bairro_sac character varying(60) NOT NULL,
  municipio_sac character varying(60) NOT NULL,
  uf_sac character(2) NOT NULL,
  data_doc date NOT NULL,
  data_proc date NOT NULL,
  data_vencto date NOT NULL,
  numero_doc character(15) NOT NULL,
  especie_doc character(2) NOT NULL,
  aceite character(1) NOT NULL,
  instrucao character varying(1000) NOT NULL,
  valor numeric(12,2) NOT NULL,
  nosso_numero character varying(20) NOT NULL,
  linha_digitavel character(47) NOT NULL,
  codigo_barras character(44) NOT NULL,
  CONSTRAINT pk_boleto PRIMARY KEY (id_boleto),
  CONSTRAINT fk_boleto_empresa FOREIGN KEY (id_empresa)REFERENCES gestao.empresa (id_empresa) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT chk_boleto_valor CHECK (valor > 0::numeric)
);
--RUN--

--SEQ 0219-- 22/07/2011 17:00 JCS
ALTER TABLE gestao.sscc ALTER id_origem TYPE character varying(20);
--RUN--

--SEQ 0220-- 26/07/2011 10:00 ALAN
ALTER TABLE gestao.vendedor ADD com_ven numeric(12,2);
ALTER TABLE gestao.vendedor ADD com_rec numeric(12,2);
ALTER TABLE gestao.vendedor ADD obs varchar(1024);
--RUN--

--SEQ 0221-- 28/07/2011 10:00 ALAN
ALTER TABLE gestao.pauta ADD referencia character(20);
ALTER TABLE gestao.pauxpro DROP CONSTRAINT key_pauta_produto;
ALTER TABLE gestao.pauxpro ADD CONSTRAINT key_pauta_produto UNIQUE(id_pauta, id_prod,id_varprod);
--RUN--

--SEQ 0222-- 01/08/2011 10:30 JCS
ALTER TABLE gestao.vendedor ADD cod_grupo1 integer;
ALTER TABLE gestao.vendedor ADD cod_grupo2 integer;
ALTER TABLE gestao.vendedor ADD cod_grupo3 integer;
ALTER TABLE gestao.vendedor ADD cod_pauta1 integer;
ALTER TABLE gestao.vendedor ADD cod_pauta2 integer;
ALTER TABLE gestao.vendedor ADD cod_pauta3 integer;

ALTER TABLE gestao.sarcfg ADD cod_pauta1 integer;
ALTER TABLE gestao.sarcfg ADD cod_pauta2 integer;
ALTER TABLE gestao.sarcfg ADD cod_pauta3 integer;

ALTER TABLE gestao.pauta ADD COLUMN dt_atual date NOT NULL DEFAULT now();
ALTER TABLE gestao.pauxpro ADD COLUMN dt_atual date NOT NULL DEFAULT now();
--RUN--

--SEQ 0223-- 01/08/2011 16:50 JCS
ALTER TABLE gestao.sarcfg ADD id_emppauta integer;
ALTER TABLE gestao.sarcfg ADD preco_padrao smallint;
--RUN--

--SEQ 0224-- 08/08/2011 10:05 JCS
ALTER TABLE gestao.itemdocto ALTER cst_pis TYPE character(2);
ALTER TABLE gestao.itemdocto ALTER cst_cofins TYPE character(2);
--RUN--

--SEQ 0225-- 09/08/2011 11:30 ALAN
ALTER TABLE gestao.pauxpro DROP CONSTRAINT key_pauta_produto;
ALTER TABLE gestao.pauxpro ADD CONSTRAINT key_pauta_produto UNIQUE(id_pauta, id_prod,largura,altura,id_varprod);
--RUN--

--SEQ 0226-- 09/08/2011 17:05 JCS
ALTER TABLE gestao.cfopxtes ADD COLUMN gera_ctb smallint NOT NULL DEFAULT 1;
ALTER TABLE gestao.cfopxtes ADD COLUMN tp_conta_deb char(3);
ALTER TABLE gestao.cfopxtes ADD COLUMN conta_deb integer;
ALTER TABLE gestao.cfopxtes ADD COLUMN hist_deb  integer;
ALTER TABLE gestao.cfopxtes ADD COLUMN tp_conta_cre char(3);
ALTER TABLE gestao.cfopxtes ADD COLUMN conta_cre integer;
ALTER TABLE gestao.cfopxtes ADD COLUMN hist_cre  integer;

UPDATE gestao.produto SET cod_barra='' WHERE ascii(cod_barra)=10; 
--RUN--

--SEQ 0227-- 15/08/2011 10:00 ALAN
CREATE TABLE gestao.contitem
(
  id_contitem serial NOT NULL,
  id_contrato integer NOT NULL,
  data date NOT NULL,
  id_colaborador integer NOT NULL,
  id_produto integer NOT NULL,
  id_estlocal integer NOT NULL,
  qtd numeric(15,3) NOT NULL,
  obs varchar(200) NOT NULL,
  dt_baixa date,
  id_estlocal_bx integer,
  id_colaborador_bx integer,
  CONSTRAINT pk_contitem PRIMARY KEY (id_contitem),
  CONSTRAINT fk_contitem_contrato       FOREIGN KEY (id_contrato)       REFERENCES gestao.contrato (id_contrato),
  CONSTRAINT fk_contitem_estlocal       FOREIGN KEY (id_estlocal)       REFERENCES gestao.estlocal (id_estlocal),
  CONSTRAINT fk_contitem_estlocal_bx    FOREIGN KEY (id_estlocal_bx)    REFERENCES gestao.estlocal (id_estlocal)
);
--RUN--

--SEQ 0228-- 15/08/2011 15:40 JCS
ALTER TABLE gestao.sarcfg ADD bloq_preco_pedido smallint;
--RUN--

--SEQ 0229-- 17/08/2011 22:00 JCS
ALTER TABLE gestao.estterceiro ADD COLUMN unidade character(6);
--RUN--

--SEQ 0230-- 26/08/2011 16:30 RH
CREATE TABLE gestao.nfevento
(
  id_nfevento serial NOT NULL,
  id_nf integer NOT NULL,
  orgao integer NOT NULL,
  dt_evento date NOT NULL,
  hr_evento time without time zone NOT NULL,
  tipo_evento integer NOT NULL,
  num_seq_evento integer NOT NULL,
  desc_evento character varying(60) NOT NULL,
  desc_correcao character varying(1000) NOT NULL,
  dt_reg_evento date NOT NULL,
  hr_reg_evento time without time zone NOT NULL,
  num_protocolo numeric(15) NOT NULL,
  cod_status integer NOT NULL,
  descricao_status character varying(255),
  CONSTRAINT pk_nfevento PRIMARY KEY (id_nfevento),
  CONSTRAINT fk_nfevento_nf FOREIGN KEY (id_nf)
      REFERENCES gestao.nf (id_nf) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION
);

ALTER TABLE gestao.nfxml DROP CONSTRAINT chk_nfxml_tipo;
ALTER TABLE gestao.nfxml ADD  CONSTRAINT chk_nfxml_tipo CHECK (tipo = ANY (ARRAY['A'::bpchar, 'SC'::bpchar, 'C'::bpchar, 'I'::bpchar, 'D'::bpchar, 'E'::bpchar, 'CC'::bpchar]));
ALTER TABLE gestao.nfxml ADD COLUMN id_nfevento integer;
ALTER TABLE gestao.nfxml ADD CONSTRAINT fk_nfxml_nfevento FOREIGN KEY (id_nfevento) REFERENCES gestao.nfevento (id_nfevento);
ALTER TABLE gestao.nfxml DROP CONSTRAINT key_nfxml_tipo;
ALTER TABLE gestao.nfxml ADD  CONSTRAINT key_nfxml_tipo UNIQUE(id_nf, tipo, id_nfevento);
--RUN--

--SEQ 0231-- 30/08/2011 10:50 JCS
ALTER TABLE gestao.pauta DROP CONSTRAINT key_pauta_codigo;
ALTER TABLE gestao.pauta ADD CONSTRAINT key_pauta_codigo UNIQUE(codigo);
ALTER TABLE gestao.pauta ADD CONSTRAINT key_pauta_num_pauta UNIQUE(num_pauta);
ALTER TABLE gestao.pauta ALTER COLUMN id_empresa DROP NOT NULL;
--RUN--

--SEQ 0232-- 12/09/2011 10:50 ALAN
ALTER TABLE gestao.osdet ADD COLUMN id_estlocal integer;
--RUN--

--SEQ 0233-- 13/09/2011 14:50 ALAN
ALTER TABLE gestao.empresa ADD COLUMN reajusta_custo_reposicao_ent smallint;
ALTER TABLE gestao.empresa ADD COLUMN perc_variacao numeric(10,2);
--RUN--

--SEQ 0234-- 15/09/2011 11:00 RH
ALTER TABLE gestao.empresa ADD COLUMN atividade_mum integer;
ALTER TABLE gestao.empresa ADD COLUMN cmc integer;
ALTER TABLE gestao.municipio ADD COLUMN codigo_municipal integer;
--RUN--

--SEQ 0235-- 15/09/2011 13:14 JCS
ALTER TABLE gestao.contrato ADD COLUMN cobrar_hora smallint;
ALTER TABLE gestao.contrato ADD COLUMN vl_hora numeric(12,2);
ALTER TABLE gestao.contrato ADD COLUMN hr_contratadas integer;
ALTER TABLE gestao.contrato ADD COLUMN desc_hr_excedente smallint;
ALTER TABLE gestao.contrato ADD COLUMN num_contr_agrupador integer;

ALTER TABLE gestao.contrato ADD CONSTRAINT fk_contrato_contrato 
  FOREIGN KEY (id_empresa,num_contr_agrupador) REFERENCES gestao.contrato (id_empresa,numero);
--RUN--

--SEQ 0236-- 15/09/2011 15:00 RH
CREATE TABLE gestao.nfs
(
  id_nfs serial NOT NULL,
  id_empresa integer NOT NULL,
  numero integer NOT NULL,
  status character(1) NOT NULL,
  dt_emissao date NOT NULL,
  num_substituta integer,
  nat_op integer NOT NULL,
  num_rps integer,
  serie_rps character(5),
  tipo_rps smallint,
  dt_emissao_rps date,
  status_rps character(1),
  num_rps_substituto integer,
  serie_rps_substituto character(5),
  vl_servicos numeric(16,2) NOT NULL,
  cnae character(7),
  atividade integer NOT NULL,
  bc_iss numeric(12,2),
  aliq_iss numeric(5,2),
  vl_iss numeric(12,2),
  iss_retido smallint,
  vl_deducoes numeric(12,2),
  vl_pis numeric(12,2),
  vl_cofins numeric(12,2),
  vl_inss numeric(12,2),
  vl_ir numeric(12,2),
  vl_csll numeric(12,2),
  desc_servicos character varying(2000) NOT NULL,
  cod_municipio integer NOT NULL,
  qtd_servicos numeric(12) NOT NULL,
  vl_unit_servico numeric(12,2) NOT NULL,
  cmc integer NOT NULL,
  razao_emitente character(60) NOT NULL,
  fantazia_emite character(60),
  cnpj_emitente character(14) NOT NULL,
  ender_emitente character(60) NOT NULL,
  numero_end_emitente character(60) NOT NULL,
  complemento_end_emitente character(60),
  bairro_emitente character(60) NOT NULL,
  cod_municipio_emitente integer NOT NULL,
  cep_emitente integer NOT NULL,
  email_emitente character(60),
  telefone_emitente numeric(14),
  id_tomador integer NOT NULL,
  inscr_tomador character(14) NOT NULL,
  tipo_inscr_tomador smallint NOT NULL,
  nome_tomador character(60) NOT NULL,
  ender_tomador character(60) NOT NULL,
  num_end_tomador character(60) NOT NULL,
  comple_end_tomador character(60),
  bairro_tomador character(60) NOT NULL,
  cod_municipio_tomador integer NOT NULL,
  cep_tomador integer NOT NULL,
  email_tomador character(60),
  telefone_tomador numeric(14),
  dt_cancelamento date,
  status_sincronizacao smallint NOT NULL,
  vencimento date,
  CONSTRAINT pk_nfs PRIMARY KEY (id_nfs),
  CONSTRAINT fk_nfs_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT key_nfs_numero UNIQUE (numero, id_empresa),
  CONSTRAINT chk_nfs_dt_emissao CHECK (dt_emissao <= now())
);
--RUN--

--SEQ 0237-- 19/09/2011 10:43 JCS
ALTER TABLE gestao.correntista ADD COLUMN suf_cnpj_cpf character(3) NOT NULL DEFAULT '';

ALTER TABLE gestao.correntista DROP CONSTRAINT key_correntista_cnpj_cpf;
ALTER TABLE gestao.correntista ADD CONSTRAINT key_correntista_cnpj_cpf UNIQUE (id_empresa, cnpj_cpf,suf_cnpj_cpf);
--RUN--

--SEQ 0238-- 21/09/2011 09:17 JCS
ALTER TABLE gestao.sticms ADD COLUMN contribuinte_icms smallint NOT NULL DEFAULT 1;

ALTER TABLE gestao.sticms DROP CONSTRAINT key_sticms_uf;
ALTER TABLE gestao.sticms ADD CONSTRAINT key_sticms_uf UNIQUE(id_st, uf, st_especifica,contribuinte_icms);

UPDATE gestao.sticms SET uf='SC',contribuinte_icms=2 WHERE uf='CF';
--RUN--

--SEQ 0239-- 27/09/2011 10:45 JCS
ALTER TABLE gestao.contador ADD COLUMN uf_crc character(2) DEFAULT 'SC';
ALTER TABLE gestao.contador ADD COLUMN ramal character(5);
ALTER TABLE gestao.contador ADD COLUMN ddd_fax character(4);
ALTER TABLE gestao.contador ADD CONSTRAINT fk_contador_estado FOREIGN KEY (uf_crc) REFERENCES gestao.estado (sigla);
--RUN--

--SEQ 0240-- 27/09/2011 11:45 JCS
INSERT INTO gestao.sticms(
            id_st, uf, cst_icms, modal_bc_icms, perc_red_bc_icms, 
            perc_bc_icms, aliq_icms, modal_bc_icmsst, aliq_icmsst, perc_red_bc_icmsst, 
            perc_marg_vl_icmsst, somar_icmsst_nf, cod_mensagemnf1, cod_mensagemnf2, 
            lancar_icms, st_especifica, csosn, rec_icms_ant, perc_credito_presumido, 
            dt_atual, contribuinte_icms)
SELECT a.id_st, b.uf, a.cst_icms, a.modal_bc_icms, a.perc_red_bc_icms, 
       a.perc_bc_icms, a.aliq_icms, a.modal_bc_icmsst, a.aliq_icmsst, a.perc_red_bc_icmsst, 
       a.perc_marg_vl_icmsst, a.somar_icmsst_nf, a.cod_mensagemnf1, a.cod_mensagemnf2, 
       a.lancar_icms, a.st_especifica, a.csosn, a.rec_icms_ant, a.perc_credito_presumido, 
       a.dt_atual, a.contribuinte_icms
  FROM gestao.sticms A 
  LEFT OUTER JOIN gestao.sticms B ON (a.id_st=b.id_st AND b.contribuinte_icms=1 AND b.st_especifica='')
  WHERE a.uf='SC' AND a.contribuinte_icms=2 AND a.st_especifica='' AND b.uf NOT IN (SELECT uf FROM gestao.sticms C WHERE c.id_st=a.id_st AND c.contribuinte_icms=2);

INSERT INTO gestao.sticms(
            id_st, uf, cst_icms, modal_bc_icms, perc_red_bc_icms, 
            perc_bc_icms, aliq_icms, modal_bc_icmsst, aliq_icmsst, perc_red_bc_icmsst, 
            perc_marg_vl_icmsst, somar_icmsst_nf, cod_mensagemnf1, cod_mensagemnf2, 
            lancar_icms, st_especifica, csosn, rec_icms_ant, perc_credito_presumido, 
            dt_atual, contribuinte_icms)
SELECT a.id_st, b.uf, a.cst_icms, a.modal_bc_icms, a.perc_red_bc_icms, 
       a.perc_bc_icms, a.aliq_icms, a.modal_bc_icmsst, a.aliq_icmsst, a.perc_red_bc_icmsst, 
       a.perc_marg_vl_icmsst, a.somar_icmsst_nf, a.cod_mensagemnf1, a.cod_mensagemnf2, 
       a.lancar_icms, a.st_especifica, a.csosn, a.rec_icms_ant, a.perc_credito_presumido, 
       a.dt_atual, 0
  FROM gestao.sticms A 
  LEFT OUTER JOIN gestao.sticms B ON (a.id_st=b.id_st AND b.contribuinte_icms=1 AND b.st_especifica='')
  WHERE a.uf='SC' AND b.uf IS NOT NULL AND a.contribuinte_icms=2 AND a.st_especifica='' AND b.uf NOT IN (SELECT uf FROM gestao.sticms C WHERE c.id_st=a.id_st AND c.contribuinte_icms=0);
--RUN--
 
--SEQ 0241-- 29/09/2011 11:45 JCS
ALTER TABLE gestao.produto ADD COLUMN subcategoria integer;
--RUN--

--SEQ 0242-- 06/10/2011 09:00 ALAN
ALTER TABLE gestao.produto ADD COLUMN cod_secao integer;
ALTER TABLE gestao.produto ADD COLUMN taxa_margem1 numeric(6,2);
ALTER TABLE gestao.produto ADD COLUMN dt1_promocao date;
ALTER TABLE gestao.produto ADD COLUMN dt2_promocao date;
ALTER TABLE gestao.produto ADD COLUMN pr_sugerido numeric(12,2);
ALTER TABLE gestao.produto ADD COLUMN vendido_peso smallint;
ALTER TABLE gestao.produto ADD COLUMN exportar_balanca smallint;
ALTER TABLE gestao.produto ADD COLUMN validade_dias integer;
ALTER TABLE gestao.produto ADD COLUMN usuario_atual character(20);
--RUN--

--SEQ 0243-- 10/10/2011 10:00 ALAN
ALTER TABLE gestao.produto ADD COLUMN estoque_minimo numeric(15,3);
ALTER TABLE gestao.produto ADD COLUMN data date;
ALTER TABLE gestao.produto ADD COLUMN hora time;
--RUN--

--SEQ 0244-- 11/10/2011 11:19 JCS
CREATE INDEX key_nf_modelo  ON gestao.nf (id_empresa, modelo, status, dt_emissao);
CREATE INDEX key_nf_danfe_impresso ON gestao.nf (id_empresa, danfe_impresso, modelo, status);
CREATE INDEX key_nf_email_enviado ON gestao.nf (id_empresa, email_enviado, modelo, status );
--RUN--

--SEQ 0245-- 14/10/2011 08:39 JCS
ALTER TABLE gestao.sarcfg ADD COLUMN origem_descmax character(1) NOT NULL DEFAULT 'P';
ALTER TABLE gestao.sarcfg ADD COLUMN ativar_prod_pauta smallint NOT NULL DEFAULT 0;
--RUN--

--SEQ 0246-- 19/10/2011 13:30 ALAN
ALTER TABLE gestao.produto ADD COLUMN qtd_und_compra numeric(12,2);
ALTER TABLE gestao.produto ADD COLUMN custo_rep numeric(12,4);
ALTER TABLE gestao.produto ADD COLUMN origem smallint;
--RUN--

--SEQ 0247-- 20/10/2011 16:37 RH
ALTER TABLE gestao.produto ADD COLUMN cod_base_cred_pis_cofins character(2);
ALTER TABLE gestao.st ADD COLUMN nat_rec_pis_cofins character(4);
--RUN--

--SEQ 0248-- 28/10/2011 13:57 ALAN
ALTER TABLE gestao.produto ADD COLUMN produto_grade integer;
ALTER TABLE gestao.produto ADD COLUMN id_gradev     integer;
ALTER TABLE gestao.produto ADD COLUMN id_gradeh     integer;
ALTER TABLE gestao.produto ADD COLUMN id_produto_grade integer;
ALTER TABLE gestao.produto ADD COLUMN id_gradedetv integer;
ALTER TABLE gestao.produto ADD COLUMN id_gradedeth integer;
ALTER TABLE gestao.produto ADD COLUMN controlar_estoque smallint;

CREATE INDEX key_produto_idxFTI ON gestao.produto USING gist(idxFTI);
CREATE TRIGGER tsvectorupdate
  BEFORE INSERT OR UPDATE
  ON gestao.produto
  FOR EACH ROW
  EXECUTE PROCEDURE tsvector_update_trigger('idxfti', 'pg_catalog.english', 'descricao', 'utilizacao', 'referencia');
--RUN--

--SEQ 0249-- 18/11/2011 14:30 ALAN
ALTER TABLE gestao.lanctos ALTER complemento TYPE character(80);
--RUN--

--SEQ 0251-- 22/11/2011 10:45 ALAN
CREATE TABLE gestao.classfiscal
(
  id_classfiscal serial NOT NULL,
  codigo integer NOT NULL,
  descricao character(450) NOT NULL,
  cod_nf character(1),
  mva_original_icmsst numeric(7,2),
  perc_red_bc_icmsst numeric(5,2),
  aliq_icmsst numeric(5,2),
  CONSTRAINT pk_classfiscal PRIMARY KEY (id_classfiscal),
  CONSTRAINT key_classfiscal_codigo UNIQUE (codigo)
);
--RUN--

--SEQ 0252-- 06/12/2011 16:45 ALAN
ALTER TABLE gestao.produto ADD COLUMN cod_estrutura character(14);
--RUN--

--SEQ 0253-- 12/12/2011 15:45 JCS
ALTER TABLE gestao.itemdocto DISABLE TRIGGER valida_itemdocto;
UPDATE gestao.itemdocto SET cst_pis='0'||cst_pis WHERE length(cst_pis)=1;
UPDATE gestao.itemdocto SET cst_cofins='0'||cst_cofins WHERE length(cst_cofins)=1;
ALTER TABLE gestao.itemdocto ENABLE TRIGGER valida_itemdocto;
--RUN--

--SEQ 0254-- 13/12/2011 08:10 JCS
CREATE TABLE gestao.entradas
(
  id_entrada serial NOT NULL,
  id_empresa integer NOT NULL,
  espec character(5) NOT NULL,
  serie character(3) NOT NULL,
  subse character(2) NOT NULL,
  numero integer NOT NULL,
  modelo character(2),
  id_forne integer NOT NULL,
  emiss date NOT NULL,
  entra date NOT NULL,
  cfop integer,
  total numeric(12,2) NOT NULL,
  valor_icms numeric(12,2) NOT NULL,
  base_icms_st numeric(12,2) NOT NULL,
  valor_icms_st numeric(12,2) NOT NULL,
  base_ipi numeric(12,2) NOT NULL,
  valor_ipi numeric(12,2) NOT NULL,
  isenta_ipi numeric(12,2) NOT NULL,
  outras_ipi numeric(12,2) NOT NULL,
  forma_pagto smallint,
  v_ent numeric(12,2) NOT NULL,
  v_fin numeric(12,2) NOT NULL,
  despadic numeric(12,2) NOT NULL,
  cf_tot numeric(12,2) NOT NULL,
  cf_icms numeric(12,2) NOT NULL,
  obs character(40),
  lanc_aupd smallint,
  id_aupd integer,
  conta_ctp integer,
  status smallint,
  ctbconta integer,
  ctbcusto smallint,
  num_oc integer,
  id_banco integer,
  id_banco_cred integer,
  data_pagto date,
  cred_icms_vl numeric(12,2) NOT NULL,
  cred_icms_meses smallint,
  cred_icms_periodo_final date,
  id_tes integer,
  contabilizado character(1),
  nf_servico character(1),
  vl_ajuste_duplicata numeric(12,2) NOT NULL DEFAULT 0,
  uf_origem_transporte character(2),
  chave_nfe character varying(44),
  detnatureza_ctp smallint NOT NULL DEFAULT 1,
  indic_frete character(1),
  id_filial integer,
  classe_consumo character(2),
  tp_ligacao smallint,
  grupo_tensao character(2),
  arqxml character varying(1000),
  cod_situacao character(2),
  CONSTRAINT pk_entrada PRIMARY KEY (id_entrada),
  CONSTRAINT fk_entradas_empresa FOREIGN KEY (id_empresa)
      REFERENCES gestao.empresa (id_empresa) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT fk_entradas_estado1 FOREIGN KEY (uf_origem_transporte)
      REFERENCES gestao.estado (sigla) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT fk_entradas_filial FOREIGN KEY (id_filial)
      REFERENCES gestao.empresa (id_empresa) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT fk_entradas_moddocfiscal FOREIGN KEY (modelo)
      REFERENCES gestao.moddocfiscal (codigo) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT fk_entradas_oc FOREIGN KEY (num_oc, id_empresa)
      REFERENCES gestao.oc (numero, id_empresa) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT key_entradas_numero_forne UNIQUE (numero, espec, modelo, serie, subse, id_forne, id_empresa),
  CONSTRAINT chk_entradas_indic_frete CHECK (indic_frete = ANY (ARRAY['E'::bpchar, 'D'::bpchar, 'T'::bpchar, 'N'::bpchar])),
  CONSTRAINT chk_entradas_nf_servicos CHECK (nf_servico = ANY (ARRAY['S'::bpchar, 'N'::bpchar, 'M'::bpchar]))
);

CREATE INDEX key_entradas_entra ON gestao.entradas (entra);
CREATE INDEX key_entradas_id_fone ON gestao.entradas (id_forne);

CREATE TABLE gestao.entradet
(
  id_entradet serial NOT NULL,
  id_entrada integer NOT NULL,
  ordem smallint NOT NULL,
  tipo smallint NOT NULL,
  produ integer NOT NULL,
  descr character(75) NOT NULL,
  cst_icms smallint,
  und character(6),
  qtd numeric(12,3) NOT NULL,
  total numeric(12,2) NOT NULL,
  vl_desc_item numeric(12,2) NOT NULL,
  custo numeric(12,4) NOT NULL,
  num_oc integer,
  id_local integer NOT NULL,
  qtd_ajuste numeric(12,3) NOT NULL,
  base_icms numeric(12,2) NOT NULL,
  aliq_icms numeric(6,2) NOT NULL,
  valor_icms numeric(12,2) NOT NULL,
  isentas_icms numeric(12,2) NOT NULL,
  outras_icms numeric(12,2) NOT NULL,
  base_icms_st numeric(12,2) NOT NULL,
  valor_icms_st numeric(12,2) NOT NULL,
  base_ipi numeric(12,2) NOT NULL,
  valor_ipi numeric(12,2) NOT NULL,
  isentas_ipi numeric(12,2) NOT NULL,
  outras_ipi numeric(12,2) NOT NULL,
  base_pis_cofins numeric(12,2) NOT NULL,
  aliq_pis numeric(6,2),
  aliq_cofins numeric(6,2),
  cfop integer,
  id_tes integer,
  base_iss numeric(12,2) NOT NULL,
  aliq_iss numeric(6,2) NOT NULL,
  valor_iss numeric(12,2) NOT NULL,
  isentas_iss numeric(12,2) NOT NULL,
  outras_iss numeric(12,2) NOT NULL,
  item_oc integer,
  gerar_estoque character(1),
  cod_ccusto integer,
  id_natureza integer,
  id_prod_final integer,
  id_lote integer,
  ctb_inf_usuario smallint NOT NULL DEFAULT 0,
  id_ctbconta integer,
  id_ctbhisto integer,
  calcst_vl_produto numeric(15,2),
  calcst_vl_ipi_outras numeric(15,2),
  calcst_bc_icms numeric(15,2),
  calcst_aliq_icms numeric(5,2),
  calcst_vl_icms numeric(15,2),
  calcst_mva numeric(5,2),
  calcst_mva_ajustada numeric(5,2),
  calcst_bc_icmsst numeric(15,2),
  calcst_aliq_icmsst numeric(5,2),
  calcst_vl_icmsst numeric(15,2),
  calcst_situacao smallint,
  qtd_prod_final numeric(15,3),
  aliq_icms_st numeric(6,2),
  apuracao_ipi smallint,
  cst_ipi character(2),
  cod_enq character(3),
  aliq_ipi numeric(6,2),
  cst_pis integer,
  bc_pis numeric(15,2),
  qt_bc_pis numeric(15,3),
  aliq_vl_pis numeric(15,4),
  vl_pis numeric(15,2),
  cst_cofins integer,
  bc_cofins numeric(15,2),
  qt_bc_cofins numeric(15,3),
  aliq_vl_cofins numeric(15,4),
  vl_cofins numeric(15,2),
  vl_frete numeric(15,2),
  vl_seguro numeric(15,2),
  vl_desp_acessorias numeric(15,2),
  vl_red_bc_icms numeric(15,2),
  base_icmscp numeric(15,2),
  aliq_icmscp numeric(6,2),
  cfop_constante_nf integer,
  id_cap integer,
  CONSTRAINT pk_entradet PRIMARY KEY (id_entradet),
  CONSTRAINT fk_entradet_entradas FOREIGN KEY (id_entrada)
      REFERENCES gestao.entradas (id_entrada) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT key_entradet_ordem UNIQUE (id_entrada, ordem),
  CONSTRAINT chk_entradet_tipo CHECK (tipo = 1 OR tipo = 2 OR tipo = 3 OR tipo = 4 OR tipo = 99)
);

CREATE INDEX key_entradet_entrada ON gestao.entradet (id_entrada);
CREATE INDEX key_entradet_oc ON gestao.entradet (num_oc, item_oc);
CREATE INDEX key_entradet_produ ON gestao.entradet (produ);

CREATE TABLE gestao.ctp
(
  id_ctp serial NOT NULL,
  id_empresa integer NOT NULL,
  numero character(8) NOT NULL,
  ctbil smallint,
  gectb smallint,
  docto character(10),
  porta integer NOT NULL,
  cxa integer,
  credo integer NOT NULL,
  emiss date NOT NULL,
  vecto date NOT NULL,
  valor numeric(12,2) NOT NULL,
  pago numeric(12,2) NOT NULL,
  saldo numeric(12,2) NOT NULL,
  desco numeric(12,2) NOT NULL,
  juros numeric(12,2) NOT NULL,
  vl_despesas numeric(12,2) NOT NULL,
  id_ent integer,
  id_conta integer NOT NULL,
  obs character(40),
  dt_prev_pagto date,
  id_oc integer,
  guid_vinc character(30),
  status smallint NOT NULL,
  situacao character(1) NOT NULL,
  sit_contabil smallint NOT NULL DEFAULT 0,
  cod_ctbconta integer,
  origem_lancto character(2),
  sit_adiantamento character(1),
  data date NOT NULL,
  id_lote integer,
  CONSTRAINT pk_ctp PRIMARY KEY (id_ctp),
  CONSTRAINT fk_ctp_empresa FOREIGN KEY (id_empresa)
      REFERENCES gestao.empresa (id_empresa) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT fk_ctp_entradas FOREIGN KEY (id_ent)
      REFERENCES gestao.entradas (id_entrada) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT fk_ctp_oc FOREIGN KEY (id_oc)
      REFERENCES gestao.oc (id_oc) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT key_ctp_numero UNIQUE (numero, credo, id_empresa),
  CONSTRAINT chk_ctp_status CHECK (status = 1 OR status = 2 OR status = 3)
);

CREATE INDEX key_ctp_credo ON gestao.ctp (credo);
CREATE INDEX key_ctp_emiss ON gestao.ctp (emiss);
CREATE INDEX key_ctp_entrada ON gestao.ctp (id_ent);
CREATE INDEX key_ctp_guid_vinc ON gestao.ctp (guid_vinc);
CREATE INDEX key_ctp_oc ON gestao.ctp (id_oc);
CREATE INDEX key_ctp_situa ON gestao.ctp (situacao);
CREATE INDEX key_ctp_vecto ON gestao.ctp  (vecto);

CREATE TABLE gestao.pagtos
(
  id_pagto serial NOT NULL,
  id_credor integer,
  id_ctp integer NOT NULL,
  pagto_eventual smallint,
  numero character(8),
  data date NOT NULL,
  valor numeric(12,2) NOT NULL,
  vl_juros numeric(12,2) NOT NULL,
  vl_desconto numeric(12,2) NOT NULL,
  obs character(255),
  origem smallint NOT NULL,
  id_banco integer,
  id_banco_cred integer,
  data_movto date NOT NULL,
  contabilizado character(1),
  vl_despesas numeric(12,2),
  CONSTRAINT pk_pagdet PRIMARY KEY (id_pagto),
  CONSTRAINT fk_pagdet_ctp FOREIGN KEY (id_ctp)
      REFERENCES gestao.ctp (id_ctp) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION
);

CREATE INDEX key_pagdet_ctp ON gestao.pagtos (id_ctp);
CREATE INDEX key_pagdet_data ON gestao.pagtos (data);
--RUN--


--SEQ 0255-- 13/12/2011 08:12 JCS
CREATE TABLE gestao.ctpagrupado
(
  id_ctpagrupado serial NOT NULL,
  id_entrada integer NOT NULL,
  id_ctp integer NOT NULL,
  tipo character(1) NOT NULL,
  valor numeric(12,2) NOT NULL,
  CONSTRAINT pk_ctpagrupado PRIMARY KEY (id_ctpagrupado),
  CONSTRAINT fk_ctpagrupado_ctp FOREIGN KEY (id_ctp)
      REFERENCES gestao.ctp (id_ctp) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT fk_ctpagrupado_entrada FOREIGN KEY (id_entrada)
      REFERENCES gestao.entradas (id_entrada) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT key_ctpagrupado_entrada UNIQUE (id_entrada, id_ctp),
  CONSTRAINT chk_ctpagrupado CHECK (tipo = ANY (ARRAY['P'::bpchar, 'T'::bpchar]))
);
--RUN--

--SEQ 0256-- 14/12/2011 09:25 RH
  ALTER TABLE gestao.sscc ADD COLUMN validade date;
--RUN--

--SEQ 0257-- 16/12/2011 17:07 JCS
ALTER TABLE gestao.nfdet DROP CONSTRAINT chk_nfdet_isentas_icms;
--RUN--IGNORE ERRO

--SEQ 0258-- 16/12/2011 17:07 JCS
ALTER TABLE gestao.nfdet DROP CONSTRAINT chk_nfdet_outras_icms;
--RUN--IGNORE ERRO

--SEQ 0259-- 16/12/2011 17:07 JCS
ALTER TABLE gestao.nfdet DISABLE TRIGGER valida_nfdet;
ALTER TABLE gestao.nfdet DISABLE TRIGGER gera_estmovto_nfdet;
UPDATE gestao.nfdet SET isentas_icms=0 WHERE isentas_icms<0;
UPDATE gestao.nfdet SET outras_icms=0 WHERE outras_icms<0;
ALTER TABLE gestao.nfdet ENABLE TRIGGER valida_nfdet;
ALTER TABLE gestao.nfdet ENABLE TRIGGER gera_estmovto_nfdet;
ALTER TABLE gestao.nfdet ADD CONSTRAINT chk_nfdet_isentas_icms CHECK (isentas_icms>=0);
ALTER TABLE gestao.nfdet ADD CONSTRAINT chk_nfdet_outras_icms CHECK (outras_icms>=0);
--RUN--

--SEQ 0260-- 20/12/2011 14:00 ALAN
ALTER TABLE gestao.sscc ADD COLUMN retorno_req smallint;
--RUN--

--SEQ 0261-- 21/12/2011 07:00 JCS
ALTER TABLE gestao.req ADD COLUMN situacao character(1) NOT NULL DEFAULT 'L';
ALTER TABLE gestao.req ADD CONSTRAINT chk_req_situacao CHECK (situacao IN ('P','L','C'));
--RUN--

--SEQ 0262-- 22/12/2011 10:45 JCS
UPDATE gestao.fatconversao SET cod_barra=Null WHERE id_fatconversao IN (
  SELECT max(id_fatconversao) FROM gestao.fatconversao GROUP BY id_empresa,cod_barra HAVING count(*)>1
);
UPDATE gestao.fatconversao SET cod_barra=Null WHERE cod_barra=' ';

ALTER TABLE gestao.fatconversao DROP CONSTRAINT key_cod_barra;
ALTER TABLE gestao.fatconversao ADD CONSTRAINT key_cod_barra UNIQUE(id_empresa, cod_barra);
--RUN--

--SEQ 0263-- 27/12/2011 10:45 ALAN
CREATE TABLE gestao.colaborador
(
  id_colaborador SERIAL NOT NULL ,
  id_empresa INT NULL ,
  codigo INT NOT NULL ,
  nome CHAR(60) NULL ,
  endereco CHAR(60) NULL ,
  bairro CHAR(40) NULL ,
  cep CHAR(9) NULL ,
  id_municipio INT NULL ,
  telefone_ddd CHAR(3) NULL ,
  telefone CHAR(25) NULL ,
  cpf CHAR(14) NULL ,
  numero_rg CHAR(20) NULL ,
  orgex_rg CHAR(5) NULL ,
  uf_rg CHAR(2) NULL ,
  dtemi_rg DATE NULL ,
  salario DECIMAL(12,2) NULL ,
  encargos DECIMAL(12,2) NULL ,
  outros DECIMAL(12,2) NULL ,
  id_setor INT NULL ,
  numero_ctps INT NULL ,
  serie_ctps INT NULL ,
  uf_ctps CHAR(2) NULL ,
  dt_cadastro DATE NOT NULL ,
  dt_baixa DATE NULL ,
  login CHAR(12) NULL ,
  venda_lib SMALLINT NULL ,
  apelido CHAR(20) NULL ,
  id_prestadora INT NULL ,
  taxa_desconto DECIMAL(6,2) NULL ,
  taxa_com_prod DECIMAL(5,2) NULL ,
  taxa_com_serv DECIMAL(5,2) NULL,
  CONSTRAINT pk_colaborador PRIMARY KEY (id_colaborador),
  CONSTRAINT key_colaborador_codigo UNIQUE(id_empresa, codigo),
  CONSTRAINT key_colaborador_login UNIQUE(id_empresa, "login"),
  CONSTRAINT key_colaborador_cpf UNIQUE(cpf),
  CONSTRAINT fk_colaborador_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_colaborador_municipio FOREIGN KEY (id_municipio) REFERENCES gestao.municipio (id_municipio)
);

CREATE TABLE gestao.producao
(
  id_producao SERIAL NOT NULL ,
  id_empresa INT NULL ,
  numero INT NULL ,
  tipo SMALLINT NULL ,
  data DATE NOT NULL ,
  hora TIME NOT NULL ,
  turno SMALLINT NULL ,
  num_op INT NULL ,
  cod_colaborador INT NULL ,
  id_produto INT NOT NULL ,
  variante CHAR(30) NULL ,
  validade DATE NULL ,
  id_varprod INT NULL ,
  cod_estrutura CHAR(14) NOT NULL ,
  qtd DECIMAL(12,4) NULL ,
  qtd_nao_conforme DECIMAL(12,3) NULL ,
  und CHAR(3) NULL ,
  obs CHAR(40) NULL ,
  status SMALLINT NULL ,
  req_insumos SMALLINT NULL ,
  usuario CHAR(15) NULL ,
  inf_usuario SMALLINT NULL ,
  id_pcpcarga INT NULL ,
  numero_avelote INT NULL ,
  lote CHAR(10) NULL ,
  codigo_sscc CHAR(20) NULL,
  CONSTRAINT pk_producao PRIMARY KEY (id_producao),
  CONSTRAINT key_producao_numero UNIQUE (id_empresa, numero),
  CONSTRAINT fk_producao_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_producao_colaborador FOREIGN KEY (cod_colaborador,id_empresa) REFERENCES gestao.colaborador (codigo,id_empresa),
  CONSTRAINT chk_producao_status CHECK (status = ANY (ARRAY[0, 1, 2, 3])),
  CONSTRAINT chk_producao_tipo CHECK (tipo = ANY (ARRAY[1, 2])),
  CONSTRAINT chk_producao_turno CHECK (turno = 1 OR turno = 2 OR turno = 3)
);
--RUN--

--SEQ 0264-- 11/01/2012 10:45 JCS
ALTER TABLE gestao.formapag RENAME pagto_avista TO ind_formapag;
ALTER TABLE gestao.formapag ALTER COLUMN ind_formapag SET NOT NULL;
ALTER TABLE gestao.formapag ADD CONSTRAINT chk_formapag_ind_formapag CHECK (ind_formapag IN (0,1,2));
UPDATE gestao.formapag SET ind_formapag=(CASE WHEN ind_formapag=1 THEN 0 ELSE 1 END);
--RUN--

--SEQ 0265-- 13/01/2012 15:39 JCS
ALTER TABLE gestao.sarcfg ADD COLUMN ativa_rel_com smallint;
--RUN--

--SEQ 0266-- 24/01/2012 08:40 JCS
ALTER TABLE gestao.cfopxtes  ADD COLUMN ind_pagto character(1) NOT NULL DEFAULT 'P';
--RUN--

--SEQ 0267-- 24/01/2012 08:40 JCS
ALTER TABLE gestao.formapag ADD COLUMN pagto_avista smallint;
COMMENT ON COLUMN gestao.formapag.pagto_avista IS 'Campo tempor rio, para funcionamento do SAR+ na vers o 2011.58 e anteriores, ap s 30/06/2012 deve ser removido.';
--RUN--

--SEQ 0268-- 25/01/2012 11:30 ALAN
ALTER TABLE gestao.ctc ADD COLUMN cst_icms SMALLINT;
ALTER TABLE gestao.ctc ADD COLUMN vl_red_bc_icms numeric(15,2);
--RUN--

--SEQ 0269-- 01/02/2012 09:15 JCS
CREATE TABLE gestao.log
(
  id_log serial NOT NULL,
  data timestamp without time zone NOT NULL DEFAULT now(),
  id_empresa integer,
  nome_cpd character varying(20) NOT NULL,
  nome_usuario character varying(20) NOT NULL,
  operacao character varying(3) NOT NULL,
  tabela character varying(20) NOT NULL,
  id character varying(30) NOT NULL,
  descricao character varying(100) NOT NULL,
  alerta boolean,
  CONSTRAINT pk_log PRIMARY KEY (id_log)
);

CREATE INDEX key_log_data ON gestao.log (data);
CREATE INDEX key_log_tabela ON gestao.log (tabela, id);
--RUN--

--SEQ 0270-- 01/02/2012 16:50 JCS
DROP INDEX gestao.key_cfopxtes_cfop;
CREATE UNIQUE INDEX key_cfopxtes_cfop ON gestao.cfopxtes (id_empresa, tipo, cfop, nat_op, (COALESCE(cod_fornecedor, 0)), cod_prodforne, cst_icms, aliq_icms, ind_pagto);
--RUN--

--SEQ 0271-- 06/02/2012 08:50 ALAN
ALTER TABLE gestao.oc ALTER endereco_entrega TYPE character varying(200);
--RUN--

--SEQ 0272-- 07/02/2012 14:30 ALAN
INSERT INTO gestao.modecf (id_modecf,cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd,naoemitir_lmf_aut) VALUES (150,8, 13, 1, 'DARUMA', 'MACH 1', '01.01.00', 1, 1,0);
INSERT INTO gestao.modecf (id_modecf,cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd,naoemitir_lmf_aut) VALUES (151,8, 14, 1, 'DARUMA', 'MACH 2', '01.01.00', 1, 1,0);
INSERT INTO gestao.modecf (id_modecf,cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd,naoemitir_lmf_aut) VALUES (152,8, 15, 1, 'DARUMA', 'MACH 3', '01.01.00', 1, 1,0);
--RUN--


--SEQ 0273-- 23/02/2012 10:55 JCS
ALTER TABLE gestao.cotacao DROP CONSTRAINT chk_cotacao_situacao;
ALTER TABLE gestao.cotacao ADD CONSTRAINT chk_cotacao_situacao CHECK (situacao IN (1, 2, 3, 4, 5));

CREATE TABLE gestao.portaria (
  id_portaria SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  data DATE NOT NULL ,
  hora TIME NOT NULL ,
  tipo CHAR(2) NOT NULL ,
  placa CHAR(7) NOT NULL ,
  marca_modelo CHAR(40) NOT NULL ,
  km_odometro INT NOT NULL ,
  cpf CHAR(14) NOT NULL ,
  nome CHAR(40) NOT NULL ,
  acompanhante CHAR(1) NOT NULL ,
  qtd_acompanhante INT NOT NULL ,
  descricao CHAR(200) NOT NULL ,
  id_oc INT
);

ALTER TABLE gestao.portaria  ADD CONSTRAINT pk_portaria PRIMARY KEY(id_portaria);

ALTER TABLE gestao.portaria  ADD CONSTRAINT fk_portaria_empresa FOREIGN KEY (id_empresa)
      REFERENCES gestao.empresa (id_empresa);

ALTER TABLE gestao.oc  ADD CONSTRAINT fk_portaria_oc FOREIGN KEY (id_oc)
      REFERENCES gestao.oc (id_oc);
--RUN--

--SEQ 0274-- 29/02/2012 17:50 JCS
CREATE TABLE gestao.bccomissao (
  id_bccomissao SERIAL ,
  id_empresa INT NOT NULL ,
  grupo CHAR(20) NOT NULL ,
  faixa SMALLINT NOT NULL ,
  ativo SMALLINT NOT NULL ,
  tx_var_preco1 DECIMAL(7,2) NOT NULL ,
  tx_var_preco2 DECIMAL(7,2) NOT NULL ,
  tx_bc_comissao DECIMAL(7,2) NOT NULL
);

ALTER TABLE gestao.bccomissao ADD CONSTRAINT pk_bccomissao PRIMARY KEY(id_bccomissao);
ALTER TABLE gestao.bccomissao ADD CONSTRAINT fk_bccomissao_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa);
ALTER TABLE gestao.bccomissao ADD CONSTRAINT key_bccomissao_grupo UNIQUE (id_empresa , grupo , faixa );

ALTER TABLE gestao.vendedor ADD COLUMN bc_comissao character(20);
--RUN--

--SEQ 0275-- 02/03/2012 13:30 JCS
CREATE TABLE gestao.cstpadrao (
  id_cstpadrao SERIAL ,
  id_empresa INT NOT NULL ,
  id_entrada INT NULL ,
  id_produto INT NULL ,
  id_subgrupo INT NULL ,
  id_vendedor INT NULL ,
  uf CHAR(2) NULL ,
  data DATE NOT NULL ,
  hora TIME NOT NULL ,
  custo_forn_prod DECIMAL(15,4) NOT NULL ,
  taxa_icms DECIMAL(7,2) NOT NULL ,
  valor_icms DECIMAL(15,4) NOT NULL ,
  taxa_ipi DECIMAL(7,2) NOT NULL ,
  valor_ipi DECIMAL(15,4) NOT NULL ,
  taxa_pis_cofins DECIMAL(7,2) NOT NULL ,
  valor_pis_cofins DECIMAL(15,4) NOT NULL ,
  taxa_frete DECIMAL(8,2) NOT NULL ,
  valor_frete DECIMAL(15,4) NOT NULL ,
  valor_icmsst DECIMAL(15,4) NOT NULL ,
  taxa_outros DECIMAL(7,2) NOT NULL ,
  valor_outros DECIMAL(15,4) NOT NULL ,
  valor DECIMAL(15,6) NOT NULL ,
  historico CHAR(30) NOT NULL ,
  inf_usuario SMALLINT NOT NULL
);

ALTER TABLE gestao.cstpadrao ADD CONSTRAINT pk_cstpadrao PRIMARY KEY(id_cstpadrao);
ALTER TABLE gestao.cstpadrao ADD CONSTRAINT fk_cstpadrao_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa);
--RUN--

--SEQ 0276-- 19/03/2012 21:00 JCS
ALTER TABLE gestao.produto ADD COLUMN cst_pis character(2);
ALTER TABLE gestao.produto ADD COLUMN aliq_pis numeric(6,2);
ALTER TABLE gestao.produto ADD COLUMN aliq_vl_pis numeric(15,4);

ALTER TABLE gestao.produto ADD COLUMN cst_cofins character(2);
ALTER TABLE gestao.produto ADD COLUMN aliq_cofins numeric(6,2);
ALTER TABLE gestao.produto ADD COLUMN aliq_vl_cofins numeric(15,4);
--RUN--

--SEQ 0277-- 20/03/2012 14:52 JCS
CREATE TABLE gestao.spedc171 (
  id_spedc171 SERIAL NOT NULL ,
  id_itemdocto INT NOT NULL ,
  num_tanque INT NOT NULL ,
  qtdade DECIMAL(15,3) NOT NULL,
  CONSTRAINT pk_spedc171 PRIMARY KEY (id_spedc171),
  CONSTRAINT fk_spedc171_itemdocto FOREIGN KEY (id_itemdocto) REFERENCES gestao.itemdocto (id_itemdocto),
  CONSTRAINT key_spedc171_num_tanque UNIQUE (id_itemdocto, num_tanque)
);

CREATE TABLE gestao.sped1310 (
  id_sped1310 SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  cod_produto CHAR(14) NOT NULL ,
  data DATE NOT NULL ,
  num_tanque INT NOT NULL ,
  est_inicial DECIMAL(15,3) NULL ,
  vol_entradas DECIMAL(15,3) NULL ,
  vol_disponivel DECIMAL(15,3) NULL ,
  vol_saidas DECIMAL(15,3) NULL ,
  est_escritural DECIMAL(15,3) NULL ,
  val_aj_perda DECIMAL(15,3) NULL ,
  val_aj_ganho DECIMAL(15,3) NULL ,
  est_final DECIMAL(15,3) NULL,
  CONSTRAINT pk_sped1310 PRIMARY KEY (id_sped1310),
  CONSTRAINT fk_sped1310_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_sped1310_produto FOREIGN KEY (id_empresa,cod_produto) REFERENCES gestao.produto (id_empresa,codigo),
  CONSTRAINT key_sped1310_num_tanque UNIQUE (id_empresa, cod_produto, data, num_tanque)
);


CREATE TABLE gestao.sped1320 (
  id_sped1320 SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  id_sped1310 INT NULL ,
  num_bico INT NOT NULL ,
  num_interv INT NOT NULL ,
  mot_interv CHAR(50) NOT NULL ,
  cod_corr_interv INT NULL ,
  cpf_interv CHAR(11) NOT NULL ,
  nome_interv CHAR(50) NOT NULL ,
  val_fecha DECIMAL(15,3) NOT NULL ,
  val_abert DECIMAL(15,3) NULL ,
  vol_aferi DECIMAL(15,3) NULL ,
  vol_vendas DECIMAL(15,3) NULL,
  CONSTRAINT fk_sped1320_sped1310 FOREIGN KEY (id_sped1310) REFERENCES gestao.sped1310 (id_sped1310), 
  CONSTRAINT fk_sped1320_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_sped1320_correntista FOREIGN KEY (id_empresa,cod_corr_interv) REFERENCES gestao.correntista (id_empresa,codigo),
  CONSTRAINT key_sped1320_num_interv UNIQUE (id_sped1310, num_bico, num_interv)
);

CREATE TABLE gestao.sped1350 (
  id_sped1350 SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  serie CHAR(40) NOT NULL ,
  fabricante CHAR(60) NULL ,
  modelo CHAR(60) NULL ,
  tp_medicao SMALLINT NULL,
  CONSTRAINT pk_sped1350 PRIMARY KEY (id_sped1350),
  CONSTRAINT fk_sped1350_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT key_sped1350_serie UNIQUE (id_empresa , serie )
);

CREATE TABLE gestao.sped1360 (
  id_sped1360 SERIAL NOT NULL ,
  id_sped1350 INT NOT NULL ,
  num_lacre CHAR(20) NULL ,
  dt_aplicacao DATE NOT NULL,
  CONSTRAINT pk_sped1360 PRIMARY KEY (id_sped1360),
  CONSTRAINT fk_sped1360_sped1350 FOREIGN KEY (id_sped1350) REFERENCES gestao.sped1350 (id_sped1350)
);

CREATE TABLE gestao.sped1370 (
  id_sped1370 SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  id_sped1350 INT NOT NULL ,
  num_bico INT NOT NULL ,
  cod_produto CHAR(14) NOT NULL ,
  num_tanque INT NOT NULL,
  CONSTRAINT pk_sped1370 PRIMARY KEY (id_sped1370),
  CONSTRAINT fk_sped1370_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_sped1370_sped1350 FOREIGN KEY (id_sped1350) REFERENCES gestao.sped1350 (id_sped1350),
  CONSTRAINT fk_sped1370_produto FOREIGN KEY (id_empresa,cod_produto) REFERENCES gestao.produto (id_empresa,codigo),
  CONSTRAINT key_sped1370_num_bico UNIQUE (id_sped1350 , num_bico)
);

CREATE TABLE gestao.sped1600 (
  id_sped1600 SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  data DATE NOT NULL ,
  cod_correntista INT NULL ,
  tot_credito DECIMAL(15,2) NULL ,
  tot_debito DECIMAL(15,2) NULL,
  CONSTRAINT pk_sped1160 PRIMARY KEY (id_sped1600),
  CONSTRAINT fk_sped1160_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_sped1160_correntista FOREIGN KEY (id_empresa,cod_correntista) REFERENCES gestao.correntista (id_empresa,codigo),
  CONSTRAINT key_sped1160_correntista UNIQUE (id_empresa, data, cod_correntista)
);
--RUN--

--SEQ 0278-- 20/03/2012 15:22 JCS
ALTER TABLE gestao.oc DROP CONSTRAINT fk_portaria_oc;
ALTER TABLE gestao.portaria ADD CONSTRAINT fk_portaria_oc FOREIGN KEY (id_oc) REFERENCES gestao.oc (id_oc);
--RUN--

--SEQ 0279-- 21/03/2012 09:23 JCS
ALTER TABLE gestao.produto DISABLE TRIGGER tsvectorupdate;
ALTER TABLE gestao.produto DISABLE TRIGGER valida_produto;
UPDATE gestao.produto SET ativo=1 WHERE ativo=0;
ALTER TABLE gestao.produto ENABLE TRIGGER tsvectorupdate;
ALTER TABLE gestao.produto ENABLE TRIGGER valida_produto;
--RUN--
			     
--SEQ 0280-- 22/03/2012 20:00 JCS
CREATE INDEX key_cstpadrao_produto_data  ON gestao.cstpadrao (id_empresa, id_produto, data);
CREATE INDEX key_cstpadrao_subgrupo_data ON gestao.cstpadrao (id_empresa, id_subgrupo, data);
CREATE INDEX key_cstpadrao_vendedor_data ON gestao.cstpadrao (id_empresa, id_vendedor, data);

CREATE TABLE gestao.proposta (
  id_proposta SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  numero INT NOT NULL ,
  data DATE NOT NULL ,
  id_cliente INT NOT NULL ,
  nome_cliente CHAR(65) NULL ,
  id_municipio INT NULL ,
  contato CHAR(30) NULL ,
  obra CHAR(50) NULL ,
  id_municipio_obra INT NULL ,
  id_representante INT NOT NULL ,
  email CHAR(40) NULL ,
  id_prazo_pagto INT NULL ,
  prazo_entrega CHAR(20) NULL ,
  taxa_desconto DECIMAL(7,2) NULL ,
  valor_desconto DECIMAL(12,2) NULL ,
  taxa_frete DECIMAL(5,2) NULL ,
  taxa_comissao DECIMAL(5,2) NULL ,
  taxa_margem DECIMAL(7,4) NULL ,
  taxa_perda_perfil DECIMAL(5,2) NULL ,
  vl_frete DECIMAL(12,2) NULL ,
  desp_frete DECIMAL(12,2) NULL ,
  inc_frete_preco SMALLINT NULL ,
  vl_ipi DECIMAL(12,2) NULL ,
  vl_total DECIMAL(12,2) NULL ,
  obs VARCHAR(512) NULL ,
  tx_ajuste_custo DECIMAL(7,2) NULL ,
  CONSTRAINT pk_proposta PRIMARY KEY (id_proposta),
  CONSTRAINT fk_proposta_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT key_proposta_numero UNIQUE (id_empresa, numero)
);

CREATE TABLE gestao.propitem (
  id_propitem SERIAL NOT NULL ,
  id_proposta INT NOT NULL ,
  item INT NOT NULL ,
  id_produto INT NULL ,
  largura DECIMAL(8,2) NOT NULL ,
  altura DECIMAL(8,2) NOT NULL ,
  L1 INT NULL ,
  L2 INT NULL ,
  L3 INT NULL ,
  L4 INT NULL ,
  H1 INT NULL ,
  H2 INT NULL ,
  H3 INT NULL ,
  H4 INT NULL ,
  id_acabamento INT NOT NULL ,
  id_vidro INT NOT NULL ,
  id_varprod INT NULL ,
  id_vista INT NULL ,
  id_st INT NULL ,
  qtdade DECIMAL(12,3) NULL ,
  preco_unitario DECIMAL(12,4) NULL ,
  vl_ipi DECIMAL(12,2) NULL ,
  vl_total DECIMAL(12,2) NULL ,
  taxa_comissao DECIMAL(5,2) NULL ,
  taxa_margem DECIMAL(7,4) NULL ,
  taxa_perda_perfil DECIMAL(5,2) NULL ,
  vl_totliq DECIMAL(12,2) NULL ,
  vl_tributos DECIMAL(12,2) NULL ,
  vl_cmv DECIMAL(12,2) NULL ,
  vl_despvar DECIMAL(12,2) NULL ,
  vl_mc DECIMAL(12,2) NULL ,
  vl_despfixas DECIMAL(12,2) NULL ,
  vl_lucro DECIMAL(12,2) NULL ,
  vl_custo_frete DECIMAL(12,2) NULL ,
  vl_custo_prod1 DECIMAL(12,2) NULL ,
  vl_custo_prod2 DECIMAL(12,2) NULL ,
  vl_custo_prod3 DECIMAL(12,2) NULL ,
  vl_custo_prod4 DECIMAL(12,2) NULL ,
  vl_custo_prod5 DECIMAL(12,2) NULL ,
  CONSTRAINT pk_propitem PRIMARY KEY (id_propitem),
  CONSTRAINT fk_propitem_proposta FOREIGN KEY (id_proposta) REFERENCES gestao.proposta (id_proposta),
  CONSTRAINT key_propitem_item UNIQUE (id_proposta, item )
);
--RUN--

--SEQ 0281-- 30/03/2012 19:20 JCS
CREATE INDEX key_produto_cod_subgrupo ON gestao.produto (id_empresa, cod_subgrupo);

ALTER TABLE gestao.estruturad DROP CONSTRAINT key_estruturad_produto;
ALTER TABLE gestao.estruturad ADD CONSTRAINT key_estruturad_produto UNIQUE(id_produto, id_estrutura, med_compr, med_larg, med_espe, grupo, operacao);
--RUN--

--SEQ 0282-- 13/04/2012 14:00 JCS
ALTER TABLE gestao.pauta ADD COLUMN bc_comissao character(20);
ALTER TABLE gestao.pauxpro ADD COLUMN bc_comissao character(20);
--RUN--

--SEQ 0283-- 16/04/2012 10:10 JCS
ALTER TABLE gestao.bccomissao ADD COLUMN dt_atual date NOT NULL DEFAULT now();
--RUN--

--SEQ 0284-- 17/04/2012 16:50 JCS
ALTER TABLE gestao.grupo ALTER COLUMN produto_variacao SET DEFAULT 0;
UPDATE gestao.grupo SET produto_variacao=0 WHERE produto_variacao IS NULL;
ALTER TABLE gestao.grupo ALTER COLUMN produto_variacao SET NOT NULL;
--RUN--

--SEQ 0285-- 19/04/2012 16:10 JCS
ALTER TABLE gestao.produto ADD COLUMN largura integer;
ALTER TABLE gestao.produto ADD COLUMN altura integer;
ALTER TABLE gestao.produto ADD COLUMN id_acabamento integer;
ALTER TABLE gestao.produto ADD COLUMN id_vidro integer;
ALTER TABLE gestao.produto ADD COLUMN id_vista integer;
ALTER TABLE gestao.produto ADD COLUMN l1 integer;
ALTER TABLE gestao.produto ADD COLUMN l2 integer;
ALTER TABLE gestao.produto ADD COLUMN l3 integer;
ALTER TABLE gestao.produto ADD COLUMN l4 integer;
ALTER TABLE gestao.produto ADD COLUMN h1 integer;
ALTER TABLE gestao.produto ADD COLUMN h2 integer;
ALTER TABLE gestao.produto ADD COLUMN h3 integer;
ALTER TABLE gestao.produto ADD COLUMN h4 integer;
--RUN--

--SEQ 0286-- 27/04/2012 15:40 JCS
CREATE TABLE gestao.spoolecf
(
  id_spoolecf serial NOT NULL,
  situacao character(1) NOT NULL DEFAULT 'L',
  id_docto varchar(20) NOT NULL,
  titulo varchar(30) NOT NULL,
  linha varchar(60) NOT NULL,
  CONSTRAINT pk_spoolecf PRIMARY KEY (id_spoolecf )
);

CREATE INDEX key_spoolecf_situacao ON gestao.spoolecf (situacao,id_docto);
--RUN--

--SEQ 0287-- 08/05/2012 11:30 JCS
ALTER TABLE gestao.cotacaof ALTER vl_unitario TYPE numeric(15,4);
--RUN--

--SEQ 0288-- 24/05/2012 17:30 JCS
ALTER TABLE gestao.proposta ADD COLUMN tx_margem_perfil smallint;
ALTER TABLE gestao.proposta ADD COLUMN cliente_contr_icms smallint;

ALTER TABLE gestao.produto ADD COLUMN comprimento numeric(12,2);
ALTER TABLE gestao.produto ADD COLUMN peso_metro numeric(12,3);
--RUN--

--SEQ 0289-- 01/06/2012 09:20 JCS
ALTER TABLE gestao.portaria ADD COLUMN ci character(20);
--RUN--

--SEQ 0290-- 06/06/2012 17:00 JCS
CREATE TABLE gestao.coleta
(
  id_coleta serial NOT NULL,
  id_empresa integer NOT NULL,
  numero INTEGER NOT NULL,
  ordem INTEGER NOT NULL,
  data_hora TIMESTAMP NOT NULL,
  codigo varchar(30) NOT NULL,
  qtdade NUMERIC (15,3) NOT NULL,
  id_produto integer NULL,
  id_estlocal integer NULL,
  valor numeric(15,2),
  CONSTRAINT pk_coleta PRIMARY KEY (id_coleta ),
  CONSTRAINT fk_coleta_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa) ,
  CONSTRAINT key_coleta_numero UNIQUE (id_empresa , numero, ordem )
);
--RUN--

--SEQ 0291-- 13/06/2012 13:40 JCS
ALTER TABLE gestao.planorefsped DROP CONSTRAINT key_planorefsped_codigo;
ALTER TABLE gestao.planorefsped ADD CONSTRAINT key_planorefsped_codigo UNIQUE(codigo, dt1 );
UPDATE gestao.planorefsped SET dt1='2007-12-28' WHERE dt1='1900-01-01';
--RUN--

--SEQ 0292-- 14/06/2012 10:55 JCS
--APAGA PRA PODER ALTERAR O CAMPO ABAIXO
DROP VIEW sig.vcc_adiant;
--RUN--IGNORE ERRO

--SEQ 0293-- 14/06/2012 10:55 JCS
ALTER TABLE gestao.ctp ALTER COLUMN numero TYPE character(12);
--RUN--

--SEQ 0294-- 22/06/2012 09:10 JCS
ALTER TABLE gestao.produto ADD COLUMN nat_receita character(3);
ALTER TABLE gestao.produto ADD COLUMN cfop_ecf int;
--RUN--

--SEQ 0295-- 27/06/2012 09:10 ALAN
ALTER TABLE gestao.produto ADD COLUMN certsanit_obs int;
--RUN--

--SEQ 0296-- 13/07/2012 09:22 WILLIAN
ALTER TABLE gestao.pauxpro ADD COLUMN markup_marketing numeric(7,2)  DEFAULT 0;
--RUN--

--SEQ 0297-- 01/08/2012 09:00 ALAN
ALTER TABLE gestao.req ADD COLUMN numero_doc character(10);
ALTER TABLE gestao.req ADD CONSTRAINT key_req_numero_doc UNIQUE(id_empresa, numero_doc);
ALTER TABLE gestao.entradas ADD COLUMN id_veiculo int;
ALTER TABLE gestao.entradas ADD COLUMN km_veiculo numeric(10);
ALTER TABLE gestao.entradas ADD COLUMN cod_manutencao int;
--RUN--

--SEQ 0298-- 08/08/2012 10:30 ALAN
ALTER TABLE gestao.moddocfiscal ADD COLUMN especie character(5);
--RUN--

--SEQ 0299-- 15/08/2012 22:23 JCS
ALTER TABLE gestao.sticms ADD COLUMN inc_desc_bc_icmsst smallint;
--RUN--

--SEQ 0300-- 21/08/2012 14:00 JCS
ALTER TABLE gestao.cstpadrao ADD COLUMN id_pauta integer;
--RUN--

--SEQ 0301-- 21/08/2012 17:06 JCS
ALTER TABLE gestao.cstpadrao ADD COLUMN valor_outros_fora numeric(12,6);
ALTER TABLE gestao.cstpadrao ADD COLUMN valor_fora numeric(12,6);
--RUN--

--SEQ 0302-- 28/08/2012 17:50 JCS
ALTER TABLE gestao.carga ALTER COLUMN desti TYPE character(100);
--RUN--

--SEQ 0303-- 30/08/2012 10:56 JCS
ALTER TABLE gestao.produto ADD COLUMN prod_lei12546 smallint NOT NULL DEFAULT 0;
ALTER TABLE gestao.produto ADD COLUMN cod_ativ_lei12546 character(8);
--RUN--

--SEQ 0304-- 05/09/2012 18:45 JCS
ALTER TABLE gestao.producao ADD COLUMN item_op integer;
ALTER TABLE gestao.producao ADD COLUMN id_estlocal integer;
ALTER TABLE gestao.sscc ADD COLUMN operador character(12);
--RUN--

--SEQ 0305-- 06/09/2012 14:04 Willian
ALTER TABLE gestao.produto ALTER COLUMN vl_icmsst_cobrant type numeric(12,4);
--RUN--

--SEQ 0306-- 18/09/2012 15:30 JCS
ALTER TABLE gestao.grupo ADD COLUMN id_ctbconta_ept integer;
ALTER TABLE gestao.grupo ADD COLUMN id_ctbconta_dtp integer;
--RUN--

--SEQ 0307-- 19/09/2012 18:00 JCS
ALTER TABLE gestao.sarcfg ADD COLUMN tp_estoque character(1);
ALTER TABLE gestao.sarcfg ADD COLUMN bloq_relatorios character(1);
--RUN--

--SEQ 0308-- 03/10/2012 16:45 JCS
ALTER TABLE gestao.produto  ADD COLUMN obs_preco character(200);
--RUN--

--SEQ 0309-- 05/10/2012 17:20 JCS
DELETE FROM gestao.sped1360 WHERE id_sped1360 IN (
SELECT min(id_sped1360) FROM gestao.sped1360 GROUP BY id_sped1350, num_lacre HAVING COUNT(*)>1);

ALTER TABLE gestao.sped1360 ADD CONSTRAINT key_sped1360_num_lacre UNIQUE (id_sped1350, num_lacre);
--RUN--

--SEQ 0310-- 09/10/2012 09:06 WILLIAN
ALTER TABLE gestao.gnre ADD COLUMN razao_emitente character(70);
ALTER TABLE gestao.gnre ADD COLUMN ender_emitente character(60);
ALTER TABLE gestao.gnre ADD COLUMN inscricao_emitente character(18);
ALTER TABLE gestao.gnre ADD COLUMN uf_emitente character(2);
ALTER TABLE gestao.gnre ADD COLUMN cod_municipio integer;
ALTER TABLE gestao.gnre ADD COLUMN status character(1);
--RUN--

--SEQ 0311-- 10/10/2012 17:50 JCS
ALTER TABLE gestao.estlocal ADD COLUMN status smallint;
--RUN--

--SEQ 0312-- 15/10/2012 17:00 ALAN
ALTER TABLE gestao.produto ADD COLUMN enviar_web smallint;
--RUN--

--SEQ 0313-- 16/10/2012 15:19 WILLIAN
ALTER TABLE gestao.gnre ADD COLUMN det_receita integer;
ALTER TABLE gestao.gnre ADD COLUMN ie_emitente character(18);
ALTER TABLE gestao.gnre ADD COLUMN tipo_inscr_destinatario character(1);
ALTER TABLE gestao.gnre ADD COLUMN ie_destinatario character(18);
ALTER TABLE gestao.gnre ADD COLUMN razao_destinatario character(70);
ALTER TABLE gestao.gnre ADD COLUMN cod_municipio_dest integer;
--RUN--

--SEQ 0314-- 18/10/2012 16:24 WILLIAN
ALTER TABLE gestao.gnre ADD COLUMN inscricao_destinatario character(18);
ALTER TABLE gestao.gnre ADD COLUMN tipo_valor character(1);
ALTER TABLE gestao.gnre ADD COLUMN extra_cod1 integer;
ALTER TABLE gestao.gnre ADD COLUMN extra_tp1 character(1);
ALTER TABLE gestao.gnre ADD COLUMN extra_vl1 character(70);
ALTER TABLE gestao.gnre ADD COLUMN extra_cod2 integer;
ALTER TABLE gestao.gnre ADD COLUMN extra_tp2 character(1);
ALTER TABLE gestao.gnre ADD COLUMN extra_vl2 character(70);
ALTER TABLE gestao.gnre ADD COLUMN extra_cod3 integer;
ALTER TABLE gestao.gnre ADD COLUMN extra_tp3 character(1);
ALTER TABLE gestao.gnre ADD COLUMN extra_vl3 character(70);
--RUN--

--SEQ 0315-- 23/10/2012 17:50 JCS
ALTER TABLE gestao.produto   ADD COLUMN liga character(10);
ALTER TABLE gestao.produto   ADD COLUMN tempera character(10);
ALTER TABLE gestao.produto   ADD COLUMN dimensoes character(40);
ALTER TABLE gestao.producao   ADD COLUMN qtd_pecas int;
--RUN--

--SEQ 0316-- 23/10/2012 15:24 WILLIAN
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('Empresa_GNRE-1' ,'Gnre_Online' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-BA-Receita-100099' ,'Det_receita' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-BA-Receita-100099' ,'Info_dest' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-BA-Receita-100099' ,'Vl_principal' ,'1');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-BA-Receita-100099' ,'Referencia' ,'1');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-BA-Receita-100099' ,'Periodo' ,'1');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-BA-Receita-100099' ,'Campo_Extra' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-BA-Receita-100099' ,'Produto' ,'9999');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-RS-Receita-100099' ,'Det_receita' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-RS-Receita-100099' ,'Info_dest' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-RS-Receita-100099' ,'Vl_principal' ,'1');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-RS-Receita-100099' ,'Referencia' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-RS-Receita-100099' ,'Periodo' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-RS-Receita-100099' ,'Campo_Extra' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-RS-Receita-100099' ,'Produto' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-GO-Receita-100099' ,'Det_receita' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-GO-Receita-100099' ,'Info_dest' ,'1');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-GO-Receita-100099' ,'Vl_principal' ,'1');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-GO-Receita-100099' ,'Referencia' ,'1');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-GO-Receita-100099' ,'Periodo' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-GO-Receita-100099' ,'Campo_Extra' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-GO-Receita-100099' ,'Produto' ,'9999');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-MG-Receita-100099' ,'Det_receita' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-MG-Receita-100099' ,'Info_dest' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-MG-Receita-100099' ,'Vl_principal' ,'1');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-MG-Receita-100099' ,'Referencia' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-MG-Receita-100099' ,'Periodo' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-MG-Receita-100099' ,'Campo_Extra' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-MG-Receita-100099' ,'Produto' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-SC-Receita-100099' ,'Det_receita' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-SC-Receita-100099' ,'Info_dest' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-SC-Receita-100099' ,'Vl_principal' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-SC-Receita-100099' ,'Referencia' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-SC-Receita-100099' ,'Periodo' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-SC-Receita-100099' ,'Campo_Extra' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-SC-Receita-100099' ,'Produto' ,'9999');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-SE-Receita-100099' ,'Det_receita' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-SE-Receita-100099' ,'Info_dest' ,'1');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-SE-Receita-100099' ,'Vl_principal' ,'1');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-SE-Receita-100099' ,'Referencia' ,'1');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-SE-Receita-100099' ,'Periodo' ,'1');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-SE-Receita-100099' ,'Campo_Extra' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-SE-Receita-100099' ,'Produto' ,'9999');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-RS-Receita-100080' ,'Det_receita' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-RS-Receita-100080' ,'Info_dest' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-RS-Receita-100080' ,'Vl_principal' ,'1');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-RS-Receita-100080' ,'Referencia' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-RS-Receita-100080' ,'Periodo' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-RS-Receita-100080' ,'Campo_Extra' ,'0');
INSERT INTO gestao.registro (chave,nome,valor) VALUES ('GNRE-RS-Receita-100080' ,'Produto' ,'0');
--RUN--IGNORE ERRO

--SEQ 0317-- 25/10/2012 18:00 JCS
ALTER TABLE gestao.itemdocto ADD COLUMN cod_ctbcusto integer;
--RUN--IGNORE ERRO

--SEQ 0318-- 25/10/2012 18:00 JCS
ALTER TABLE gestao.itemdocto ADD COLUMN cod_tot_ecf character(7);
--RUN--

--SEQ 0319-- 29/10/2012 09:00 WILLIAN
ALTER TABLE gestao.gnre ALTER COLUMN intervalo_ref DROP NOT NULL;
ALTER TABLE gestao.gnre ALTER COLUMN mes_ano_ref DROP NOT NULL;
--RUN--

--SEQ 0320-- 31/10/2012 08:21 JCS
ALTER TABLE gestao.estlocal ADD COLUMN imagem_logo character(100);
ALTER TABLE gestao.reqd     ADD COLUMN num_rem_estterceiro int;
--RUN--

--SEQ 0321-- 01/11/2012 09:00 WILLIAN
ALTER TABLE gestao.gnre ADD COLUMN ender_destinatario character(70);
ALTER TABLE gestao.gnre ALTER COLUMN extra_vl1 type character(100);
ALTER TABLE gestao.gnre ALTER COLUMN extra_vl2 type character(100);
ALTER TABLE gestao.gnre ALTER COLUMN extra_vl3 type character(100);
--RUN--

--SEQ 0322-- 06/11/2012 18:39 WILLIAN
ALTER TABLE gestao.gnre ADD COLUMN cep_emitente int;
ALTER TABLE gestao.gnre ADD COLUMN tel_emitente numeric(10);
--RUN--

--SEQ 0323-- 09/11/2012 12:10 JCS
ALTER TABLE gestao.reqd ADD COLUMN qtd_dev_estterceiro numeric(15,3);
ALTER TABLE gestao.reqd ADD COLUMN sit_estterceiro character(1);
--RUN--

--SEQ 0324-- 16/11/2012 15:30 ALAN
ALTER TABLE gestao.produto ADD COLUMN site_produto character(100);
ALTER TABLE gestao.produto ADD COLUMN anotacao_produto character(1000);
--RUN--

--SEQ 0325-- 22/11/2012 11:15 JCS
ALTER TABLE gestao.sticms DROP CONSTRAINT chk_sticms_modal_bc_icmsst;
ALTER TABLE gestao.sticms ADD CONSTRAINT chk_sticms_modal_bc_icmsst CHECK (modal_bc_icmsst IN (' ','0','1','2','3','4','5'));
--RUN--

--SEQ 0326-- 22/11/2012 22:11 JCS
ALTER TABLE gestao.nfdet ADD COLUMN cod_prod_anp integer;
ALTER TABLE gestao.nfdet ADD COLUMN codif character varying(21);
ALTER TABLE gestao.nfdet ADD COLUMN qtd_temp_amb numeric(15, 4);
ALTER TABLE gestao.nfdet ADD COLUMN uf_consumo character(2);
ALTER TABLE gestao.nfdet ADD COLUMN bc_qtd_cide numeric(15, 4);
ALTER TABLE gestao.nfdet ADD COLUMN aliq_vl_cide numeric(15, 4);
ALTER TABLE gestao.nfdet ADD COLUMN vl_cide numeric(15, 2);
ALTER TABLE gestao.nfdet ADD CONSTRAINT fk_nfdet_estado FOREIGN KEY (uf_consumo)  REFERENCES gestao.estado (sigla);
--RUN--

--SEQ 0327-- 29/11/2012 22:11 JCS
ALTER TABLE gestao.sscc ADD COLUMN qtd_volume numeric(15, 3);
CREATE INDEX key_sscc_origem ON gestao.sscc (id_empresa, prefixo_origem, id_origem);
--RUN--

--SEQ 0328-- 12/12/2012 14:00 ALAN
ALTER TABLE gestao.cstpadrao ADD COLUMN taxa_icmsst numeric(7,2);
--RUN--

--SEQ 0329-- 18/12/2012 15:00 POR ALAN
ALTER TABLE gestao.entradas DISABLE TRIGGER ajusta_valor_ctpagrupado;
ALTER TABLE gestao.entradas DISABLE TRIGGER atual_numero_entrada;
ALTER TABLE gestao.entradas DISABLE TRIGGER bloqmovto_entradas;

INSERT INTO gestao.moddocfiscal(codigo, descricao, cod_exportacao, especie) VALUES ('','Sem modelo','','');

update gestao.entradas set modelo='' where modelo is null;
ALTER TABLE gestao.entradas ALTER COLUMN modelo SET NOT NULL;

/*
USAR ESTA ROTINA PARA DETECTAR PROBLEMA DE CHAVE(key_entradas_numero_forne) DUPLICADA NAS ENTRADAS.
create temp view temp1 as select count(id_entrada),numero, espec, modelo, serie, subse, id_forne, id_empresa from gestao.entradas group by numero, espec, modelo, serie, subse, id_forne, id_empresa;
select * from temp1 where count>1 order by numero;
drop view temp1;
*/

ALTER TABLE gestao.entradas ENABLE TRIGGER ajusta_valor_ctpagrupado;
ALTER TABLE gestao.entradas ENABLE TRIGGER atual_numero_entrada;
ALTER TABLE gestao.entradas ENABLE TRIGGER bloqmovto_entradas;
--RUN--

--SEQ 0330-- 03/01/2013 08:50 JCS
ALTER TABLE gestao.estlocal ADD COLUMN id_corr_prop integer;
--RUN--

--SEQ 0331-- 15/01/2013 15:22 JCS
ALTER TABLE gestao.estlocal ADD COLUMN id_corr_poder integer;
--RUN--

--SEQ 0332-- 17/01/2013 11:46 JCS
ALTER TABLE gestao.producao ADD COLUMN comprimento integer;
ALTER TABLE gestao.producao ADD COLUMN tara numeric(15, 3);
ALTER TABLE gestao.producao ADD COLUMN peso_bruto numeric(15, 3);
--RUN--

--SEQ 0333-- 23/01/2013 14:11 JCS
ALTER TABLE gestao.nfdet ADD COLUMN num_rem_terc integer;
--RUN--

--SEQ 0334-- 29/01/2013 18:10 JCS
ALTER TABLE gestao.nfdet  ADD COLUMN cod_conta_cred integer;
--RUN--

--SEQ 0335-- 04/02/2013 15:25 JCS
ALTER TABLE gestao.st ADD COLUMN uf_emitente character(2);
UPDATE gestao.st SET uf_emitente=(SELECT estado FROM gestao.empresa WHERE id_empresa=gestao.st.id_empresa);
ALTER TABLE gestao.st ALTER COLUMN uf_emitente SET NOT NULL;
ALTER TABLE gestao.st ADD CONSTRAINT fk_st_estado FOREIGN KEY (uf_emitente) REFERENCES gestao.estado (sigla);
--RUN--

--SEQ 0336-- 06/02/2013 15:00 JCS
ALTER TABLE gestao.estterceiro ADD COLUMN conta_ordem character(1);
--RUN--

--SEQ 0337-- 07/02/2013 15:30 JCS
ALTER TABLE gestao.carga ADD COLUMN tp_carga character(2);
--RUN--

--SEQ 0338-- 13/02/2013 17:30 ALAN
ALTER TABLE gestao.nfdet DROP CONSTRAINT chk_nfdet_origem;
ALTER TABLE gestao.nfdet ADD CONSTRAINT chk_nfdet_origem CHECK (origem IN (0,1,2,3,4,5,6,7));
--RUN--

--SEQ 0339-- 14/02/2013 13:30 ALAN
ALTER TABLE gestao.lanctos ALTER numero TYPE character(15);
--RUN--

--SEQ 0340-- 19/02/2013 15:20 JCS
ALTER TABLE gestao.itemdocto ADD COLUMN cod_contrib character(2);
ALTER TABLE gestao.produto ADD COLUMN cod_contrib character(2);
--RUN--

--SEQ 0342-- 28/02/2013 17:33 JCS
ALTER TABLE gestao.produto ADD COLUMN nao_custo_entrada smallint;
--RUN--

--SEQ 0343-- 01/03/2013 08:30 JCS
ALTER TABLE gestao.st RENAME credito_icms_simples TO desc_icms_bc_pis_cofins;
UPDATE gestao.st SET desc_icms_bc_pis_cofins=0;
--RUN--

--SEQ 0344-- 08/03/2013 14:15 ALAN
ALTER TABLE gestao.empresa ADD COLUMN limite_cxa_dias integer;
--RUN--

--SEQ 0345-- 18/03/2013 18:20 JCS
CREATE OR REPLACE VIEW gestao.saldo_dev_estterceiro AS
  SELECT CASE WHEN a.id_empresa>9000 THEN a.id_empresa-9000 ELSE a.id_empresa END as id_empresa,d.id_correntista,c.id_produto,b.data,a.id_produto as id_insumo,SUM(a.qtdade-qtd_dev_estterceiro) AS sld_estterceiro
    FROM gestao.reqd A 
    LEFT OUTER JOIN gestao.req B ON (a.id_req=b.id_req)
    LEFT OUTER JOIN gestao.op C ON (c.numero=b.numero_op AND c.id_empresa=b.id_empresa)
    LEFT OUTER JOIN gestao.estterceiro D ON (a.num_rem_estterceiro = d.num_remessa AND d.tipo='R' AND d.id_empresa=(CASE WHEN a.id_empresa>9000 THEN a.id_empresa-9000 ELSE a.id_empresa END))
    WHERE a.sit_estterceiro='S' 
    GROUP BY c.id_produto,B.data,a.id_produto,a.id_empresa,d.id_correntista;

CREATE OR REPLACE VIEW gestao.indice_consumo_estterceiro AS
  SELECT id_empresa,id_correntista,id_produto,data,id_insumo,sld_estterceiro,(sld_estterceiro/(SELECT SUM(sld_estterceiro) FROM gestao.saldo_dev_estterceiro B WHERE a.id_empresa=b.id_empresa AND a.id_produto=b.id_produto AND a.data=b.data AND a.id_correntista=b.id_correntista)) as indice
    FROM gestao.saldo_dev_estterceiro A;
--RUN--

--SEQ 0346-- 19/03/2013 11:30 ALAN
ALTER TABLE gestao.sarcfg ADD COLUMN bloq_volumes character(1);
--RUN--

--SEQ 0347-- 21/03/2013 08:15 ALAN
ALTER TABLE gestao.empresa RENAME limite_cxa_dias TO CAMPOSEMUSO;
--RUN--

--SEQ 0348-- 21/03/2013 08:15 ALAN
ALTER TABLE gestao.produto ADD COLUMN familia varchar(30);
--RUN--

--SEQ 0349-- 26/03/2013 17:10 JCS
ALTER TABLE gestao.nfxml DROP CONSTRAINT chk_nfxml_tipo;
ALTER TABLE gestao.nfxml ADD  CONSTRAINT chk_nfxml_tipo CHECK (tipo IN ('A','SC','C','I','D','E','CC','EV'));
--RUN--

--SEQ 0350-- 02/04/2013 16:10 JCS
CREATE INDEX key_estmovto_data2 ON gestao.estmovto
  (id_empresa,id_estlocal,id_produto,variante,validade,data);
--RUN--

--SEQ 0351-- 09/04/2013 16:05 ALAN
CREATE INDEX key_nftributo_id_nf ON gestao.nftributo(id_nf);
--RUN--

--SEQ 0352-- 15/04/2013 10:30 ALAN
ALTER TABLE gestao.producao ADD COLUMN cod_maq integer;
--RUN--

--SEQ 0353-- 17/04/2013 11:00 JCS
ALTER TABLE gestao.produto ADD COLUMN id_erp_estoque integer;
--RUN--

--SEQ 0354-- 18/04/2013 11:11 JCS
ALTER TABLE gestao.produto     ADD COLUMN tx_perda_proc numeric(5,2);
ALTER TABLE gestao.estterceiro ADD COLUMN tx_perda_proc numeric(5,2);
ALTER TABLE gestao.estterceiro ADD COLUMN qtd_perda_proc numeric(15,3);
--RUN--

--SEQ 0355-- 26/04/2013 16:00 JCS
ALTER TABLE gestao.estterceiro DISABLE TRIGGER calc_qtd_dev_estterceiro;
ALTER TABLE gestao.estterceiro DISABLE TRIGGER estterceiro_calc_saldo;

UPDATE gestao.estterceiro SET tamanho=0 WHERE tamanho IS NULL;
ALTER TABLE gestao.estterceiro ALTER COLUMN tamanho SET DEFAULT 0;
ALTER TABLE gestao.estterceiro ALTER COLUMN tamanho SET NOT NULL;

ALTER TABLE gestao.estterceiro ENABLE TRIGGER calc_qtd_dev_estterceiro;
ALTER TABLE gestao.estterceiro ENABLE TRIGGER estterceiro_calc_saldo;
--RUN--

--SEQ 0356-- 30/04/2013 10:15 JCS
ALTER TABLE gestao.nf ADD COLUMN vl_tot_trib numeric(15,2);

ALTER TABLE gestao.nfdet ADD COLUMN vl_parc_imp numeric(15,2);
ALTER TABLE gestao.nfdet ADD COLUMN num_fci character(36);
ALTER TABLE gestao.nfdet ADD COLUMN tx_cont_imp numeric(6,2);
ALTER TABLE gestao.nfdet ADD COLUMN vl_imp numeric(15,2);
ALTER TABLE gestao.nfdet ADD COLUMN vl_tot_trib numeric(15,2);
--RUN--

--SEQ 0357-- 30/04/2013 11:25 JCS
ALTER TABLE gestao.produto ADD COLUMN vl_parc_imp numeric(15,2);
ALTER TABLE gestao.produto ADD COLUMN num_fci character(36);
ALTER TABLE gestao.produto ADD COLUMN tx_cont_imp numeric(6,2);
ALTER TABLE gestao.produto ADD COLUMN vl_imp numeric(15,2);
--RUN--

--SEQ 0358-- 02/05/2013 17:00 JCS
CREATE OR REPLACE VIEW gestao.vperda_proc AS

SELECT id_empresa,data,tipo,id_correntista,cod_produto,docto,num_remessa,qtdade,tx_perda_proc,qtd_perda_proc
  FROM 
  gestao.estterceiro
  WHERE tipo='R' AND indic_prop=2 AND qtd_perda_proc>0

UNION ALL

SELECT a.id_empresa,a.data,a.tipo,a.id_correntista,a.cod_produto,a.docto,a.num_remessa,-a.qtdade,a.tx_perda_proc,-a.qtd_perda_proc
  FROM 
  gestao.estterceiro A
  LEFT OUTER JOIN gestao.estterceiro B ON (a.num_remessa=b.num_remessa AND a.id_empresa=b.id_empresa AND b.tipo='R')
  WHERE a.tipo='D' AND b.indic_prop=2 AND b.qtd_perda_proc>0

ORDER BY num_remessa,data,tipo DESC,docto;
--RUN--

--SEQ 0359-- 08/05/2013 18:27 JCS
ALTER TABLE gestao.st DROP CONSTRAINT chk_st_cstipi;
ALTER TABLE gestao.st ADD CONSTRAINT chk_st_cstipi CHECK (cst_ipi IN ('00','01','02','03','04','05','49','50','51','52','53','54','55','99','NA'));
--RUN--

--SEQ 0360-- 20/05/2013 08:25 ALAN
ALTER TABLE gestao.grupo ADD COLUMN ativo smallint;
UPDATE gestao.grupo SET ativo=1;
ALTER TABLE gestao.grupo ALTER COLUMN ativo SET NOT NULL;
--RUN--

--SEQ 0361-- 22/05/2013 15:00 ALAN
ALTER TABLE gestao.nfdet DROP CONSTRAINT chk_nfdet_cstipi;
ALTER TABLE gestao.nfdet ADD CONSTRAINT chk_nfdet_cstipi CHECK (cst_ipi IN ('00','01','02','03','04','05','49','50','51','52','53','54','55','99','NA'));
--RUN--

--SEQ 0362-- 27/05/2013 18:00 JCS
ALTER TABLE gestao.vendedor ADD COLUMN permitir_flex smallint;
--RUN--

--SEQ 0363-- 29/05/2013 13:50 JCS
CREATE TABLE gestao.flex
(
   id_flex serial, 
   id_empresa integer NOT NULL, 
   id_vendedor integer NOT NULL, 
   saldo_flex numeric(15,2) NOT NULL, 
   CONSTRAINT pk_flex PRIMARY KEY (id_flex), 
   CONSTRAINT fk_flex_empresa  FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
   CONSTRAINT fk_flex_vendedor FOREIGN KEY (id_vendedor) REFERENCES gestao.vendedor (id_vendedor),
   CONSTRAINT key_flex_vendedor UNIQUE (id_empresa,id_vendedor)
);
--RUN--

--SEQ 0364-- 06/06/2013 14:30 JCS
ALTER TABLE gestao.proposta ADD COLUMN id_tabdesp integer;

ALTER TABLE gestao.propitem ADD COLUMN tx_perda_ins1 numeric(6,2);
ALTER TABLE gestao.propitem ADD COLUMN tx_perda_ins2 numeric(6,2);
ALTER TABLE gestao.propitem ADD COLUMN tx_perda_ins3 numeric(6,2);
ALTER TABLE gestao.propitem ADD COLUMN tx_perda_ins4 numeric(6,2);
ALTER TABLE gestao.propitem ADD COLUMN tx_perda_ins5 numeric(6,2);

ALTER TABLE gestao.cstpadrao ADD COLUMN cst_insumo1 numeric(15,4);
ALTER TABLE gestao.cstpadrao ADD COLUMN cst_insumo2 numeric(15,4);
ALTER TABLE gestao.cstpadrao ADD COLUMN cst_insumo3 numeric(15,4);
ALTER TABLE gestao.cstpadrao ADD COLUMN cst_insumo4 numeric(15,4);
ALTER TABLE gestao.cstpadrao ADD COLUMN cst_insumo5 numeric(15,4);
--RUN--

--SEQ 0365-- 08/06/2013 10:33 JCS
CREATE TABLE gestao.ibptax
(
   id_ibptax serial, 
   codigo character(10) NOT NULL, 
   ex character(2) NOT NULL, 
   tabela smallint NOT NULL, 
   aliqnac numeric(7,2) NOT NULL, 
   aliqimp numeric(7,2) NOT NULL,
   versao character(10) NOT NULL 
); 

ALTER TABLE gestao.ibptax ADD CONSTRAINT pk_ibptax PRIMARY KEY (id_ibptax);
ALTER TABLE gestao.ibptax ADD CONSTRAINT key_ibptax_codigo UNIQUE (codigo, ex, tabela);
--RUN--

--SEQ 0366-- 11/06/2013 14:40 JCS
ALTER TABLE gestao.ibptax  ADD COLUMN descricao char(255);
--RUN--

--SEQ 0367-- 19/06/2013 16:06 WILLIAN
ALTER TABLE gestao.cfopxtes ADD COLUMN lanca_cst60_icms smallint;
--RUN--

--SEQ 0368-- 20/06/2013 15:35 JCS
CREATE INDEX key_producao_data ON gestao.producao (id_empresa, data);
CREATE INDEX key_producao_num_op ON gestao.producao (id_empresa, num_op, item_op);
--RUN--

--SEQ 0369-- 01/07/2013 10:00 ALAN
ALTER TABLE gestao.propitem ADD COLUMN obs VARCHAR(256);
ALTER TABLE gestao.propitem ADD COLUMN tx_ajuste_custo DECIMAL(7,2);  
--RUN--

--SEQ 0370-- 09/07/2013 16:10 HENRIQUE
ALTER TABLE gestao.st ALTER COLUMN agrupamento TYPE CHARACTER(30)
--RUN--

--SEQ 0371-- 10/07/2013 08:55 JCS
CREATE TABLE gestao.spedf150 (
  id_spedf150 SERIAL NOT NULL ,
  id_empresa INT  NOT NULL ,
  data DATE NOT NULL ,
  nat_bc_cred CHAR(2) NOT NULL ,
  vl_tot_est DECIMAL(15,2) NOT NULL ,
  est_imp DECIMAL(15,2) NOT NULL ,
  vl_bc_est DECIMAL(15,2) NOT NULL ,
  vl_bc_men_est DECIMAL(15,2) NOT NULL ,
  cst_pis CHAR(2) NOT NULL ,
  aliq_pis DECIMAL(7,2) NOT NULL ,
  vl_cred_pis DECIMAL(15,2) NOT NULL ,
  cst_cofins CHAR(2) NOT NULL ,
  aliq_cofins DECIMAL(7,2) NOT NULL ,
  vl_cred_cofins DECIMAL(15,2) NOT NULL ,
  desc_est CHAR(100) NOT NULL ,
  cod_conta INT NOT NULL  
);

ALTER TABLE gestao.spedf150 ADD CONSTRAINT pk_spedf150 PRIMARY KEY(id_spedf150);
ALTER TABLE gestao.spedf150 ADD CONSTRAINT fk_spedf150_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa);
CREATE INDEX key_spedf150_empresa ON gestao.spedf150 (id_empresa,data);
--RUN--

--SEQ 0372-- 16/07/2013 16:05 WILLIAN
ALTER TABLE gestao.estrutura ADD COLUMN atualiza_cr smallint;
--RUN--

--SEQ 0373-- 18/07/2013 09:45 ALAN
CREATE TABLE gestao.crmoco
(
  id_crmoco SERIAL,
  id_empresa integer NOT NULL,
  id_ctr integer NULL,
  id_corrent integer NOT NULL,
  data date NOT NULL,
  hora INT NOT NULL,
  usuario character(12) NOT NULL,
  anotacao varchar(1024) NOT NULL,
  contato character(30) NOT NULL,
  situacao character(1) NOT NULL,
  gera_saldo character(1) NOT NULL,
  valor DECIMAL(12,2) NOT NULL,
  CONSTRAINT pk_crmoco PRIMARY KEY (id_crmoco),
  CONSTRAINT fk_crmoco_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT chk_crmoco_situacao CHECK (situacao IN ('A','F')),
  CONSTRAINT chk_crmoco_gera_saldo CHECK (gera_saldo IN ('N','D','C'))
);

CREATE OR REPLACE VIEW gestao.v_saldo_crmoco AS
SELECT a.id_empresa,a.id_corrent , ' '::text as razao, max(a.data) as ultmovto, sum(CASE WHEN a.gera_saldo='C' THEN a.valor WHEN a.gera_saldo='D' THEN -a.valor ELSE 0 END) as saldo
  FROM gestao.crmoco A
  GROUP BY a.id_empresa,a.id_corrent;
--RUN--

--SEQ 0374-- 19/07/2013 15:05 ALAN
ALTER TABLE gestao.empresa ADD COLUMN bloq_estoque_neg smallint;
update gestao.empresa set bloq_estoque_neg=2;
--RUN--

--SEQ 0375-- 23/07/2013 15:05 ALAN
ALTER TABLE gestao.estlocal ADD COLUMN pref_cod_inv character(3);
--RUN--

--SEQ 0376-- 29/07/2013 09:30 WILLIAN
ALTER TABLE gestao.ctc ADD COLUMN cod_aleatorio integer;
ALTER TABLE gestao.ctc ADD COLUMN chave_acesso character(44);
ALTER TABLE gestao.ctc ADD COLUMN natop character(60);
ALTER TABLE gestao.ctc ADD COLUMN hora_emi time;
ALTER TABLE gestao.ctc ADD COLUMN tpimp smallint;
ALTER TABLE gestao.ctc ADD COLUMN tpemis smallint;
ALTER TABLE gestao.ctc ADD COLUMN tpamb smallint;
ALTER TABLE gestao.ctc ADD COLUMN tpcte smallint;
ALTER TABLE gestao.ctc ADD COLUMN tpserv smallint;
ALTER TABLE gestao.ctc ADD COLUMN id_mun_emissao integer;
ALTER TABLE gestao.ctc ADD COLUMN id_mun_inicio integer;
ALTER TABLE gestao.ctc ADD COLUMN id_mun_fim integer;
ALTER TABLE gestao.ctc ADD COLUMN rec_retira character(1);
ALTER TABLE gestao.ctc ADD COLUMN det_retira character(160);
ALTER TABLE gestao.ctc ADD COLUMN tomador character(1);
ALTER TABLE gestao.ctc ADD COLUMN tx_red_bc_icms numeric(6,2);
ALTER TABLE gestao.ctc ADD COLUMN vl_cred_outargado numeric(15,2);
ALTER TABLE gestao.ctc ADD COLUMN outras_carac character(30);
ALTER TABLE gestao.ctc ADD COLUMN cod_undmed character(2);
ALTER TABLE gestao.ctc ADD COLUMN tpmed character(20);
ALTER TABLE gestao.ctc ADD COLUMN qtmed numeric(15,4);
ALTER TABLE gestao.ctc ADD COLUMN rntrc character(20);
ALTER TABLE gestao.ctc ADD COLUMN ind_lotacao character(1);
ALTER TABLE gestao.ctc ADD COLUMN email_enviado smallint;
ALTER TABLE gestao.ctc ADD COLUMN resp_seg character(1);
ALTER TABLE gestao.ctc ADD COLUMN nome_seg character(30);
ALTER TABLE gestao.ctc ADD COLUMN num_apolice character(20);
ALTER TABLE gestao.ctc ADD COLUMN num_averbacao character(20);
ALTER TABLE gestao.ctc ADD COLUMN vl_merc_seg numeric(12,3);
ALTER TABLE gestao.ctc ADD COLUMN num_proc_canc character(15);
ALTER TABLE gestao.ctc ADD COLUMN versao_layout character(20);
ALTER TABLE gestao.ctc ADD COLUMN cod_st integer;
ALTER TABLE gestao.ctc ADD COLUMN vl_tot_trib numeric(15,2);
ALTER TABLE gestao.ctc ADD COLUMN lancar_ctr smallint;
--RUN--

--SEQ 0377-- 31/07/2013 09:00 WILLIAN
ALTER TABLE gestao.ict ADD COLUMN num_romaneio character(20);
ALTER TABLE gestao.ict ADD COLUMN num_pedido character(20);
ALTER TABLE gestao.ict ADD COLUMN bc_icms numeric(15,2);
ALTER TABLE gestao.ict ADD COLUMN vl_icms numeric(15,2);
ALTER TABLE gestao.ict ADD COLUMN bc_icmsst numeric(15,2);
ALTER TABLE gestao.ict ADD COLUMN vl_icmsst numeric(15,2);
ALTER TABLE gestao.ict ADD COLUMN vl_produtos numeric(15,2);
ALTER TABLE gestao.ict ADD COLUMN cfop integer;
ALTER TABLE gestao.ict ADD COLUMN pin character(9);
ALTER TABLE gestao.ict ADD COLUMN chave_nfe character(44);
ALTER TABLE gestao.ict ADD COLUMN descoutros character(20);
--RUN--

--SEQ 0378-- 31/07/2013 16:11
ALTER TABLE gestao.ctc ALTER COLUMN data_nf DROP NOT NULL;
ALTER TABLE gestao.ctc ALTER COLUMN cst_icms type character(3);
--RUN--

--SEQ 0379-- 09/07/2013 15:40
ALTER TABLE gestao.correntista ADD COLUMN apelido character(30);
--RUN--

--SEQ 0380-- 20/08/2013 11:40 ALAN
ALTER TABLE gestao.req ALTER anotacao TYPE character(80);
--RUN--

--SEQ 0381-- 23/08/2013 10:00 ALAN
--APAGA PRA PODER ALTERAR O CAMPO ABAIXO
DROP VIEW sig.vcc_adiant;
ALTER TABLE gestao.entradet DROP CONSTRAINT fk_entradet_ctbconta;
ALTER TABLE gestao.entradet DROP CONSTRAINT fk_entradet_tes;
--RUN--IGNORE ERRO

--SEQ 0382-- 23/08/2013 10:00 ALAN
ALTER TABLE gestao.entradas RENAME id_tes TO cod_tes;
ALTER TABLE gestao.entradas ADD COLUMN tp_assinante SMALLINT NULL;
ALTER TABLE gestao.entradas ADD COLUMN situacao CHAR(1) NULL;
ALTER TABLE gestao.entradas ADD COLUMN lib_pendencias_usuario CHAR(12) NULL;
ALTER TABLE gestao.entradas ADD COLUMN da DATE NULL;
ALTER TABLE gestao.entradas ADD COLUMN ha TIME NULL;
ALTER TABLE gestao.entradas ADD COLUMN usuario CHAR(15) NULL;
ALTER TABLE gestao.entradas ADD COLUMN id_colab_oc INT NULL;
ALTER TABLE gestao.entradas ADD COLUMN id_siscon CHAR(30) NULL;
ALTER TABLE gestao.entradas ADD COLUMN emitente CHAR(1) NULL;
ALTER TABLE gestao.entradas ADD COLUMN vl_desc DECIMAL(15,2) NULL;
ALTER TABLE gestao.entradas ADD COLUMN vl_abat_nt DECIMAL(15,2) NULL;
ALTER TABLE gestao.entradas ADD COLUMN vl_merc DECIMAL(15,2) NULL;
ALTER TABLE gestao.entradas ADD COLUMN vl_frete DECIMAL(15,2) NULL;
ALTER TABLE gestao.entradas ADD COLUMN vl_seguro DECIMAL(15,2) NULL;
ALTER TABLE gestao.entradas ADD COLUMN vl_da DECIMAL(15,2) NULL;
ALTER TABLE gestao.entradas ADD COLUMN vl_bc_icms DECIMAL(15,2) NULL;
ALTER TABLE gestao.entradas ADD COLUMN vl_pis DECIMAL(15,2) NULL;
ALTER TABLE gestao.entradas ADD COLUMN vl_cofins DECIMAL(15,2) NULL;
ALTER TABLE gestao.entradas ADD COLUMN vl_pisst DECIMAL(15,2) NULL;
ALTER TABLE gestao.entradas ADD COLUMN vl_cofinsst DECIMAL(15,2) NULL;
ALTER TABLE gestao.entradas ADD COLUMN vl_nt DECIMAL(15,2) NULL;
ALTER TABLE gestao.entradas ADD COLUMN vl_terc DECIMAL(12,2) NULL;
ALTER TABLE gestao.entradas ADD COLUMN cod_inf INT NULL;
ALTER TABLE gestao.entradas ADD COLUMN municip_orig_frete INT NULL;
ALTER TABLE gestao.entradas ADD COLUMN nat_frete_pis_cofins SMALLINT NULL;

ALTER TABLE gestao.entradet RENAME id_local TO id_estlocal;
ALTER TABLE gestao.entradet RENAME id_tes TO cod_tes;
ALTER TABLE gestao.entradet RENAME id_ctbconta TO cod_ctbconta;

ALTER TABLE gestao.entradet ALTER base_iss TYPE numeric(15,2);
ALTER TABLE gestao.entradet ALTER aliq_iss TYPE numeric(7,2);
ALTER TABLE gestao.entradet ALTER valor_iss TYPE numeric(15,2);

ALTER TABLE gestao.entradet ADD COLUMN vl_ipi_nf DECIMAL(12,2) NULL;
ALTER TABLE gestao.entradet ADD COLUMN id_ent_vinc INT NULL;
ALTER TABLE gestao.entradet ADD COLUMN num_motor CHAR(30) NULL;
ALTER TABLE gestao.entradet ADD COLUMN ano_fabr INT NULL;
ALTER TABLE gestao.entradet ADD COLUMN variante CHAR(30) NULL;
ALTER TABLE gestao.entradet ADD COLUMN validade DATE NULL;
ALTER TABLE gestao.entradet ADD COLUMN mva_ajustado_icms_st DECIMAL(7,2) NULL;
ALTER TABLE gestao.entradet ADD COLUMN id_empresa_doc_vinc INT NULL;
ALTER TABLE gestao.entradet ADD COLUMN num_pedido_vinc INT NULL;
ALTER TABLE gestao.entradet ADD COLUMN mod_nf_vinc SMALLINT NULL;
ALTER TABLE gestao.entradet ADD COLUMN serie_nf_vinc CHAR(3) NULL;
ALTER TABLE gestao.entradet ADD COLUMN num_nf_vinc INT NULL;
ALTER TABLE gestao.entradet ADD COLUMN custo_reposicao DECIMAL(15,4) NULL;
ALTER TABLE gestao.entradet ADD COLUMN custo_estoque DECIMAL(15,4) NULL;
ALTER TABLE gestao.entradet ADD COLUMN bc_irrf DECIMAL(15,2) NULL;
ALTER TABLE gestao.entradet ADD COLUMN aliq_irrf DECIMAL(7,2) NULL;
ALTER TABLE gestao.entradet ADD COLUMN vl_irrf DECIMAL(15,2) NULL;
ALTER TABLE gestao.entradet ADD COLUMN num_pesada CHAR(10) NULL;
ALTER TABLE gestao.entradet ADD COLUMN peso_bruto DECIMAL(10,0) NULL;
ALTER TABLE gestao.entradet ADD COLUMN tara DECIMAL(10,0) NULL;
ALTER TABLE gestao.entradet ADD COLUMN base_credito_pis_cofins INT NULL;

ALTER TABLE gestao.ctp ALTER numero TYPE character(15);
ALTER TABLE gestao.ctp ALTER docto TYPE character(15);
ALTER TABLE gestao.ctp ALTER obs TYPE character(200);
ALTER TABLE gestao.ctp ADD COLUMN origem CHAR(20) NULL;
ALTER TABLE gestao.ctp ADD COLUMN natureza1 INT NULL;
ALTER TABLE gestao.ctp ADD COLUMN vlr_nat1 DECIMAL(12,2) NULL;
ALTER TABLE gestao.ctp ADD COLUMN natureza2 INT NULL;
ALTER TABLE gestao.ctp ADD COLUMN vlr_nat2 DECIMAL(12,2) NULL;
ALTER TABLE gestao.ctp ADD COLUMN natureza3 INT NULL;
ALTER TABLE gestao.ctp ADD COLUMN vlr_nat3 DECIMAL(12,2) NULL;
ALTER TABLE gestao.ctp ADD COLUMN id_carteira INT NULL;
ALTER TABLE gestao.ctp ADD COLUMN tit_provisorio SMALLINT NULL;
ALTER TABLE gestao.ctp ADD COLUMN docto_cobranca_recebido SMALLINT NULL;

ALTER TABLE gestao.pagtos ALTER valor TYPE numeric(15,2);
ALTER TABLE gestao.pagtos ALTER vl_juros TYPE numeric(15,2);
ALTER TABLE gestao.pagtos ALTER vl_desconto TYPE numeric(15,2);
ALTER TABLE gestao.pagtos RENAME origem TO forma;
ALTER TABLE gestao.pagtos ADD COLUMN origem_lan CHAR(1) NULL;
ALTER TABLE gestao.pagtos ADD COLUMN dt_para DATE NULL;
ALTER TABLE gestao.pagtos ADD COLUMN num_cheque INT NULL;
ALTER TABLE gestao.pagtos ADD COLUMN id_entrada INT NULL;
ALTER TABLE gestao.pagtos ADD COLUMN id_cheque INT NULL;
ALTER TABLE gestao.pagtos ADD COLUMN id_natureza INT NULL;
--RUN--

--SEQ 0382-- 23/08/2013 10:00 ALAN
ALTER TABLE gestao.entradas DISABLE TRIGGER ajusta_valor_ctpagrupado;
ALTER TABLE gestao.entradas DISABLE TRIGGER atual_numero_entrada;
ALTER TABLE gestao.entradas DISABLE TRIGGER bloqmovto_entradas;
update gestao.entradas set cod_tes=(select codigo from siscon.tes where id_tes=cod_tes);
ALTER TABLE gestao.entradas ENABLE TRIGGER ajusta_valor_ctpagrupado;
ALTER TABLE gestao.entradas ENABLE TRIGGER atual_numero_entrada;
ALTER TABLE gestao.entradas ENABLE TRIGGER bloqmovto_entradas;

ALTER TABLE gestao.entradet DISABLE TRIGGER atual_qtd_recebida_ocd;
ALTER TABLE gestao.entradet DISABLE TRIGGER bloqmovto_entradet;
ALTER TABLE gestao.entradet DISABLE TRIGGER entradet_controle_estterceiro;
update gestao.entradet set cod_ctbconta=(select codigo from siscon.ctbconta where id_ctbconta=cod_ctbconta);
update gestao.entradet set cod_tes=(select codigo from siscon.tes where id_tes=cod_tes);
ALTER TABLE gestao.entradet ENABLE TRIGGER atual_qtd_recebida_ocd;
ALTER TABLE gestao.entradet ENABLE TRIGGER bloqmovto_entradet;
ALTER TABLE gestao.entradet ENABLE TRIGGER entradet_controle_estterceiro;
--RUN--IGNORE ERRO

--SEQ 0383-- 30/08/2013 14:00 JCS
CREATE TABLE gestao.ticket (
  id_ticket SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  numero INT NOT NULL ,
  data DATE NOT NULL ,
  hora TIME NOT NULL ,
  id_atendente INT NOT NULL ,
  id_cliente INT NOT NULL ,
  contato CHAR(20) NOT NULL ,
  telefone CHAR(20) NULL ,
  email CHAR(80) NULL ,
  assunto CHAR(200) NOT NULL ,
  descricao VARCHAR(1999) NULL ,
  departamento CHAR(3) NULL ,
  esforco_estimado DECIMAL(7,2) NOT NULL ,
  prioridade SMALLINT NULL ,
  status CHAR(2) NULL ,
  id_resp INT NOT NULL ,
  alerta_resp SMALLINT NULL ,
  num_os INT NULL ,
  dt_desejada DATE NOT NULL ,
  dt_prevista DATE NOT NULL ,
  data_alt DATE NOT NULL ,
  hora_alt TIME NOT NULL,
  CONSTRAINT pk_ticket PRIMARY KEY (id_ticket),
  CONSTRAINT fk_ticket_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT key_ticket_numero UNIQUE (id_empresa,numero)
);

CREATE INDEX key_ticket_data ON gestao.ticket (data);
CREATE INDEX key_ticket_cliente ON gestao.ticket (id_cliente);
CREATE INDEX key_ticket_atendente ON gestao.ticket (id_atendente);
CREATE INDEX key_ticket_resp ON gestao.ticket (id_resp);

CREATE TABLE gestao.tickobs (
  id_tickobs SERIAL NOT NULL ,
  id_ticket INT NOT NULL ,
  id_usuario INT NOT NULL ,
  data DATE NOT NULL ,
  hora TIME NOT NULL ,
  observacao VARCHAR(999) NOT NULL,
  CONSTRAINT pk_tickobs PRIMARY KEY (id_tickobs),
  CONSTRAINT fk_tickobs_empresa FOREIGN KEY (id_ticket) REFERENCES gestao.ticket (id_ticket)
);

CREATE INDEX key_tickobs_ticket ON gestao.ticket (id_ticket);
--RUN--

--SEQ 0384-- 03/09/2013 10:00 ALAN
ALTER TABLE gestao.ctc RENAME rntrc TO rntrc_emitente;
ALTER TABLE gestao.ctc ADD COLUMN id_tomador INT NULL;
ALTER TABLE gestao.ctc ADD COLUMN id_expedidor INT NULL;
ALTER TABLE gestao.ctc ADD COLUMN id_recebedor INT NULL;
ALTER TABLE gestao.ctc ADD COLUMN id_veiculo2 INT NULL;
ALTER TABLE gestao.ctc ADD COLUMN id_veiculo3 INT NULL;
ALTER TABLE gestao.ctc ADD COLUMN id_veiculo4 INT NULL;
ALTER TABLE gestao.ctc ADD COLUMN id_motorista2 INT NULL;
ALTER TABLE gestao.ctc ADD COLUMN id_motorista3 INT NULL;
ALTER TABLE gestao.ctc ADD COLUMN id_motorista4 INT NULL;
ALTER TABLE gestao.ctc ADD COLUMN id_emi_docant INT NULL;
ALTER TABLE gestao.ctc ADD COLUMN tipo_docant SMALLINT NULL;
ALTER TABLE gestao.ctc ADD COLUMN serie_docant CHAR(3) NULL;
ALTER TABLE gestao.ctc ADD COLUMN subser_docant CHAR(2) NULL;
ALTER TABLE gestao.ctc ADD COLUMN num_docant INT NULL;
ALTER TABLE gestao.ctc ADD COLUMN dt_emi_docant DATE NULL;
ALTER TABLE gestao.ctc ADD COLUMN chave_docant CHAR(44) NULL;
--RUN--

--SEQ 0385-- 10/09/2013 16:20 JCS
ALTER TABLE gestao.entradet ADD COLUMN tp_rec_imp_ret character(1);
ALTER TABLE gestao.entradet ADD COLUMN vl_difaliq numeric(15,2);
--RUN--

--SEQ 0386-- 13/09/2013 16:06 JCS
ALTER TABLE gestao.reqd ALTER COLUMN und TYPE character(6);
--RUN--

--SEQ 0387-- 18/09/2013 16:00 WILLIAN
ALTER TABLE gestao.nfdet DROP CONSTRAINT chk_nfdet_origem;
ALTER TABLE gestao.nfdet ADD CONSTRAINT chk_nfdet_origem CHECK (origem = ANY (ARRAY[0, 1, 2, 3, 4, 5, 6, 7, 8]));
--RUN--

--SEQ 0388-- 25/09/2013 10:00 ALAN
CREATE TABLE gestao.marca (
  id_marca SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  codigo INT NOT NULL ,
  nome CHAR(25) NOT NULL ,
  DA DATE NULL ,
  HA TIME NULL,
  CONSTRAINT pk_marca PRIMARY KEY (id_marca),
  CONSTRAINT fk_marca_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT key_marca_codigo UNIQUE(id_empresa, codigo)
);
--RUN--

--SEQ 0389-- 27/09/2013 18:00 ALAN
ALTER TABLE gestao.pcpmaq ADD COLUMN cod_ccusto INT NULL;
ALTER TABLE gestao.pcpmaq ADD COLUMN id_natureza INT NULL;
--RUN--

--SEQ 0390-- 04/10/2013 18:00 ALAN
ALTER TABLE gestao.entradas ALTER obs TYPE character(150);
ALTER TABLE gestao.oc ALTER obs TYPE character(150);
--RUN--

--SEQ 0391-- 09/10/2013 11:15 JCS
ALTER TABLE gestao.reqd ADD CONSTRAINT chk_reqd_qtdade CHECK (qtdade>=0);
--RUN--

--SEQ 0392-- 12/10/2013 07:15 JCS
ALTER TABLE gestao.estinventario  ADD COLUMN unidade character(6);
--RUN--

--SEQ 0393-- 22/10/2013 11:15 ALAN
ALTER TABLE gestao.proposta ADD COLUMN validade_orc smallint;
--RUN--

--SEQ 0394-- 23/10/2013 16:17 HENRIQUE
ALTER TABLE gestao.carga ADD COLUMN lancar_ctp smallint;
ALTER TABLE gestao.carga ADD COLUMN data_vencto date;
--RUN--

--SEQ 0395-- 25/10/2013 11:22 JCS
ALTER TABLE gestao.produto ADD COLUMN permite_acessorios character(1);
--RUN--

--SEQ 0396-- 25/10/2013 16:40 JCS
ALTER TABLE gestao.nfdet ADD COLUMN qtd_estoque numeric(15,3);
--RUN--

--SEQ 0397-- 01/11/2013 14:00 Willian
CREATE TABLE gestao.nfsat (
   id_nfsat SERIAL NOT NULL,
   id_empresa INT NOT NULL,
   tp_docto CHAR(1) NOT NULL,
   status CHAR(1) NOT NULL,
   chave_acesso_nfe CHAR(44),
   modelo CHAR(2) NOT NULL,
   serie CHAR(3) NOT NULL,
   numero INT NOT NULL,
   id_emitente INT,
   ie_emitente VARCHAR(14) NOT NULL,
   nome_emitente VARCHAR(60) NOT NULL,
   uf_emitente CHAR(2) NOT NULL,
   id_desrem INT,
   ie_desrem VARCHAR(14) NOT NULL,
   nome_desrem VARCHAR(60) NOT NULL,
   uf_desrem CHAR(2) NOT NULL ,
   dt_emissao DECIMAL(12,2) NOT NULL,
   bc_icms DECIMAL(12,2) NOT NULL,
   vl_icms DECIMAL(12,2) NOT NULL,
   bc_icms_st DECIMAL(12,2) NOT NULL,
   vl_icms_st DECIMAL(12,2) NOT NULL,
   total_prod DECIMAL(12,2) NOT NULL,
   total_frete DECIMAL(12,2) NOT NULL,
   total_seguro DECIMAL(12,2) NOT NULL,
   total_desp_acessorias DECIMAL(12,2) NOT NULL,
   total_ipi DECIMAL(12,2) NOT NULL,
   total_nf DECIMAL(12,2) NOT NULL,
   total_desconto DECIMAL(12,2) NOT NULL,
   total_imposto DECIMAL(12,2) NOT NULL,
   total_serv_iss DECIMAL(12,2),
   bc_iss DECIMAL(12,2),
   total_iss DECIMAL(12,2),
   CONSTRAINT pk_nfsat PRIMARY KEY (id_nfsat),
   CONSTRAINT fk_nfsat_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
   CONSTRAINT key_nfsat_numero UNIQUE (numero, serie, modelo, id_emitente)
);
--RUN--

--SEQ 0398-- 12/11/2013 11:40 Willian
ALTER TABLE gestao.fatconversao DROP CONSTRAINT key_fatconversao_unid_conv;
CREATE UNIQUE INDEX key_fatconversao_unid_conv ON gestao.fatconversao  (id_produto, unid_conv, COALESCE(cod_barra,' '));
--RUN--

--SEQ 0399-- 19/11/2013 11:40 JCS
ALTER TABLE gestao.produto ADD COLUMN lote_min numeric(15,3);
ALTER TABLE gestao.produto ADD COLUMN lote_mul numeric(15,3);
--RUN--

--SEQ 0400-- 20/11/2013 09:40 HENRQIUE
ALTER TABLE gestao.contrato ADD COLUMN vl_contrato1 numeric(12,2);
ALTER TABLE gestao.contrato ADD COLUMN vl_contrato2 numeric(12,2);
ALTER TABLE gestao.contrato ADD COLUMN vl_contrato3 numeric(12,2);
--RUN--

--SEQ 0401-- 21/11/2013 10:47 JCS
UPDATE gestao.produto SET id_erp=NULL WHERE id_erp=0;
ALTER TABLE gestao.produto ADD CONSTRAINT chk_produto_id_erp CHECK (id_erp>0);

ALTER TABLE gestao.estinventario ADD COLUMN inf_usuario smallint;
--RUN--

--SEQ 0402-- 03/12/2013 11:00 Willian

DROP TABLE gestao.nfsat;

CREATE TABLE gestao.nfsat (
   id_nfsat SERIAL NOT NULL,
   id_empresa INT NOT NULL,
   tp_operacao CHAR(1) NOT NULL,
   tp_docto CHAR(1) NOT NULL,
   situacao VARCHAR(10) NOT NULL,
   chave_acesso_nfe CHAR(44) NOT NULL,
   modelo CHAR(2) NOT NULL,
   serie CHAR(3) NOT NULL,
   numero INT NOT NULL,
   cnpj_emitente VARCHAR(14) NOT NULL,
   ie_emitente VARCHAR(14),
   nome_emitente VARCHAR(60) NOT NULL,
   uf_emitente CHAR(2) NOT NULL,
   inscr_desrem VARCHAR(14) NOT NULL,
   ie_desrem VARCHAR(14),
   nome_desrem VARCHAR(60) NOT NULL,
   uf_desrem CHAR(2) NOT NULL ,
   dt_emissao DATE NOT NULL,
   bc_icms DECIMAL(12,2) NOT NULL,
   vl_icms DECIMAL(12,2) NOT NULL,
   bc_icms_st DECIMAL(12,2) NOT NULL,
   vl_icms_st DECIMAL(12,2) NOT NULL,
   total_prod DECIMAL(12,2) NOT NULL,
   total_frete DECIMAL(12,2) NOT NULL,
   total_seguro DECIMAL(12,2) NOT NULL,
   total_desp_acessorias DECIMAL(12,2) NOT NULL,
   total_ipi DECIMAL(12,2) NOT NULL,
   total_nf DECIMAL(12,2) NOT NULL,
   total_desconto DECIMAL(12,2) NOT NULL,
   total_imposto DECIMAL(12,2) NOT NULL,
   total_serv_iss DECIMAL(12,2),
   bc_iss DECIMAL(12,2),
   total_iss DECIMAL(12,2),
   CONSTRAINT pk_nfsat PRIMARY KEY (id_nfsat),
   CONSTRAINT fk_nfsat_empresa FOREIGN KEY (id_empresa) REFERENCES siscon.empresa (id_empresa),
   CONSTRAINT key_nfsat_chave UNIQUE (chave_acesso_nfe)
);
--RUN--IGNORE ERRO

--SEQ 0403-- 10/12/2013 15:32 JCS
UPDATE gestao.ctp SET guid_vinc='CARGA#'||substring(numero,1,6)::int WHERE docto LIKE 'CAR  %' AND docto>'CAR ';
--RUN--IGNORE ERRO

--SEQ 0404-- 20/11/2013 07:50 HENRIQUE
ALTER TABLE gestao.vendedor ADD COLUMN cod_pauta4 integer;
ALTER TABLE gestao.vendedor ADD COLUMN cod_pauta5 integer;
ALTER TABLE gestao.vendedor ADD COLUMN cod_pauta6 integer;
--RUN--

--SEQ 0405-- 26/12/2013 12:00 JCS
ALTER TABLE gestao.entradet ADD COLUMN somar_ipi_terc smallint;
--RUN--

--SEQ 0406-- 07/01/2014 09:30 JCS
ALTER TABLE gestao.entradas ALTER COLUMN id_entrada DROP DEFAULT;
--RUN--

--SEQ 0407-- 15/01/2014 14:45 JCS
ALTER TABLE gestao.pauta ADD COLUMN id_tabdesp integer;
--RUN--

--SEQ 0408-- 16/01/2014 17:30 JCS
ALTER TABLE gestao.vendedor ADD COLUMN desc_pauta_flex numeric(6, 2);
--RUN--

--SEQ 0409-- 04/02/2014 11:10 JCS
ALTER TABLE gestao.entradas DISABLE TRIGGER ajusta_valor_ctpagrupado;
ALTER TABLE gestao.entradas DISABLE TRIGGER atual_numero_entrada;
ALTER TABLE gestao.entradas DISABLE TRIGGER bloqmovto_entradas;

UPDATE gestao.entradas SET chave_nfe=NULL WHERE chave_nfe='';
UPDATE gestao.entradas SET chave_nfe=NULL WHERE id_entrada IN (
SELECT MIN(id_entrada)
  FROM gestao.entradas 
  WHERE chave_nfe IS NOT NULL
  GROUP BY chave_nfe, id_empresa
  HAVING count(*)>1
) ;

ALTER TABLE gestao.entradas ENABLE TRIGGER ajusta_valor_ctpagrupado;
ALTER TABLE gestao.entradas ENABLE TRIGGER atual_numero_entrada;
ALTER TABLE gestao.entradas ENABLE TRIGGER bloqmovto_entradas;

ALTER TABLE gestao.entradas ADD CONSTRAINT key_entradas_chave_nfe UNIQUE(chave_nfe, id_empresa);
--RUN--

--SEQ 0410-- 06/02/2014 15:10 ALAN
ALTER TABLE gestao.reqd ADD COLUMN cod_maquina character(10);
ALTER TABLE gestao.reqd ADD CONSTRAINT fk_reqd_pcpmaq FOREIGN KEY (id_empresa, cod_maquina) REFERENCES gestao.pcpmaq (id_empresa, codigo);
ALTER TABLE gestao.entradet ADD COLUMN id_pcpmaq integer;
ALTER TABLE gestao.entradet ADD CONSTRAINT fk_entradet_pcpmaq FOREIGN KEY (id_pcpmaq) REFERENCES gestao.pcpmaq (id_pcpmaq);
--RUN--

--SEQ 0411-- 13/02/2014 11:20 ALAN
ALTER TABLE gestao.ctp ADD COLUMN cod_retencao character(20);
--RUN--

--SEQ 0412-- 17/02/2014 17:00 ALAN
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('65' ,'Nota Fiscal de Consumidor Eletr nica - NFC-e');
--RUN--

--SEQ 0413-- 21/02/2014 11:26 HENRIQUE
ALTER TABLE gestao.osdet ALTER COLUMN observacao TYPE character(100);
--RUN--

--SEQ 0414-- 27/02/2014 10:21 JCS
ALTER TABLE gestao.nf ADD COLUMN indicador_ie smallint;
ALTER TABLE gestao.nf ADD CONSTRAINT chk_nf_indicador_ie CHECK (indicador_ie IN (1,2,9));
--RUN--

--SEQ 0415-- 17/03/2014 16:10 JCS
ALTER TABLE gestao.cfopxtes ADD COLUMN tipo_produto character(5) NOT NULL DEFAULT ' ';
ALTER TABLE gestao.cfopxtes ADD COLUMN cst_ipi character(2) NOT NULL DEFAULT ' ';
ALTER TABLE gestao.cfopxtes ADD COLUMN cst_pis character(2) NOT NULL DEFAULT ' ';
ALTER TABLE gestao.cfopxtes ADD COLUMN cst_cofins character(2) NOT NULL DEFAULT ' ';
ALTER TABLE gestao.cfopxtes ADD COLUMN cst_icms_entrada character(4);
ALTER TABLE gestao.cfopxtes ADD COLUMN cst_ipi_entrada character(2);
ALTER TABLE gestao.cfopxtes ADD COLUMN cst_pis_entrada character(2);
ALTER TABLE gestao.cfopxtes ADD COLUMN cst_cofins_entrada character(2);
ALTER TABLE gestao.cfopxtes ADD COLUMN cod_ccusto integer;
ALTER TABLE gestao.cfopxtes ADD COLUMN id_natureza integer;
--RUN--

--SEQ 0416-- 24/03/2014 08:30 ALAN
CREATE TABLE gestao.corxpro (
  id_corxpro SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  id_correntista INT NULL ,
  id_produto INT NULL ,
  id_subgrupo INT NULL ,
  id_erp_forne INT NULL ,
  data DATE NOT NULL ,
  cod_prod_forne CHAR(15) NULL ,
  ref_prod_forne CHAR(15) NULL ,
  descr_prod_forne CHAR(60) NOT NULL ,
  und_prod_forne CHAR(6) NULL ,
  cod_barras_forne CHAR(14) NULL ,
  unidade_entrada CHAR(6) NULL ,
  fator DECIMAL(15,6) NULL ,
  preco_compra DECIMAL(12,4) NULL ,
  preco_venda DECIMAL(12,4) NULL ,
  vl_comissao DECIMAL(12,4) NULL ,
  obs CHAR(80) NULL ,
  dt_atual DATE NOT NULL,
  CONSTRAINT pk_corxpro PRIMARY KEY (id_corxpro),
  CONSTRAINT fk_corxpro_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_corxpro_correntista FOREIGN KEY (id_correntista) REFERENCES gestao.correntista (id_correntista),
  CONSTRAINT fk_corxpro_produto FOREIGN KEY (id_produto) REFERENCES gestao.produto (id_produto),
  CONSTRAINT fk_corxpro_grupo FOREIGN KEY (id_subgrupo) REFERENCES gestao.grupo (id_grupo),
  CONSTRAINT fk_corxpro_unidade FOREIGN KEY (unidade_entrada,id_empresa) REFERENCES gestao.unidade (unidade,id_empresa)
);
--RUN--

--SEQ 0417-- 24/03/2014 16:21 JCS
CREATE TABLE gestao.pcpoper
(
  id_pcpoper SERIAL,
  id_empresa integer NOT NULL,
  codigo integer NOT NULL,
  descr character(200) NOT NULL,
  tipo smallint NOT NULL
);

ALTER TABLE gestao.pcpoper ADD CONSTRAINT pk_pcpoper PRIMARY KEY(id_pcpoper);
ALTER TABLE gestao.pcpoper ADD CONSTRAINT key_pcpoper_codigo UNIQUE(id_empresa, codigo);
ALTER TABLE gestao.pcpoper ADD CONSTRAINT fk_pcpoper_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa);

ALTER TABLE gestao.producao ALTER COLUMN cod_maq TYPE char(10);
ALTER TABLE gestao.producao ADD COLUMN data_final date;
ALTER TABLE gestao.producao ADD COLUMN hora_final time;
ALTER TABLE gestao.producao ADD COLUMN tempo_hr numeric(7,2);
ALTER TABLE gestao.producao ADD COLUMN peso_liquido numeric(15,3);
ALTER TABLE gestao.producao ADD COLUMN tipo_peso character(1);

ALTER TABLE gestao.opins ALTER COLUMN unidade TYPE character(6);
ALTER TABLE gestao.opins ADD COLUMN id_prod_subst integer;

ALTER TABLE gestao.reqd ADD COLUMN id_prod_subst integer;

ALTER TABLE gestao.pcpparada RENAME tempo_parada TO tempo_hr;
ALTER TABLE gestao.pcpparada ALTER COLUMN tempo_hr TYPE numeric(7,2);
ALTER TABLE gestao.pcpparada ADD COLUMN num_op integer;
ALTER TABLE gestao.pcpparada ADD COLUMN data_final date;
ALTER TABLE gestao.pcpparada ADD COLUMN hora_final time;
--RUN--

--SEQ 0418-- 26/03/2014 09:13 JCS
ALTER TABLE gestao.estterceiro ADD COLUMN num_ord_item integer;
--RUN--

--SEQ 0419-- 01/04/2014 13:48 ALAN
ALTER TABLE gestao.pcpparada ADD COLUMN turno smallint;
ALTER TABLE gestao.pcpparada ADD CONSTRAINT chk_pcpparada_turno CHECK (turno = 1 OR turno = 2 OR turno = 3 OR turno is null);
--RUN--

--SEQ 0420-- 08/04/2014 10:00 ALAN
ALTER TABLE gestao.moddocfiscal ALTER codigo TYPE character(3);
INSERT INTO gestao.moddocfiscal (codigo,descricao,especie) VALUES ('55A' ,'Nota Fiscal Eletr nica Avulsa - NFA-e','NFA-e');
--RUN--

--SEQ 0421-- 09/04/2014 17:10 JCS
ALTER TABLE gestao.reqd ADD COLUMN lote character(30);
ALTER TABLE gestao.reqresumida ADD COLUMN lote character(30);
--RUN--

--SEQ 0422-- 10/04/2014 17:00 JCS
ALTER TABLE gestao.vendedor  ADD COLUMN desc_rateio_com numeric(6,2);
--RUN--

--SEQ 0423-- 13/04/2014 22:50 JCS
ALTER TABLE gestao.carga ADD COLUMN data_carreg date;
ALTER TABLE gestao.carga ADD COLUMN hr1_carreg time;
ALTER TABLE gestao.carga ADD COLUMN hr2_carreg time;
ALTER TABLE gestao.carga ADD COLUMN doca_carreg character(10);
ALTER TABLE gestao.carga ADD COLUMN sit_picking character(2);

CREATE TABLE gestao.cargadet (
  id_cargadet SERIAL NOT NULL ,
  id_carga INT NOT NULL ,
  id_produto INT NOT NULL ,
  qtdade DECIMAL(15,3) NOT NULL ,
  unidade CHAR(6) NOT NULL ,
  qtd_picking DECIMAL(15,3) NOT NULL ,
  qtd_disp_pick DECIMAL(15,3) NOT NULL ,
  sit_picking CHAR(1) NOT NULL
);

ALTER TABLE gestao.cargadet  ADD CONSTRAINT pk_cargadet PRIMARY KEY(id_cargadet);
ALTER TABLE gestao.cargadet ADD CONSTRAINT fk_cargadet_carga FOREIGN KEY (id_carga) REFERENCES gestao.carga (id_carga);
ALTER TABLE gestao.cargadet ADD CONSTRAINT key_cargadet_carga UNIQUE(id_carga, id_produto, unidade);
--RUN--

--SEQ 0424-- 15/04/2014 09:50 JCS
ALTER TABLE gestao.carga ALTER COLUMN id_carga DROP DEFAULT;
--RUN--

--SEQ 0425-- 22/04/2014 17:20 JCS
ALTER TABLE gestao.itemdocto ADD COLUMN origem_merc char(1);
ALTER TABLE gestao.itemdocto ADD CONSTRAINT chk_itemdocto_origem_merc CHECK (origem_merc IN ('0','1','2','3','4','5','6','7','8'));
--RUN--

--SEQ 0426-- 23/04/2012 12:25 JCS
DROP INDEX gestao.key_cfopxtes_cfop;
CREATE UNIQUE INDEX key_cfopxtes_cfop ON gestao.cfopxtes (id_empresa, tipo, cfop, nat_op, (COALESCE(cod_fornecedor, 0)), tipo_produto, cst_icms, aliq_icms, ind_pagto);
--RUN--

--SEQ 0427-- 24/04/2012 11:17 JCS
ALTER TABLE gestao.nf DROP CONSTRAINT chk_nf_dt_saient;
ALTER TABLE gestao.nf ADD CONSTRAINT chk_nf_dt_saient CHECK (dt_saient >= dt_emissao AND dt_saient<=current_date + 07);
--RUN--

--SEQ 0428-- 19/05/2014 14:45 HENRIQUE
ALTER TABLE gestao.pcpparada DROP CONSTRAINT key_pcpparada_data;
ALTER TABLE gestao.pcpparada ADD CONSTRAINT key_pcpparada_data UNIQUE(id_empresa, data, hora, cod_maquina);
--RUN--

--SEQ 0429-- 27/05/2014 08:30 ALAN
CREATE TABLE gestao.pcpmotivo (
  id_pcpmotivo SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  tipo CHAR(20) NOT NULL ,
  codigo CHAR(10) NOT NULL ,
  descricao CHAR(50) NOT NULL ,
  ativo SMALLINT NULL,  
  CONSTRAINT pk_pcpmotivo PRIMARY KEY (id_pcpmotivo),
  CONSTRAINT key_pcpmotivo_codigo UNIQUE (id_empresa,tipo,codigo),
  CONSTRAINT fk_pcpmotivo_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa)
);

INSERT INTO gestao.pcpmotivo(id_empresa, tipo, codigo, descricao, ativo) select distinct(id_matriz),'RETORNO','A','Aparas de Acerto'    , 1 from gestao.empresa where id_matriz is not null;
INSERT INTO gestao.pcpmotivo(id_empresa, tipo, codigo, descricao, ativo) select distinct(id_matriz),'RETORNO','B','Boras'               , 1 from gestao.empresa where id_matriz is not null;
INSERT INTO gestao.pcpmotivo(id_empresa, tipo, codigo, descricao, ativo) select distinct(id_matriz),'RETORNO','G','Grelhas'             , 1 from gestao.empresa where id_matriz is not null;
INSERT INTO gestao.pcpmotivo(id_empresa, tipo, codigo, descricao, ativo) select distinct(id_matriz),'RETORNO','P','Produtos Reprovados' , 1 from gestao.empresa where id_matriz is not null;
INSERT INTO gestao.pcpmotivo(id_empresa, tipo, codigo, descricao, ativo) select distinct(id_matriz),'RETORNO','R','Refilos'             , 1 from gestao.empresa where id_matriz is not null;
INSERT INTO gestao.pcpmotivo(id_empresa, tipo, codigo, descricao, ativo) select distinct(id_matriz),'RETORNO','N','Bobina'              , 1 from gestao.empresa where id_matriz is not null;
INSERT INTO gestao.pcpmotivo(id_empresa, tipo, codigo, descricao, ativo) select distinct(id_matriz),'RETORNO','REF','Refugo'            , 1 from gestao.empresa where id_matriz is not null;
--RUN--

--SEQ 0430-- 27/05/2014 10:40 JCS
ALTER TABLE gestao.itemdocto  DISABLE TRIGGER itemdocto_controle_estterceiro;
--RUN--IGNORE ERRO

--SEQ 0431-- 27/05/2014 10:40 JCS
ALTER TABLE gestao.itemdocto  DISABLE TRIGGER valida_itemdocto;
UPDATE gestao.itemdocto SET origem_merc=SUBSTRING(TO_CHAR(cst_icms,'FM0009'),2,1)::smallint WHERE origem_merc IS NULL AND SUBSTRING(TO_CHAR(cst_icms,'FM0009'),2,1) IN ('0','1','2','3','4','5','6','7','8');
UPDATE gestao.itemdocto SET origem_merc='0' WHERE origem_merc IS NULL;
ALTER TABLE gestao.itemdocto  ALTER COLUMN origem_merc SET NOT NULL;
ALTER TABLE gestao.itemdocto  ENABLE TRIGGER valida_itemdocto;
--RUN--

--SEQ 0432-- 27/05/2014 10:40 JCS
ALTER TABLE gestao.itemdocto  ENABLE TRIGGER itemdocto_controle_estterceiro;
--RUN--IGNORE ERRO

--SEQ 0433-- 29/05/2014 17:50 JCS
ALTER TABLE gestao.ctc ADD COLUMN codigo_nbs character(10);
ALTER TABLE gestao.ict ADD COLUMN dt_prev_entrega date;
--RUN--

--SEQ 0434-- 04/06/2014 20:10 JCS
CREATE OR REPLACE VIEW gestao.vcons_estoque1 AS 
SELECT a.id_empresa,a.id_produto,a.id_estlocal,b.nome,a.qtdade,
  CASE WHEN a.variante LIKE 'UND:%' THEN substring(a.variante,5,6) ELSE c.unidade END AS unidade,
  a.custo_medio,a.valor,
  (CASE WHEN a.variante LIKE 'UND:%' THEN a.qtdade*d.fator ELSE a.qtdade END)::decimal(15,3) as qtd_und_padrao,
  ((CASE WHEN a.variante LIKE 'UND:%' THEN a.qtdade*d.fator ELSE a.qtdade END)*c.peso_liquido)::decimal(15,3) as peso_liquido,
  ((CASE WHEN a.variante LIKE 'UND:%' THEN a.qtdade*d.fator ELSE a.qtdade END)*c.peso_bruto)::decimal(15,3) as peso_bruto,
  a.data
  FROM gestao.estsaldo A
  LEFT OUTER JOIN gestao.estlocal b ON (a.id_estlocal=b.id_estlocal)
  LEFT OUTER JOIN gestao.produto C ON (a.id_produto=c.id_erp AND c.id_empresa IN (a.id_empresa,a.id_empresa-9000))
  LEFT OUTER JOIN gestao.fatconversao D ON (c.id_produto=d.id_produto AND d.unid_conv=substring(a.variante,5,6))
  ORDER BY a.variante;
--RUN--

--SEQ 0435-- 09/06/2014 16:36 JCS
ALTER TABLE gestao.contador ADD COLUMN num_seq_crc character(20);
ALTER TABLE gestao.contador ADD COLUMN dt_crc date;
--RUN--

--SEQ 0436-- 12/06/2014 09:40 ALAN
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('58' ,'Manifesto Eletr nico de Documentos Fiscais (MDF-e)');
--RUN--

--SEQ 0437-- 16/06/2014 15:47 JCS
ALTER TABLE gestao.entradet DROP CONSTRAINT fk_entradet_entradas;
ALTER TABLE gestao.entradet ADD CONSTRAINT fk_entradet_entradas FOREIGN KEY (id_entrada) REFERENCES gestao.entradas (id_entrada);
--RUN--

--SEQ 0438-- 17/06/2014 17:50 JCS
DROP INDEX gestao.key_cfopxtes_cfop;
CREATE UNIQUE INDEX key_cfopxtes_cfop ON gestao.cfopxtes (id_empresa, tipo, cfop, nat_op, (COALESCE(cod_fornecedor, 0)), tipo_produto, cst_icms, aliq_icms, ind_pagto, cst_ipi, cst_pis, cst_cofins);
--RUN--

--SEQ 0439-- 27/06/2014 09:50 ALAN
CREATE TABLE gestao.mdfe (
  id_mdfe SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  status CHAR(1) NULL ,
  versao_layout CHAR(5) NULL ,
  cod_uf_emitente SMALLINT NOT NULL ,
  tp_amb SMALLINT NULL ,
  tp_emitente SMALLINT NULL ,
  modelo SMALLINT NULL ,
  serie INT NULL ,
  numero INT NOT NULL ,
  cod_chave INT NULL ,
  dv_chave SMALLINT NULL ,
  modalidade SMALLINT NULL ,
  dt_emissao DATE NOT NULL ,
  hr_emissao TIME NOT NULL ,
  proc_emissao SMALLINT NULL ,
  versao_app CHAR(20) NOT NULL ,
  uf_carregamento CHAR(2) NOT NULL ,
  uf_descarregamento CHAR(2) NULL ,
  uf_percurso CHAR(50) NULL ,
  cnpj_emitente CHAR(14) NOT NULL ,
  ie_emitente CHAR(14) NOT NULL ,
  nome_emitente CHAR(60) NOT NULL ,
  fantasia_emitente CHAR(60) NOT NULL ,
  logr_emitente CHAR(60) NOT NULL ,
  num_emitente CHAR(20) NOT NULL ,
  compl_emitente CHAR(60) NULL ,
  bairro_emitente CHAR(40) NOT NULL ,
  cod_mun_emitente INT NOT NULL ,
  nome_mun_emitente CHAR(60) NOT NULL ,
  uf_emitente CHAR(2) NOT NULL ,
  fone_emitente DECIMAL(12,0) NULL ,
  email_emitente CHAR(60) NULL ,
  rntrc INT NULL ,
  ciot DECIMAL(12,0) NULL ,
  id_veic_pri INT NOT NULL ,
  id_veic_r1 INT NULL ,
  id_veic_r2 INT NULL ,
  id_veic_r3 INT NULL ,
  id_condutor1 INT NULL ,
  id_condutor2 INT NULL ,
  id_condutor3 INT NULL ,
  num_lacre1 CHAR(20) NULL ,
  num_lacre2 CHAR(20) NULL ,
  num_lacre3 CHAR(20) NULL ,
  num_lacre4 CHAR(20) NULL ,
  num_lacre5 CHAR(20) NULL ,
  num_lacre6 CHAR(20) NULL ,
  inf_fisco VARCHAR(1999) NULL ,
  inf_contrib VARCHAR(1999) NULL,
  cep_emitente INT,
  chave_acesso_mdfe VARCHAR(44),
  CONSTRAINT pk_mdfe PRIMARY KEY (id_mdfe),
  CONSTRAINT key_mdfe_numero UNIQUE(numero, serie, modelo, id_empresa),
  CONSTRAINT key_mdfe_chave UNIQUE(chave_acesso_mdfe),
  CONSTRAINT fk_mdfe_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_mdfe_municipio1 FOREIGN KEY (cod_mun_emitente)  REFERENCES gestao.municipio (codigo_ibge)
);

CREATE TABLE gestao.mdfedoc (
  id_mdfedoc SERIAL NOT NULL ,
  id_mdfe INT NULL ,
  modelo CHAR(2) NULL ,
  chave CHAR(44) NULL ,
  cnpj_emitente CHAR(14) NULL ,
  uf_destinatario CHAR(2) NULL ,
  numero INT NULL ,
  serie INT NULL ,
  subserie SMALLINT NULL ,
  dt_emissao DATE NULL ,
  valor DECIMAL(15,2) NULL ,
  pin_suframa INT NULL ,
  id_mun_carga INT NOT NULL ,
  id_mun_descarga INT NOT NULL ,
  peso_bruto DECIMAL(12,3) NULL,
  CONSTRAINT pk_mdfedoc PRIMARY KEY (id_mdfedoc),
  CONSTRAINT fk_mdfedoc_mdfe FOREIGN KEY (id_mdfe) REFERENCES gestao.mdfe (id_mdfe),
  CONSTRAINT fk_mdfedoc_municipio1 FOREIGN KEY (id_mun_carga)  REFERENCES gestao.municipio (id_municipio),
  CONSTRAINT fk_mdfedoc_municipio2 FOREIGN KEY (id_mun_descarga)  REFERENCES gestao.municipio (id_municipio)
);
--RUN--

--SEQ 0440-- 02/07/2014 11:50 ALAN
ALTER TABLE gestao.carga ADD COLUMN id_motorista integer;
--RUN--

--SEQ 0441-- 14/07/2014 11:47 JCS
UPDATE gestao.vendedor SET dados_adicionais=replace(dados_adicionais,chr(13)||chr(10),chr(10))
--RUN--

--SEQ 0442-- 31/07/2014 16:31 JCS
CREATE TABLE gestao.uen
(
   id_uen serial NOT NULL, 
   id_empresa integer NOT NULL, 
   codigo integer NOT NULL, 
   nome character(40) NOT NULL, 
   ativa smallint NOT NULL, 
   CONSTRAINT pk_uen PRIMARY KEY (id_uen), 
   CONSTRAINT key_uen_codigo UNIQUE  (id_empresa, codigo), 
   CONSTRAINT fk_uen_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa) ON UPDATE RESTRICT ON DELETE RESTRICT
); 

ALTER TABLE gestao.produto ADD COLUMN cod_uen integer;
--RUN--

--SEQ 0443-- 01/08/2014 16:36 HENRIQUE
ALTER TABLE gestao.ctp ALTER obs TYPE character(400);
--RUN--

--SEQ 0444-- 05/08/2014 19:00 JCS
ALTER TABLE gestao.grupo RENAME id_natureza TO id_nat_estoque;
ALTER TABLE gestao.grupo ADD COLUMN cod_ccusto integer;
ALTER TABLE gestao.grupo ADD COLUMN id_natureza integer;
--RUN--

--SEQ 0445-- 13/08/2014 13:12 JCS
ALTER TABLE gestao.vendedor ADD COLUMN email_nfe character(200);
--RUN--

--SEQ 0446-- 14/08/2014 16:50 ALAN
ALTER TABLE gestao.entradas ADD COLUMN cod_retencao character(20);
--RUN--

--SEQ 0447-- 20/08/2014 09:00 ALAN
CREATE TABLE gestao.motorista(
  id_motorista SERIAL NOT NULL ,
  id_empresa INT NULL ,
  codigo integer NOT NULL, 
  nome CHAR(40) NULL ,
  endereco CHAR(50) NULL ,
  bairro CHAR(30) NULL ,
  id_munic INT NULL ,
  carte_habilit CHAR(10) NULL ,
  categ_habil CHAR(3) NULL ,
  data_nasci DATE NULL ,
  telefone CHAR(20) NULL ,
  tel_cel CHAR(20) NULL ,
  rg_num DECIMAL(12,0) NULL ,
  cpf CHAR(14) NULL ,
  anotacao VARCHAR(1023) NULL ,
  ativo SMALLINT NULL ,
  CONSTRAINT pk_motorista PRIMARY KEY (id_motorista),
  CONSTRAINT key_motorista_codigo UNIQUE (id_empresa, codigo),
  CONSTRAINT fk_motorista_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_motorista_municipio FOREIGN KEY (id_munic) REFERENCES gestao.municipio (id_municipio)
);

CREATE TABLE gestao.veiculo(
  id_veiculo SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  codigo integer NOT NULL, 
  descr CHAR(40) NULL ,
  marca CHAR(20) NOT NULL ,
  id_munic INT NULL ,
  placa CHAR(10) NOT NULL ,
  chassis CHAR(20) NULL ,
  renavam CHAR(20) NULL ,
  data_aviso INT NULL ,
  tipo SMALLINT NULL ,
  cap_m3 DECIMAL(7,3) NULL ,
  cap_kg DECIMAL(7,0) NULL ,
  l_chapeu DECIMAL(6,2) NULL ,
  a_chapeu DECIMAL(5,2) NULL ,
  c_chapeu DECIMAL(6,2) NULL ,
  l_bau DECIMAL(6,2) NULL ,
  a_bau DECIMAL(6,2) NULL ,
  c_bau DECIMAL(6,2) NULL ,
  cod_motorista INT NULL ,
  id_fornecedor INT NULL ,
  ano_fabricacao INT NULL ,
  ano_modelo INT NULL ,
  data_alienacao DATE NULL ,
  anotacao VARCHAR(1023) NULL ,
  cod_ccusto INT NULL ,
  ativo SMALLINT NULL ,
  tara_kg INT NULL ,
  tp_veic SMALLINT NULL ,
  tp_rod SMALLINT NULL ,
  tp_car SMALLINT NULL ,
  rntc_veiculo CHAR(20) NULL,
  CONSTRAINT pk_veiculo PRIMARY KEY (id_veiculo),
  CONSTRAINT key_veiculo_codigo UNIQUE (id_empresa, codigo), 
  CONSTRAINT key_veiculo_placa UNIQUE (id_empresa, placa),
  CONSTRAINT fk_veiculo_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_veiculo_municipio FOREIGN KEY (id_munic) REFERENCES gestao.municipio (id_municipio),
  CONSTRAINT fk_veiculo_motorista FOREIGN KEY (id_empresa,cod_motorista) REFERENCES gestao.motorista (id_empresa,codigo),
  CONSTRAINT fk_veiculo_ccusto FOREIGN KEY (id_empresa,cod_ccusto) REFERENCES gestao.ccusto (id_empresa,codigo)
);
--RUN--

--SEQ 0448-- 26/08/2014 17:20 HENRIQUE
ALTER TABLE gestao.carga ADD COLUMN conferido smallint;
UPDATE gestao.carga set conferido = 0;

ALTER TABLE gestao.nfdet DISABLE TRIGGER gera_estmovto_nfdet;
ALTER TABLE gestao.nfdet DISABLE TRIGGER nfdet_controle_estterceiro;
ALTER TABLE gestao.nfdet DISABLE TRIGGER valida_nfdet;
UPDATE gestao.nfdet SET tp_calc_pisst=' ' WHERE tp_calc_pisst IS NULL;
UPDATE gestao.nfdet SET tp_calc_cofinsst=' ' WHERE tp_calc_cofinsst IS NULL;
ALTER TABLE gestao.nfdet ALTER COLUMN tp_calc_pisst SET NOT NULL;
ALTER TABLE gestao.nfdet ALTER COLUMN tp_calc_cofinsst SET NOT NULL;
ALTER TABLE gestao.nfdet ENABLE TRIGGER gera_estmovto_nfdet;
ALTER TABLE gestao.nfdet ENABLE TRIGGER nfdet_controle_estterceiro;
ALTER TABLE gestao.nfdet ENABLE TRIGGER valida_nfdet;
--RUN--

--SEQ 0449-- 29/08/2014 08:00 ALAN
ALTER TABLE gestao.corxpro ADD COLUMN hr_atual TIME;
ALTER TABLE gestao.corxpro ADD COLUMN frete SMALLINT;
--RUN--

--SEQ 0450-- 29/08/2014 09:15 JULIO
CREATE TABLE gestao.sarconfig
(
  id_sarconfig serial NOT NULL,
  id_empresa integer NOT NULL,  
  chave character varying(256) NOT NULL,
  nome character varying(256) NOT NULL,
  valor character varying(256) NOT NULL,
  CONSTRAINT pk_sarconfig PRIMARY KEY (id_sarconfig),
  CONSTRAINT fk_sarconfig_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT key_sarconfig_chave_nome UNIQUE (id_empresa, chave, nome)
);
--RUN--

--SEQ 0451-- 02/09/2014 09:15 ALAN
ALTER TABLE gestao.veiculo ADD COLUMN cor CHAR(20);
--RUN--

--SEQ 0452-- 03/09/2014 09:15 ALAN
ALTER TABLE gestao.entradas RENAME id_veiculo  TO cod_veiculo;
--RUN--

--SEQ 0453-- 04/09/2014 09:20 ALAN
ALTER TABLE gestao.carga RENAME id_motorista  TO cod_motorista;
ALTER TABLE gestao.carga RENAME id_veiculo  TO cod_veiculo;
ALTER TABLE gestao.viagem RENAME id_motorista  TO cod_motorista;
ALTER TABLE gestao.viagem RENAME id_veiculo  TO cod_veiculo;
ALTER TABLE gestao.mdfe RENAME id_veic_pri TO cod_veic_pri;
ALTER TABLE gestao.mdfe RENAME id_veic_r1 TO cod_veic_r1;
ALTER TABLE gestao.mdfe RENAME id_veic_r2 TO cod_veic_r2;
ALTER TABLE gestao.mdfe RENAME id_veic_r3 TO cod_veic_r3;
ALTER TABLE gestao.mdfe RENAME id_condutor1 TO cod_condutor1;
ALTER TABLE gestao.mdfe RENAME id_condutor2 TO cod_condutor2;
ALTER TABLE gestao.mdfe RENAME id_condutor3 TO cod_condutor3;
ALTER TABLE gestao.ctc RENAME id_veiculo TO cod_veiculo;
ALTER TABLE gestao.ctc RENAME id_veiculo2 TO cod_veiculo2;
ALTER TABLE gestao.ctc RENAME id_veiculo3 TO cod_veiculo3;
ALTER TABLE gestao.ctc RENAME id_veiculo4 TO cod_veiculo4;
ALTER TABLE gestao.ctc RENAME id_motorista TO cod_motorista;
ALTER TABLE gestao.ctc RENAME id_motorista2 TO cod_motorista2;
ALTER TABLE gestao.ctc RENAME id_motorista3 TO cod_motorista3;
ALTER TABLE gestao.ctc RENAME id_motorista4 TO cod_motorista4;
--RUN--

--SEQ 0454-- 12/09/2014 14:55 JCS
ALTER TABLE gestao.reqd DISABLE TRIGGER gera_estmovto_reqd;
UPDATE gestao.reqd SET vl_total=-vl_total WHERE id_reqd IN (
SELECT a.id_reqd
  FROM gestao.reqd A
  LEFT OUTER  JOIN gestao.req B ON (a.id_req=b.id_req)
  WHERE tipo=2 AND vl_total>0
);
ALTER TABLE gestao.reqd ENABLE TRIGGER gera_estmovto_reqd;
--RUN--

--SEQ 0455-- 12/09/2014 16:24 HENRIQUE
ALTER TABLE gestao.vendedor ADD COLUMN sar_todos_clientes smallint;
--RUN--

--SEQ 0456-- 17/09/2014 21:00 JCS
CREATE TABLE gestao.ccustoxctb (
  id_ccustoxctb SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  origem CHAR(20) NOT NULL ,
  cod_ccusto INT NOT NULL ,
  cod_ctbconta INT NOT NULL
);

ALTER TABLE gestao.ccustoxctb ADD CONSTRAINT pk_ccustoxctb PRIMARY KEY(id_ccustoxctb);
ALTER TABLE gestao.ccustoxctb ADD CONSTRAINT fk_ccustoxctb_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa);
ALTER TABLE gestao.ccustoxctb ADD CONSTRAINT fk_ccustoxctb_ccusto  FOREIGN KEY (id_empresa,cod_ccusto) REFERENCES gestao.ccusto (id_empresa,codigo);
ALTER TABLE gestao.ccustoxctb ADD CONSTRAINT key_ccustoxctb_origem UNIQUE (id_empresa, origem, cod_ccusto);
--RUN--

--SEQ 0457-- 18/09/2014 17:30 JCS
ALTER TABLE gestao.sticms ADD COLUMN perc_carga_trib numeric(7,2);
--RUN--

--SEQ 0458-- 25/09/2014 17:30 JCS
SELECT SET_CONFIG('jcs.semaforo', '0', FALSE);
ALTER TABLE gestao.ccusto DROP CONSTRAINT key_ccusto_mascara;
UPDATE gestao.ccusto set codigo=codigo WHERE nivel=1;
UPDATE gestao.ccusto set codigo=codigo WHERE nivel=2;
UPDATE gestao.ccusto set codigo=codigo WHERE nivel=3;
UPDATE gestao.ccusto set codigo=codigo WHERE nivel=4;
UPDATE gestao.ccusto SET mascara=id_ccusto::text WHERE id_ccusto IN (SELECT min(id_ccusto) FROM gestao.ccusto GROUP BY id_empresa,mascara HAVING count(*)>1);
ALTER TABLE gestao.ccusto ADD CONSTRAINT key_ccusto_mascara UNIQUE(id_empresa, mascara);
--RUN--

--SEQ 0459-- 27/09/2014 20:30 JCS
ALTER TABLE gestao.uen ADD COLUMN apelido character(20);
ALTER TABLE gestao.produto DROP CONSTRAINT key_produto_id_erp;
ALTER TABLE gestao.produto ADD CONSTRAINT key_produto_id_erp UNIQUE(id_erp, id_empresa);
--RUN--

--SEQ 0460-- 29/09/2014 16:42 JCS
DROP TABLE gestao.fretepag;
--RUN--IGNORE ERRO

--SEQ 0461-- 29/09/2014 16:52 JCS
CREATE TABLE gestao.fretepag
(
  id_fretepag serial NOT NULL,
  data date NOT NULL,
  id_transportador integer NOT NULL,
  tipo character(1) NOT NULL,
  numero integer NOT NULL,
  serie character(3) NOT NULL,
  dt_emissao date NOT NULL,
  valor_docto numeric(12,2) NOT NULL,
  valor_frete numeric(12,2) NOT NULL,
  id_regiao integer,
  id_empresa integer NOT NULL,
  num_ctc integer,
  num_carga integer,
  id_entrada integer,
  modelo character(2),
  chave_dfe character(44),
  CONSTRAINT pk_fretepag PRIMARY KEY (id_fretepag),
  CONSTRAINT fk_fretepag_carga FOREIGN KEY (num_carga)
      REFERENCES gestao.carga (id_carga),
  CONSTRAINT fk_fretepag_empresa FOREIGN KEY (id_empresa)
      REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_fretepag_entradas FOREIGN KEY (id_entrada)
      REFERENCES gestao.entradas (id_entrada) ,
  CONSTRAINT chk_fretepag_tipo CHECK (tipo IN ('E','S'))
);
--RUN--

--SEQ 0462-- 30/09/2014 16:40 JCS
ALTER TABLE gestao.nfdet ADD COLUMN cod_mot_deson smallint;
ALTER TABLE gestao.nfdet ADD COLUMN vl_deson_icms numeric(15,2);
ALTER TABLE gestao.nfdet ADD COLUMN vl_deson_pis numeric(15,2);
ALTER TABLE gestao.nfdet ADD COLUMN vl_deson_cofins numeric(15,2);
--RUN--

--SEQ 0463-- 16/10/2014 16:17 JCS
ALTER TABLE gestao.nfendereco ADD COLUMN id_municipio integer;
ALTER TABLE gestao.nfendereco DISABLE TRIGGER valida_nfendereco;
UPDATE gestao.nfendereco SET id_municipio=(SELECT A.id_municipio FROM gestao.municipio A WHERE A.codigo_ibge=cod_municipio);
ALTER TABLE gestao.nfendereco ENABLE TRIGGER valida_nfendereco;
ALTER TABLE gestao.nfendereco DROP CONSTRAINT fk_nfendereco_municipio;
ALTER TABLE gestao.nfendereco ADD CONSTRAINT fk_nfendereco_municipio FOREIGN KEY (id_municipio) REFERENCES gestao.municipio (id_municipio);
--RUN--

--SEQ 0464-- 18/10/2014 15:35 JCS
CREATE TABLE gestao.nfeconfig
(
  id_nfeconfig serial NOT NULL,
  id_empresa integer NOT NULL,  
  chave character varying(256) NOT NULL,
  nome character varying(256) NOT NULL,
  valor character varying(256) NOT NULL,
  CONSTRAINT pk_nfeconfig PRIMARY KEY (id_nfeconfig),
  CONSTRAINT fk_nfeconfig_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT key_nfeconfig_chave_nome UNIQUE (id_empresa, chave, nome)
);
--RUN--

--SEQ 0465-- 20/10/2014 16:35 WILLIAN	
ALTER TABLE gestao.produto ADD COLUMN descr_nf character(120);
--RUN--

--SEQ 0466-- 21/10/2014 10:15 JCS
ALTER TABLE gestao.cfopxtes ADD COLUMN orig_merc character(1);
ALTER TABLE gestao.cfopxtes ADD CONSTRAINT chk_cfopxtes_orig_merc CHECK (orig_merc IN ('0','1','2','3','4','5','6','7','8'));
DELETE FROM gestao.cfopxtes WHERE length(cst_icms_entrada)=2 and orig_merc IS NULL;
UPDATE gestao.cfopxtes SET orig_merc=substring(cst_icms_entrada,1,1),cst_icms_entrada=substring(cst_icms_entrada,2,3) WHERE length(cst_icms_entrada) IN (3,4) and orig_merc IS NULL;
--RUN--

--SEQ 0467-- 22/10/2014 14:09 JCS
ALTER TABLE gestao.reqd DISABLE TRIGGER atual_qtd_requisitada_opins;
ALTER TABLE gestao.reqd DISABLE TRIGGER gera_estmovto_reqd;
UPDATE gestao.reqd SET id_ctbconta_desp=NULL WHERE id_ctbconta_desp=0;
ALTER TABLE gestao.reqd ENABLE TRIGGER atual_qtd_requisitada_opins;
ALTER TABLE gestao.reqd ENABLE TRIGGER gera_estmovto_reqd;
--RUN--

--SEQ 0467-- 24/10/2014 10:22 JCS
CREATE TABLE gestao.pad (
  id_pad SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  numero INT NOT NULL ,
  data DATE NOT NULL ,
  solicitante CHAR(12) NOT NULL ,
  autorizador CHAR(12) NULL ,
  situacao CHAR(1) NULL ,
  tipo CHAR(5) NULL ,
  id_fornecedor INT NOT NULL ,
  cod_ccusto INT NOT NULL ,
  id_natureza INT NOT NULL ,
  descricao CHAR(200) NULL ,
  valor DECIMAL(15,2) NOT NULL ,
  dt_vencto DATE NULL ,
  id_origem CHAR(30) NULL,
  CONSTRAINT pk_pad PRIMARY KEY (id_pad),
  CONSTRAINT key_pad_numero UNIQUE (numero),
  CONSTRAINT key_pad_origem UNIQUE (id_origem),
  CONSTRAINT fk_pad_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_pad_ccusto FOREIGN KEY (id_empresa, cod_ccusto) REFERENCES gestao.ccusto (id_empresa, codigo)  
);

CREATE INDEX key_pad_data ON gestao.pad (data,id_empresa);
--RUN--

--SEQ 0468-- 24/10/2014 11:00 JCS
ALTER TABLE gestao.ctp ADD COLUMN sit_aep character(2);
--RUN--

--SEQ 0469-- 24/10/2014 15:06 JCS
ALTER TABLE gestao.entradet ADD COLUMN num_pad integer;
--RUN--

--SEQ 0470-- 27/10/2014 06:06 JCS
ALTER TABLE gestao.ocd ADD COLUMN cod_ccusto integer;
--RUN--

--SEQ 0471-- 28/10/2014 19:35 JCS
ALTER TABLE gestao.reqd ADD COLUMN id_ctbconta_cred integer;
--RUN--

--SEQ 0472-- 20/11/2014 12:11 JCS
CREATE TABLE gestao.prodsetor
(
  id_prodsetor serial,
  id_empresa integer NOT NULL,
  num_op integer NOT NULL,
  item integer NOT NULL,
  cod_setor integer NOT NULL,
  ordem integer NOT NULL,
  data date NOT NULL,
  hora time  NOT NULL,
  tipo character(1) NOT NULL,
  qtdade numeric(15,3) NOT NULL,
  usuario character(12) NOT NULL
);

ALTER TABLE gestao.prodsetor ADD CONSTRAINT pk_prodsetor PRIMARY KEY(id_prodsetor);
ALTER TABLE gestao.prodsetor ADD CONSTRAINT fk_prodsetor_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa);
ALTER TABLE gestao.prodsetor ADD CONSTRAINT key_prodsetor_num_op UNIQUE(id_empresa, num_op, item, cod_setor, ordem);
--RUN--

--SEQ 0473-- 15/12/2014 11:20 JCS
CREATE TABLE gestao.autorizadoxml
(
   id_autorizadoxml serial, 
   tab_origem character varying(10) NOT NULL,  
   id_origem integer NOT NULL, 
   tipo smallint NOT NULL, 
   cnpj_cpf character varying(14) NOT NULL, 
   CONSTRAINT pk_autorizadoxml PRIMARY KEY (id_autorizadoxml), 
   CONSTRAINT key_autorizadoxml_cnpj_cpf UNIQUE (tab_origem, id_origem, cnpj_cpf)
); 
--RUN--

--SEQ 0474-- 17/12/2014 18:02 JCS
ALTER TABLE gestao.coleta ADD COLUMN unidade character(6);
--RUN--

--SEQ 0475-- 16-01-2015 16:00 Willian
CREATE TABLE gestao.nfdetexport
(
   id_nfdetexport serial,
   id_nfdet integer NOT NULL,
   ndraw character varying(11),
   nre character varying(12),
   chave_nfe character varying(44),
   qtd_export numeric(12,4),
   CONSTRAINT pk_nfdetexport PRIMARY KEY (id_nfdetexport),
   CONSTRAINT fk_nfdetexport_nfdet FOREIGN KEY (id_nfdet) REFERENCES gestao.nfdet (id_nfdet)   
); 

ALTER TABLE gestao.nf ADD COLUMN hr_emissao time;
ALTER TABLE gestao.nf ADD COLUMN tp_operacao smallint;
ALTER TABLE gestao.nf ADD COLUMN indic_cons_final smallint;
ALTER TABLE gestao.nf ADD COLUMN indic_presencial char(1);
ALTER TABLE gestao.nf ADD COLUMN im_destinatario character varying(15);
ALTER TABLE gestao.nf ADD COLUMN vl_tot_icms_deson numeric(15,2);
ALTER TABLE gestao.nf ADD COLUMN dt_prest_serv date;
ALTER TABLE gestao.nf ADD COLUMN vl_deducao_bc_iss numeric(15,2);
ALTER TABLE gestao.nf ADD COLUMN vl_outras_ret_iss numeric(15,2);
ALTER TABLE gestao.nf ADD COLUMN vl_desc_incond numeric(15,2);
ALTER TABLE gestao.nf ADD COLUMN vl_desc_cond numeric(15,2);
ALTER TABLE gestao.nf ADD COLUMN vl_ret_iss numeric(15,2);
ALTER TABLE gestao.nf ADD COLUMN cod_reg_tributado smallint;
ALTER TABLE gestao.nfdet ADD COLUMN tp_via_transp smallint;
ALTER TABLE gestao.nfdet ADD COLUMN vl_afrmm numeric(12,2);
ALTER TABLE gestao.nfdet ADD COLUMN tp_intermedio smallint;
ALTER TABLE gestao.nfdet ADD COLUMN cnpj_encomendante character varying(14);
ALTER TABLE gestao.nfdet ADD COLUMN uf_encomendante char(2);
ALTER TABLE gestao.nfdet ADD COLUMN perc_gas_natural numeric(6,2);
ALTER TABLE gestao.nfdet ADD COLUMN perc_diferimento numeric(6,2);
ALTER TABLE gestao.nfdet ADD COLUMN vl_icms_diferido numeric(15,2);
ALTER TABLE gestao.empresa ADD COLUMN indic_presencial char(1);
ALTER TABLE gestao.sticms ADD COLUMN perc_diferimento numeric(6,2);
--RUN--

--SEQ 0476-- 19-01-2015 14:00 Willian
ALTER TABLE gestao.nfdet ADD COLUMN vl_icms_operacao numeric(15,2);
--RUN--

--SEQ 0477-- 20-01-2015 17:00 Willian
  ALTER TABLE gestao.nfdet ALTER COLUMN cod_servico TYPE character(5);
  ALTER TABLE gestao.nfdet RENAME COLUMN cod_servico TO cod_class_servico;
  ALTER TABLE gestao.nfdet ADD COLUMN vl_deducao_bc_issqn numeric(15,2);
  ALTER TABLE gestao.nfdet ADD COLUMN vl_outras_ret_issqn numeric(15,2);
  ALTER TABLE gestao.nfdet ADD COLUMN vl_desc_incond numeric(15,2);
  ALTER TABLE gestao.nfdet ADD COLUMN vl_desc_cond numeric(15,2);
  ALTER TABLE gestao.nfdet ADD COLUMN vl_ret_issqn numeric(15,2);
  ALTER TABLE gestao.nfdet ADD COLUMN indic_exigi_issqn char(2);
  ALTER TABLE gestao.nfdet ADD COLUMN cod_servico character varying(20);
  ALTER TABLE gestao.nfdet ADD COLUMN cod_mun_insid_issqn integer;
  ALTER TABLE gestao.nfdet ADD COLUMN cod_pais_issqn integer;
  ALTER TABLE gestao.nfdet ADD COLUMN num_processo_issqn character varying(30);
  ALTER TABLE gestao.nfdet ADD COLUMN indic_incent_issqn smallint;
  ALTER TABLE gestao.st ADD COLUMN indic_exigi_issqn char(2);
  ALTER TABLE gestao.st ADD COLUMN indic_incent_issqn smallint;
  ALTER TABLE gestao.produto ALTER COLUMN cod_servico TYPE character(5);
  ALTER TABLE gestao.produto RENAME COLUMN cod_servico TO cod_class_servico;
--RUN--

--SEQ 0478-- 28-01-2015 11:30 Alan
ALTER TABLE gestao.estinventario ADD COLUMN status smallint;
--RUN--

--SEQ 0479-- 28-01-2015 15:00 Willian
ALTER TABLE gestao.empresa ADD COLUMN regi_esp_trib smallint;
--RUN--

--SEQ 0480-- 29-01-2015 10:30 JCS
ALTER TABLE gestao.propitem ADD COLUMN calc_custo_bloq smallint;
ALTER TABLE gestao.propitem ADD COLUMN vl_custo numeric(15,4);
ALTER TABLE gestao.propitem ADD COLUMN vl_perda numeric(15,4);

ALTER TABLE gestao.scd ADD COLUMN id_natureza integer;
ALTER TABLE gestao.scd ADD COLUMN cod_ccusto  integer;
--RUN--

--SEQ 0481-- 30-01-2015 14:35 JCS
ALTER TABLE gestao.stxtes ADD COLUMN cod_st_exclusivo integer;
--RUN--

--SEQ 0482-- 04-02-2015 13:50 WILLIAN
ALTER TABLE gestao.nf ALTER COLUMN indic_cons_final SET DEFAULT 0;
--RUN--

--SEQ 0483-- 11-02-2015 16:00 WILLIAN
ALTER TABLE gestao.nfdetexport ADD COLUMN id_peditem integer;
ALTER TABLE gestao.nfdetexport ADD COLUMN tipo_exp char(1);
ALTER TABLE gestao.nfdetexport ADD COLUMN ordem integer;
UPDATE gestao.st SET indic_exigi_issqn='2' WHERE tp_calc_issqn is null and indic_exigi_issqn is null;
--RUN--

--SEQ 0484-- 11-02-2015 17:00 JCS
ALTER TABLE gestao.lanctos ADD COLUMN dt_compensacao date;
ALTER TABLE gestao.pauta   ADD COLUMN bloq_descontos smallint;
ALTER TABLE gestao.vendedor ADD COLUMN tx_irrf numeric(6,2);
--RUN--

--SEQ 0485-- 12-02-2015 15:00 WILLIAN
ALTER TABLE gestao.nfdetexport ALTER COLUMN id_nfdet DROP NOT NULL;
--RUN--

--SEQ 0486-- 13-02-2015 10:00 WILLIAN
ALTER TABLE gestao.nfdet DISABLE TRIGGER gera_estmovto_nfdet;
ALTER TABLE gestao.nfdet DISABLE TRIGGER nfdet_controle_estterceiro;
ALTER TABLE gestao.nfdet DISABLE TRIGGER valida_nfdet;
UPDATE gestao.nfdet SET indic_exigi_issqn=null WHERE indic_exigi_issqn='';
ALTER TABLE gestao.nfdet ADD CONSTRAINT chk_indic_exigi_issqn CHECK (indic_exigi_issqn IN ('1','2','3','4','5','6','7'));
ALTER TABLE gestao.st ADD CONSTRAINT chk_indic_exigi_issqn CHECK (indic_exigi_issqn IN ('1','2','3','4','5','6','7'));
ALTER TABLE gestao.nfdet ENABLE TRIGGER gera_estmovto_nfdet;
ALTER TABLE gestao.nfdet ENABLE TRIGGER nfdet_controle_estterceiro;
ALTER TABLE gestao.nfdet ENABLE TRIGGER valida_nfdet;
--RUN--

--SEQ 0487-- 25-02-2015 09:00 WILLIAN
UPDATE gestao.st SET indic_exigi_issqn='2' WHERE (tp_calc_issqn is null or tp_calc_issqn='') and (indic_exigi_issqn is null or indic_exigi_issqn='');
--RUN--

--SEQ 0488-- 25-02-2015 09:50 JCS
ALTER TABLE gestao.nf ADD COLUMN op_cancelada character(1);
ALTER TABLE gestao.entradas ADD COLUMN op_cancelada character(1);
--RUN--

--SEQ 0489-- 07-03-2015 16:30 JCS
ALTER TABLE gestao.nf  ADD COLUMN usuario_emissao character(12);
ALTER TABLE gestao.pagtos ADD COLUMN id_lancto integer;
--RUN--

--SEQ 0490-- 07-03-2015 18:30 JCS
ALTER TABLE gestao.carga     ADD COLUMN data_picking date;
ALTER TABLE gestao.propitem  ADD COLUMN aplicacao smallint;
ALTER TABLE gestao.produto   ADD COLUMN aplicacao smallint;
--RUN--

--SEQ 0491-- 16-03-2015 15:53  CRISTIANO
CREATE SEQUENCE gestao.nf_lote_nfe_seq
  INCREMENT 1
  MINVALUE 1
  MAXVALUE 9223372036854775807
  START 1
  CACHE 1;
ALTER TABLE gestao.nf_lote_nfe_seq
  OWNER TO postgres;

SELECT setval('gestao.nf_lote_nfe_seq', (SELECT max(lote_nfe)::integer FROM gestao.nf));
--RUN--

--SEQ 0492-- 17-03-2015 17:45  ALAN
ALTER TABLE gestao.boleto ADD COLUMN cobr_codempresa character(20);
ALTER TABLE gestao.boleto ALTER dv_agencia TYPE character(2);
--RUN--

--SEQ 0493-- 18-03-2015 11:40 JCS
ALTER TABLE gestao.vendedor ALTER COLUMN tx_irrf SET DEFAULT 1.50;
UPDATE gestao.vendedor SET tx_irrf=1.50;
--RUN--

--SEQ 0494-- 20-03-2015 11:40 CRISTIANO
SELECT setval('gestao.nf_lote_nfe_seq', (SELECT max(lote_nfe)::integer FROM gestao.nf));
--RUN--

--SEQ 0495-- 30-03-2015 17:00 ALAN
ALTER TABLE gestao.boleto ADD COLUMN registrado smallint NOT NULL DEFAULT 1;
--RUN--

--SEQ 0496-- 02/04/2015 11:42 JCS
CREATE TABLE gestao.nfemsg
(
   id_nfemsg serial, 
   codigo integer NOT NULL, 
   efeito character(1) NOT NULL, 
   regra_validacao text NOT NULL, 
   descricao_erro text NOT NULL, 
   CONSTRAINT pk_nfecfg PRIMARY KEY (id_nfemsg), 
   CONSTRAINT key_nfemsg_codigo UNIQUE (codigo), 
   CONSTRAINT chk_nfemsg_efeito CHECK (efeito IN ('R','D'))
) ;

INSERT INTO gestao.nfemsg(codigo, efeito, regra_validacao, descricao_erro) VALUES (301,'D','Emitente em situa  o irregular perante o Fisco','Uso Denegado: Irregularidade fiscal do emitente');
INSERT INTO gestao.nfemsg(codigo, efeito, regra_validacao, descricao_erro) VALUES (302,'D','Destinat rio em situa  o irregular perante o Fisco','Uso Denegado: Irregularidade fiscal do destinat rio');
INSERT INTO gestao.nfemsg(codigo, efeito, regra_validacao, descricao_erro) VALUES (303,'D','Destinat rio (CNPJ/CPF) n o possui estabelecimento na UF ou deveria ter Inscri  o Estadual de ICMS na UF','Uso Denegado: Destinat rio n o habilitado a operar na UF');
--RUN--

--SEQ 0497-- 04/04/2015 14:50 JCS
UPDATE gestao.nf SET status='I' WHERE id_nf IN (
select id_nf from gestao.nf WHERE status = 'D' and cod_status_nfe not in (SELECT codigo FROM gestao.nfemsg WHERE efeito='D')
);
--RUN--

--SEQ 0498-- 08/04/2015 10:50 ALAN
ALTER TABLE gestao.boleto ALTER carteira TYPE character varying(3);
ALTER TABLE gestao.boleto ALTER var_carteira TYPE character varying(2);
--RUN--

--SEQ 0499-- 10/04/2015 10:50 ALAN
ALTER TABLE gestao.itemdocto ADD COLUMN vl_abat_nt numeric(15,2);
--RUN--

--SEQ 0500-- 30/04/2015 11:00 ALAN
ALTER TABLE gestao.oc ADD COLUMN ja_recebido SMALLINT;
ALTER TABLE gestao.oc ADD COLUMN prazo_entrega CHARACTER(20);
ALTER TABLE gestao.oc ADD COLUMN num_assist integer;
ALTER TABLE gestao.oc ALTER cep_fat TYPE character varying(10);
ALTER TABLE gestao.ocd ALTER qtd_comprada TYPE numeric(12, 4);
ALTER TABLE gestao.ocd ALTER tx_desc1 TYPE numeric(8, 2);
ALTER TABLE gestao.ocd ALTER tx_desc2 TYPE numeric(8, 2);
ALTER TABLE gestao.ocd ALTER tx_desc3 TYPE numeric(8, 2);
ALTER TABLE gestao.ocd ALTER tx_desc4 TYPE numeric(8, 2);
ALTER TABLE gestao.ocd ALTER tx_desc5 TYPE numeric(8, 2);
ALTER TABLE gestao.ocd ALTER tx_ipi TYPE numeric(8, 2);
ALTER TABLE gestao.ocd ALTER tx_margem TYPE numeric(10, 2);

ALTER TABLE gestao.oc DROP CONSTRAINT key_ocd_situacao;
ALTER TABLE gestao.oc ADD CONSTRAINT chk_oc_situacao CHECK (situacao = 'T'::bpchar OR situacao = 'P'::bpchar OR situacao = 'L'::bpchar OR situacao = 'E'::bpchar OR situacao = 'R'::bpchar OR situacao = 'A'::bpchar OR situacao = 'C'::bpchar);

ALTER TABLE gestao.ocd DROP CONSTRAINT chk_ocd_situacao;
ALTER TABLE gestao.ocd ADD CONSTRAINT chk_ocd_situacao CHECK (situacao = 'T'::bpchar OR situacao = 'P'::bpchar OR situacao = 'L'::bpchar OR situacao = 'E'::bpchar OR situacao = 'R'::bpchar OR situacao = 'A'::bpchar OR situacao = 'C'::bpchar);
--RUN--

--SEQ 0501-- 20/05/2015 15:00 Willian
ALTER TABLE gestao.produto ADD COLUMN ind_est numeric(12,3);
--RUN--

--SEQ 0502-- 25/05/2015 09:30 JCS
ALTER TABLE gestao.planorefsped ADD COLUMN ordem integer;
ALTER TABLE gestao.planorefsped ADD COLUMN cod_superior character(30);
ALTER TABLE gestao.planorefsped ADD COLUMN natureza smallint;

ALTER TABLE gestao.planorefsped DROP CONSTRAINT key_planorefsped_codigo;
ALTER TABLE gestao.planorefsped ADD CONSTRAINT key_planorefsped_codigo UNIQUE(plano_contas_ref, codigo, dt1);
--RUN--

--SEQ 0503-- 02/06/2015 20:06 JCS
ALTER TABLE gestao.vendedor ADD COLUMN cod_uen_padrao integer;
--RUN--

--SEQ 0504-- 11/06/2015 13:37 JCS
ALTER TABLE gestao.uen  ADD COLUMN cod_vend_padrao integer;
--RUN--

--SEQ 0505-- 23/06/2015 16:34 CRISTIANO
CREATE TABLE gestao.dfe
(
  id_dfe serial NOT NULL,
  id_empresa integer NOT NULL,
  versao character varying(5) NOT NULL,
  chave_dfe character varying(44) NOT NULL,
  cnpj_cpf character varying(14) NOT NULL,
  razao_social character varying(60) NOT NULL,
  inscr_estadual character varying(14) NOT NULL,
  dt_emissao date NOT NULL,
  hr_emissao time without time zone NOT NULL,
  tp_operacao character(1) NOT NULL,
  vl_dfe numeric(13,2) NOT NULL,
  digest_value character varying(28) NOT NULL,
  dt_recbto date NOT NULL,
  hr_recbto time without time zone NOT NULL,
  num_protocolo character varying(15) NOT NULL,
  situacao character(1) NOT NULL,
  nsu character varying(15) NOT NULL,
  cod_manifesto integer DEFAULT 0,
  desc_justificativa character varying(60),
  dt_manifestacao date,
  hr_manifestacao time without time zone,
  CONSTRAINT pk_dfe PRIMARY KEY (id_dfe),
  CONSTRAINT fk_dfe_empresa FOREIGN KEY (id_empresa)
      REFERENCES gestao.empresa (id_empresa) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT key_chave_nfe UNIQUE (chave_dfe, id_empresa),
  CONSTRAINT key_nsu UNIQUE (nsu, id_empresa),
  CONSTRAINT key_num_protocolo UNIQUE (num_protocolo)
);

CREATE INDEX key_dfe_nsu_empresa
  ON gestao.dfe
  USING btree
  (id_empresa, nsu);


CREATE TABLE gestao.dfeevento
(
  id_dfeevento serial NOT NULL,
  id_empresa integer NOT NULL,
  versao character varying(5) NOT NULL,
  cod_orgao integer NOT NULL,
  cnpj_cpf character varying(14) NOT NULL,
  chave_dfe character varying(44) NOT NULL,
  dt_evento date NOT NULL,
  hr_evento time without time zone NOT NULL,
  cod_evento integer NOT NULL,
  seq_evento integer NOT NULL,
  desc_evento character varying(60) NOT NULL,
  dt_recbto date NOT NULL,
  hr_recbto time without time zone NOT NULL,
  num_protocolo character varying(15) NOT NULL,
  nsu character varying(15) NOT NULL,
  CONSTRAINT pk_dfeevento PRIMARY KEY (id_dfeevento),
  CONSTRAINT fk_dfeevento_empresa FOREIGN KEY (id_empresa)
      REFERENCES gestao.empresa (id_empresa) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT key_chave_dfe_evento UNIQUE (chave_dfe, cod_evento, id_empresa, seq_evento),
  CONSTRAINT key_nsu_evento UNIQUE (nsu, id_empresa),
  CONSTRAINT key_num_protocolo_evento UNIQUE (num_protocolo)
);

CREATE INDEX key_dfeevento_nsu_empresa
  ON gestao.dfeevento
  USING btree
  (id_empresa, nsu);

CREATE SEQUENCE gestao.dfe_lote_dfe_seq
  INCREMENT 1
  MINVALUE 1
  MAXVALUE 9223372036854775807
  START 1
  CACHE 1;
ALTER TABLE gestao.dfe_lote_dfe_seq
  OWNER TO postgres;
--RUN--

--SEQ 0506-- 26/06/2015 13:38 CRISTIANO
ALTER TABLE gestao.dfeevento ADD COLUMN desc_justificativa character varying(60);
--RUN--

--SEQ 0507-- 26/06/2015 13:57 JCS
ALTER TABLE gestao.produto ADD COLUMN cod_original character(14);

DROP TRIGGER tsvectorupdate ON gestao.produto;

-- BD VERS O 9.3
CREATE TRIGGER tsvectorupdate
  BEFORE INSERT OR UPDATE
  ON gestao.produto
  FOR EACH ROW
  EXECUTE PROCEDURE tsvector_update_trigger('idxfti', 'pg_catalog.english', 'descricao', 'utilizacao', 'referencia','cod_original');

-- BD VERS O 8.2
--CREATE TRIGGER tsvectorupdate
--  BEFORE INSERT OR UPDATE
--  ON gestao.produto
--  FOR EACH ROW
--  EXECUTE PROCEDURE tsearch2('idxfti', 'descricao', 'utilizacao', 'referencia','cod_original');

--RUN--

--SEQ 0508-- 01/07/2015 10:53 CRISTIANO
ALTER TABLE gestao.vendedor ADD COLUMN vl_ped_minimo numeric(12,2);
--RUN--

--SEQ 0509-- 03/07/2015 12:00 JCS
ALTER TABLE gestao.pagtos ADD COLUMN id_nf_dev integer;
--RUN--

--SEQ 0510-- 07/07/2015 13:30 ALAN
ALTER TABLE gestao.os ALTER COLUMN defeito_recl TYPE character(100);
--RUN--

--SEQ 0511-- 12/07/2015 21:15 JCS
ALTER TABLE gestao.ccusto ALTER COLUMN mascara TYPE character(18);
ALTER TABLE gestao.colaborador ADD COLUMN vl_lim_oc numeric(15,2);
ALTER TABLE gestao.pad ADD COLUMN obs character varying(512);
--RUN--

--SEQ 0512-- 16/07/2015 17:30 JCS
ALTER TABLE gestao.ccusto DROP CONSTRAINT chk_ccusto_nivel;
ALTER TABLE gestao.ccusto ADD CONSTRAINT chk_ccusto_nivel CHECK (nivel IN (1,2,3,4,5));
--RUN--

--SEQ 0513-- 22/07/2015 15:00 JCS
ALTER TABLE gestao.estruturad ADD COLUMN fat_separado smallint;
--RUN--

--SEQ 0514-- 29/07/2015 14:19 CRISTIANO
ALTER TABLE gestao.marca ADD COLUMN ativo smallint;
UPDATE gestao.marca SET ativo = 1;
ALTER TABLE gestao.marca ALTER COLUMN ativo SET NOT NULL; 
--RUN--

--SEQ 0515-- 04/08/2015 13:45JCS
ALTER TABLE gestao.produto ADD COLUMN qtd_embalagem numeric(15,4);
--RUN--

--SEQ 516-- 11/08/2015 10:08 CRISTIANO
ALTER TABLE gestao.dfeevento ALTER COLUMN desc_justificativa TYPE character varying(120);
--RUN--

--SEQ 517-- 18/08/2015 15:25 CRISTIANO
ALTER TABLE gestao.dfeevento ADD COLUMN desc_correcao character varying(1000);
--RUN--

--SEQ 518-- 24/08/2015 10:38 ALAN
CREATE TABLE gestao.pagtos_bkp AS (SELECT * FROM gestao.pagtos where not id_ctp in (select id_ctp from gestao.ctp));

DELETE FROM gestao.pagtos WHERE not id_ctp in(select id_ctp from gestao.ctp);
ALTER TABLE gestao.pagtos ADD CONSTRAINT fk_pagdet_ctp FOREIGN KEY (id_ctp) REFERENCES gestao.ctp (id_ctp);
--RUN--

--SEQ 519-- 31/08/2015 09:55 JCS
ALTER TABLE gestao.estruturad DROP CONSTRAINT key_estruturad_produto;

ALTER TABLE gestao.estruturad
  ADD CONSTRAINT key_estruturad_produto UNIQUE(id_produto, id_estrutura, ordem);
--RUN--

--SEQ 520-- 04/09/2015 10:14 CRISTIANO
ALTER TABLE gestao.viagem ADD COLUMN cod_motorista2 integer;
--RUN--

--SEQ 521-- 08/09/2015 15:00 Willian
CREATE TABLE gestao.grupost
(
   id_grupost serial,
   id_empresa integer NOT NULL,
   grupo_st character varying(30) NOT NULL,
   id_tes integer NOT NULL,
   id_st integer NOT NULL,
   ativo smallint NOT NULL DEFAULT 1,
   CONSTRAINT pk_grupost PRIMARY KEY (id_grupost),
   CONSTRAINT key_grupost UNIQUE (id_empresa, grupo_st, id_tes)
); 

ALTER TABLE gestao.produto ADD COLUMN grupo_st character varying(30);
--RUN--

--SEQ 522-- 10/09/2015 23:55 JCS
CREATE TABLE gestao.spedf100 (
  id_spedf100 SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  data DATE NOT NULL ,
  ind_operacao SMALLINT NOT NULL ,
  id_correntista INT NULL ,
  id_produto INT NULL ,
  vl_operacao DECIMAL(15,2) NOT NULL ,
  cst_pis CHAR(2) NOT NULL ,
  vl_bc_pis DECIMAL(15,2) NOT NULL ,
  aliq_pis DECIMAL(7,2) NOT NULL ,
  vl_pis DECIMAL(15,2) NOT NULL ,
  cst_cofins CHAR(2) NOT NULL ,
  vl_bc_cofins DECIMAL(15,2) NOT NULL ,
  aliq_cofins DECIMAL(7,2) NOT NULL ,
  vl_cofins DECIMAL(15,2) NOT NULL ,
  nat_bc_cred CHAR(2) NOT NULL ,
  origem_credito SMALLINT NOT NULL ,
  cod_conta INT NULL ,
  cod_custo INT NULL ,
  desc_doc_oper CHAR(100) NOT NULL,
  cod_contrib CHAR(2) NOT NULL DEFAULT '02'
);

CREATE INDEX key_spedf100_empresa ON gestao.spedf100 (id_empresa, data);
ALTER TABLE gestao.spedf100 ADD CONSTRAINT pk_spedf100 PRIMARY KEY(id_spedf100);
ALTER TABLE gestao.spedf100 ADD CONSTRAINT fk_spedf100_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa);
ALTER TABLE gestao.spedf100 ADD CONSTRAINT fk_spedf100_correntista FOREIGN KEY (id_correntista) REFERENCES gestao.correntista (id_correntista);
ALTER TABLE gestao.spedf100 ADD CONSTRAINT fk_spedf100_produto FOREIGN KEY (id_produto) REFERENCES gestao.produto (id_produto);
--RUN--

--SEQ 523-- 11/09/2015 09:03
ALTER TABLE gestao.sarcfg ADD COLUMN ativa_grupost smallint DEFAULT 0 NOT NULL;
--RUN--

--SEQ 524-- 11/09/2015 15:00
ALTER TABLE gestao.entradet DROP CONSTRAINT chk_entradet_tipo;
ALTER TABLE gestao.entradet ADD CONSTRAINT chk_entradet_tipo CHECK (tipo = 1 OR tipo = 2 OR tipo = 3 OR tipo = 4 OR tipo = 5 OR tipo = 99);
--RUN--

--SEQ 525-- 15/09/2015 15:25 JCS
ALTER TABLE gestao.correntista ADD COLUMN orgao_publico smallint;
--RUN--

--SEQ 526-- 24/09/2015 10:50 JCS
ALTER TABLE gestao.proposta ADD COLUMN num_pedido integer;
--RUN--

--SEQ 527-- 25/09/2015 15:50 POR ALAN
ALTER TABLE gestao.modecf ADD COLUMN cv0909 smallint;
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao,marca , modelo  , versao   , homologada, mfd,cv0909) VALUES (153, 3,22,1,'BEMATECH            ', 'MP-4200 TH FI       ', '01.00.01', 1        , 1,1);
--RUN--

--SEQ 528-- 29/09/2015 09:20 JCS
ALTER TABLE gestao.op ADD COLUMN dt1 date;
ALTER TABLE gestao.op ADD COLUMN dt2 date;
ALTER TABLE gestao.op ADD COLUMN fluxo_continuo smallint;

ALTER TABLE gestao.estrutura  ADD COLUMN gerar_consumo_sped smallint;
ALTER TABLE gestao.estruturad ADD COLUMN gerar_consumo_sped smallint;
--RUN--

--SEQ 529-- 05/10/2015 13:45 CRISTIANO
ALTER TABLE gestao.dfeevento ADD COLUMN num_protocolo_det character varying(15);
--RUN--

--SEQ 530-- 06/10/2015 18:00 JCS
CREATE INDEX key_estterceiro_cod_produto ON gestao.estterceiro (id_empresa, cod_produto, indic_prop);
CREATE INDEX key_reqd_num_rem_estterceiro ON gestao.reqd (num_rem_estterceiro);
--RUN--

--SEQ 531-- 14/10/2015 10:30 ALAN
ALTER TABLE gestao.ocd ADD COLUMN id_requisitante integer;
ALTER TABLE gestao.ocd ADD COLUMN obs character(150);
--RUN--

--SEQ 532-- 15/10/2015 18:40 JCS
CREATE TABLE gestao.comissao (
  id_comissao SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  id_vendedor INT NOT NULL ,
  data DATE NOT NULL ,
  descr CHAR(40) NOT NULL ,
  valor DECIMAL(15,2) NOT NULL ,
  tipo CHAR(1) NOT NULL ,
  docto CHAR(10) NOT NULL ,
  data_confirmacao DATE NULL
);

ALTER TABLE gestao.comissao ADD CONSTRAINT pk_comissao PRIMARY KEY(id_comissao);
ALTER TABLE gestao.comissao ADD CONSTRAINT fk_comissao_empresa FOREIGN KEY (id_empresa)  REFERENCES gestao.empresa (id_empresa);
ALTER TABLE gestao.comissao ADD CONSTRAINT fk_comissao_vendedor FOREIGN KEY (id_vendedor)  REFERENCES gestao.vendedor (id_vendedor);
ALTER TABLE gestao.comissao ADD CONSTRAINT chk_comissao_tipo CHECK (tipo IN ('D','C','A','S'));

CREATE INDEX key_comissao_empresa  ON gestao.comissao (id_empresa,data);
CREATE INDEX key_comissao_vendedor ON gestao.comissao (id_vendedor,data);
--RUN--

--SEQ 533-- 20/10/2015 17:23 CRISTIANO
ALTER TABLE gestao.req DROP CONSTRAINT chk_req_situacao;
ALTER TABLE gestao.req ADD CONSTRAINT chk_req_situacao CHECK (situacao = ANY (ARRAY['P'::bpchar, 'L'::bpchar, 'C'::bpchar, 'E'::bpchar]));

ALTER TABLE gestao.req DISABLE TRIGGER bloq_alteracao_req;
ALTER TABLE gestao.req DISABLE TRIGGER gera_estmovto_req;
UPDATE gestao.req SET situacao='E' WHERE situacao='P';
ALTER TABLE gestao.req ENABLE TRIGGER bloq_alteracao_req;
ALTER TABLE gestao.req ENABLE TRIGGER gera_estmovto_req;
--RUN--

--SEQ 534-- 23/10/2015 09:43 JCS
ALTER TABLE gestao.req DISABLE TRIGGER ALL;
UPDATE gestao.req SET id_destino=null WHERE id_destino=0;
ALTER TABLE gestao.req ENABLE TRIGGER ALL;
ALTER TABLE gestao.req ADD CONSTRAINT fk_req_estlocal FOREIGN KEY (id_destino) REFERENCES gestao.estlocal (id_estlocal);
--RUN--

--SEQ 535-- 23/10/2015 10:44 JCS
ALTER TABLE gestao.ctp ADD COLUMN data_aep date;
ALTER TABLE gestao.ctp ADD COLUMN op_aep character(12);
--RUN--

--SEQ 536-- 23/10/2015 20:50 JCS
ALTER TABLE gestao.empresa ADD COLUMN aep_ativa smallint NOT NULL DEFAULT 0;
--RUN--

--SEQ 537-- 12/11/2015 17:40 JCS
ALTER TABLE gestao.produto  ADD COLUMN cest integer;

ALTER TABLE gestao.unidade  ADD COLUMN ativa smallint NOT NULL DEFAULT 1;

ALTER TABLE gestao.ccusto  ADD COLUMN ativo smallint NOT NULL DEFAULT 1;

ALTER TABLE gestao.sticms  ADD COLUMN perc_fcp_uf_dest  numeric(6,2);
ALTER TABLE gestao.sticms  ADD COLUMN aliq_icms_uf_dest numeric(6,2);
ALTER TABLE gestao.sticms  ADD COLUMN aliq_icms_inter   numeric(6,2);

ALTER TABLE gestao.nfdet   ADD COLUMN cest integer;
ALTER TABLE gestao.nfdet   ADD COLUMN vl_bc_icms_uf_dest numeric(15,2);
ALTER TABLE gestao.nfdet   ADD COLUMN perc_fcp_uf_dest  numeric(6,2);
ALTER TABLE gestao.nfdet   ADD COLUMN aliq_icms_uf_dest numeric(6,2);
ALTER TABLE gestao.nfdet   ADD COLUMN aliq_icms_inter   numeric(6,2);
ALTER TABLE gestao.nfdet   ADD COLUMN perc_icms_inter_part numeric(6,2);
ALTER TABLE gestao.nfdet   ADD COLUMN vl_fcp_uf_dest 	numeric(15,2);
ALTER TABLE gestao.nfdet   ADD COLUMN vl_icms_uf_dest 	numeric(15,2);
ALTER TABLE gestao.nfdet   ADD COLUMN vl_icms_uf_remet 	numeric(15,2);

ALTER TABLE gestao.nf      ADD COLUMN vl_fcp_uf_dest 	numeric(15,2);
ALTER TABLE gestao.nf      ADD COLUMN vl_icms_uf_dest 	numeric(15,2);
ALTER TABLE gestao.nf      ADD COLUMN vl_icms_uf_remet 	numeric(15,2);
--RUN--

--SEQ 538-- 03/12/2015 11:05 JCS
ALTER TABLE gestao.ocd ADD COLUMN cod_prod_forne character(15);
--RUN--

--SEQ 539-- 22/12/2015 10:10 Willian
ALTER TABLE gestao.detnatureza ADD COLUMN cod_colaborador integer;
--RUN--

--SEQ 540-- 22/01/2016 11:22 CRISTIANO
ALTER TABLE gestao.pauta ADD COLUMN pauta_exclusiva_cliente SMALLINT NOT NULL DEFAULT 0;
--RUN--

--SEQ 541-- 25/01/2016 09:20 JCS
ALTER TABLE gestao.op ADD COLUMN tp_op SMALLINT;
ALTER TABLE gestao.op ADD COLUMN calc_custo SMALLINT;

ALTER TABLE gestao.producao ADD COLUMN custo_ind numeric(15,2);
ALTER TABLE gestao.producao ADD COLUMN custo_total numeric(15,2);
--RUN--

--SEQ 542-- 26/01/2016 10:55 JCS
DROP INDEX gestao.key_estterceiro_cod_produto;

CREATE INDEX key_estterceiro_cod_produto
  ON gestao.estterceiro
  (id_empresa, cod_produto, tipo, indic_prop, id_correntista);
--RUN--

--SEQ 543-- 02/02/2016 09:55 Alan
ALTER TABLE gestao.uen ADD COLUMN id_tabdesp integer;
--RUN--

--SEQ 544-- 18/02/2016 16:31 CRISTIANO
ALTER TABLE gestao.os ADD COLUMN lib_preco_usuario character(12);
--RUN--

--SEQ 545-- 26/02/2016 16:36 JCS
ALTER TABLE gestao.prazopag ALTER COLUMN porpag TYPE numeric(8,4);
--RUN--

--SEQ 546-- 01/03/2016 16:25 JCS
ALTER TABLE gestao.vendedor ADD COLUMN permitir_analise_lucro smallint;
--RUN--

--SEQ 547-- 21/03/2016 16:49 CRISTIANO
ALTER TABLE gestao.cstpadrao ADD COLUMN qtdade numeric(17,3) NOT NULL DEFAULT 0;
ALTER TABLE gestao.cstpadrao ADD COLUMN calc_custo_medio smallint NOT NULL DEFAULT 1;

UPDATE gestao.cstpadrao 
   SET qtdade = foo.qtd 
  FROM (SELECT det.qtd, custo.id_cstpadrao
	      FROM gestao.cstpadrao custo
	      JOIN gestao.entradas ent ON (custo.id_entrada = ent.id_entrada AND custo.id_empresa = ent.id_empresa)  
	      JOIN gestao.entradet det ON (ent.id_entrada   = det.id_entrada)
	     WHERE custo.id_produto = det.produ
	       AND custo.id_entrada > 0    
	     ORDER BY det.ordem) AS foo
 WHERE foo.id_cstpadrao = cstpadrao.id_cstpadrao;
--RUN--

--SEQ 548-- 24/03/2016 09:30 JCS
ALTER TABLE gestao.sticms  ADD COLUMN red_bc_icms_partilha   numeric(6,2);
--RUN--

--SEQ 549-- 04/04/2016 09:30 JCS
ALTER TABLE gestao.nfdet ADD COLUMN id_estlocal_trx integer;

ALTER TABLE gestao.nfdet DROP CONSTRAINT chk_nfdet_gerar_estoque;
ALTER TABLE gestao.nfdet ADD CONSTRAINT  chk_nfdet_gerar_estoque CHECK (gerar_estoque IN ('S','N','T'));
--RUN--

--SEQ 550-- 08/04/2016 14:00 ALAN
ALTER TABLE gestao.boleto ALTER COLUMN dv_cc TYPE character(2);
--RUN--

--SEQ 551-- 12/04/2016 16:00 Willian
CREATE TABLE gestao.tpcobr
(
   id serial,
   descr character varying(30) NOT NULL,
   gerar_mov_fin smallint,
   titulo_desc smallint,
   imp_bloq_dup smallint,
   CONSTRAINT pk_tpcobr PRIMARY KEY (id)
);
ALTER TABLE gestao.empresa ADD COLUMN id_tpcobr_padrao integer;
--RUN--

--SEQ 552-- 25/04/2016 08:36 CRISTIANO
UPDATE gestao.log 
   SET id = foo.id_os 
  FROM (SELECT os.id_os, log.id_log
          FROM gestao.log
	      LEFT OUTER JOIN gestao.os ON (os.numero = log.id::integer AND os.id_empresa = log.id_empresa)
	     WHERE log.tabela = 'os'
	       AND os.numero is not null) as foo 
  WHERE log.id_log = foo.id_log
--RUN--

--SEQ 553-- 25/04/2016 14:25 WILLIAN
ALTER TABLE gestao.fatconversao ADD COLUMN arred_conv smallint NOT NULL DEFAULT 0;
--RUN--

--SEQ 554-- 27/04/2016 14:25 JCS
ALTER TABLE gestao.producao ADD CONSTRAINT chk_producao_data CHECK (data<=now()+ '1 days'::interval);
--RUN--

--SEQ 555-- 28/04/2016 16:10 JCS
ALTER TABLE gestao.pcpmaq ADD COLUMN cod_uen integer;
--RUN--

--SEQ 556-- 06/05/2016 15:40 ALAN
ALTER TABLE gestao.entradet ADD COLUMN id_aveprod integer;
--RUN--

--SEQ 557-- 09/05/2016 13:40 ALAN
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao,marca , modelo  , versao   , homologada, mfd,cv0909) VALUES (154, 3,22,2,'BEMATECH            ', 'MP-4200 TH FI       ', '01.00.02', 1        , 1,1);
--RUN--

--SEQ 558-- 13/05/2016 11:50 ALAN
ALTER TABLE gestao.produto ADD COLUMN cod_prod_anp integer;
--RUN--

--SEQ 559-- 18/05/2016 11:10 ALAN
ALTER TABLE gestao.correntista ALTER COLUMN e_mail TYPE character(80);
--RUN--

--SEQ 560-- 18/05/2016 16:20 Willian
ALTER TABLE gestao.ctp ADD COLUMN id_entsiscon character(30);
ALTER TABLE gestao.pagtos ADD COLUMN ctbconta_cre integer;
--RUN--

--SEQ 561-- 25/05/2016 16:20 Cristiano
ALTER TABLE gestao.os ADD COLUMN cod_atendente integer;
--RUN--

--SEQ 562-- 02/06/2016 14:20 Willian
alter table gestao.produto ADD COLUMN taxa_margem2 numeric(9,5);
alter table gestao.produto ADD COLUMN taxa_margem3 numeric(9,5);
alter table gestao.produto ADD COLUMN preco_pratic_sug smallint;
alter table gestao.produto ADD COLUMN temp_armaz numeric(12,4);
alter table gestao.produto ADD COLUMN est_pedido numeric(10,2);
alter table gestao.produto ADD COLUMN est_maximo numeric(10,2);
alter table gestao.produto ADD COLUMN complemento character(40);
alter table gestao.produto ADD COLUMN local_estoque character(20);
alter table gestao.produto ADD COLUMN preco_dif_grade smallint;
alter table gestao.produto ADD COLUMN req_insumos_estrutura smallint;
alter table gestao.produto ADD COLUMN versao_estrutura character(10);
alter table gestao.produto ADD COLUMN peso_embal numeric(12,3);
alter table gestao.produto ADD COLUMN markup_despfixas1 numeric(7,2);
alter table gestao.produto ADD COLUMN markup_impostos1 numeric(7,2);
alter table gestao.produto ADD COLUMN markup_comissao1 numeric(7,2);
alter table gestao.produto ADD COLUMN markup_lucro1 numeric(7,2);
alter table gestao.produto ADD COLUMN markup_desconto1 numeric(7,2);
alter table gestao.produto ADD COLUMN markup_financ1 numeric(7,2);
alter table gestao.produto ADD COLUMN markup_frete1 numeric(7,2);
alter table gestao.produto ADD COLUMN desc_adic numeric(7,2);
alter table gestao.produto ADD COLUMN cnpj_produtor character(14);
alter table gestao.produto ADD COLUMN codigo_selo character(7);
alter table gestao.produto ADD COLUMN qtd_selo_und integer;
alter table gestao.produto ADD COLUMN qtd_trib_ipi_und numeric(16,4);
alter table gestao.produto ADD COLUMN produto_especifico character(1);
alter table gestao.produto ADD COLUMN vl_unid_trib_ipi numeric(15,4);
alter table gestao.produto ADD COLUMN qtd_trib_pis_und numeric(16,4);
alter table gestao.produto ADD COLUMN vl_unid_trib_pis numeric(15,4);
alter table gestao.produto ADD COLUMN qtd_trib_pisst_und numeric(16,4);
alter table gestao.produto ADD COLUMN vl_unid_trib_pisst numeric(15,4);
alter table gestao.produto ADD COLUMN qtd_trib_cofins_und numeric(16,4);
alter table gestao.produto ADD COLUMN vl_unid_trib_cofins numeric(15,4);
alter table gestao.produto ADD COLUMN qtd_trib_cofinsst_und numeric(16,4);
alter table gestao.produto ADD COLUMN vl_unid_trib_cofinsst numeric(15,4);
alter table gestao.produto ADD COLUMN preco_max_cons numeric(12,2);
alter table gestao.produto ADD COLUMN markup_marketing numeric(7,2);
alter table gestao.produto ADD COLUMN cod_ccusto integer;
alter table gestao.produto ADD COLUMN id_natureza integer;
--RUN--

--SEQ 563-- 06/06/2016 14:13 Cristiano
ALTER TABLE gestao.formapag ADD COLUMN vct_dia_util smallint;
--RUN--

--SEQ 564-- 15/06/2016 17:40 JCS
ALTER TABLE gestao.producao DROP CONSTRAINT chk_producao_turno;
ALTER TABLE gestao.producao ADD CONSTRAINT chk_producao_turno CHECK (turno IN (1,2,3,4));
--RUN--

--SEQ 565-- 23/06/2016 14:40 JCS
DELETE FROM gestao.nfref WHERE id_nfref IN (
  SELECT max(id_nfref) FROM gestao.nfref GROUP BY id_nf, chave_acesso_nfe HAVING count(*)>1
);

DELETE FROM gestao.nfref WHERE id_nfref IN (
  SELECT max(id_nfref) FROM gestao.nfref GROUP BY id_nf, chave_acesso_nfe HAVING count(*)>1
);

ALTER TABLE gestao.nfref ADD CONSTRAINT key_nfref_chave_acesso_nfe UNIQUE (id_nf, chave_acesso_nfe);
--RUN--

--SEQ 566-- 24/06/2016 15:13 CRISTIANO
ALTER TABLE gestao.dfeevento DROP CONSTRAINT key_num_protocolo_evento;
ALTER TABLE gestao.dfeevento ADD CONSTRAINT key_num_protocolo_evento UNIQUE(num_protocolo, id_empresa);
--RUN--

--SEQ 567-- 06/07/2016 15:13 CRISTIANO
ALTER TABLE gestao.formapag ADD COLUMN libera_credito smallint DEFAULT 0; 
ALTER TABLE gestao.formapag ADD COLUMN lib_credito_usuario character varying(12);
--RUN--

--SEQ 568-- 08/07/2016 14:30 JCS
ALTER TABLE gestao.produto ADD COLUMN lote_mul_venda numeric(10,3) NOT NULL DEFAULT 0;
ALTER TABLE gestao.produto ADD COLUMN permitir_dif_lote smallint NOT NULL DEFAULT 1;
UPDATE gestao.produto SET lote_mul_venda=qtd_volume WHERE lote_mul_venda>0;
--RUN--

--SEQ 569-- 17/08/2016 19:30 JCS
ALTER TABLE gestao.entradet ADD COLUMN vl_fcp_uf_dest  numeric(15,2);
ALTER TABLE gestao.entradet ADD COLUMN vl_icms_uf_dest numeric(15,2);
ALTER TABLE gestao.entradet ADD COLUMN vl_icms_uf_rem  numeric(15,2);

ALTER TABLE gestao.entradet ADD COLUMN bc_ipi_cp       numeric(15,2);
ALTER TABLE gestao.entradet ADD COLUMN aliq_ipi_cp     numeric(6,2);
ALTER TABLE gestao.entradet ADD COLUMN vl_ipi_cp       numeric(15,2);

ALTER TABLE gestao.entradet ADD COLUMN bc_difaliq      numeric(15,2);
ALTER TABLE gestao.entradet ADD COLUMN aliq_difaliq    numeric(6,2);

ALTER TABLE gestao.entradet DISABLE TRIGGER ALL;
UPDATE gestao.entradet SET bc_difaliq=(total+vl_ipi_nf),aliq_difaliq=(vl_difaliq*100/(total+vl_ipi_nf)) WHERE vl_difaliq>0;
ALTER TABLE gestao.entradet ENABLE TRIGGER ALL;
--RUN--

--SEQ 570-- 18/08/2016 15:20 JCS
ALTER TABLE gestao.opins  ADD COLUMN id_estlocal integer;
--RUN--

--SEQ 571-- 02/10/2016 21:40 JCS
ALTER TABLE gestao.grupo ADD COLUMN taxa_margem1 numeric(6,2);
ALTER TABLE gestao.grupo ADD COLUMN taxa_margem2 numeric(6,2);
ALTER TABLE gestao.grupo ADD COLUMN taxa_margem3 numeric(6,2);
ALTER TABLE gestao.grupo ADD COLUMN preco_pratic_sug smallint;
--RUN--

--SEQ 572-- 04/10/2016 15:40 ALAN
ALTER TABLE gestao.ctpagrupado ADD COLUMN id_entsiscon character(30);
ALTER TABLE gestao.ctpagrupado ALTER COLUMN id_entrada DROP NOT NULL;
--RUN--

--SEQ 573-- 06/10/2016 18:00 JCS
ALTER TABLE gestao.oc DROP CONSTRAINT chk_oc_situacao;
ALTER TABLE gestao.oc ADD CONSTRAINT chk_oc_situacao CHECK (situacao IN ('T','P','L','E','A','R','C'));

ALTER TABLE gestao.ocd DROP CONSTRAINT chk_ocd_situacao;
ALTER TABLE gestao.ocd ADD CONSTRAINT chk_ocd_situacao CHECK (situacao IN ('T','P','L','E','A','R','C'));
--RUN--

--SEQ 574-- 07/10/2016 10:55 JCS
ALTER TABLE gestao.pauta ADD COLUMN vl_pedido1 numeric(15,2);
ALTER TABLE gestao.pauta ADD COLUMN vl_pedido2 numeric(15,2);
ALTER TABLE gestao.pauta ADD COLUMN vl_pedido3 numeric(15,2);
ALTER TABLE gestao.pauta ADD COLUMN vl_pedido4 numeric(15,2);
ALTER TABLE gestao.pauta ADD COLUMN vl_pedido5 numeric(15,2);

ALTER TABLE gestao.pauta ADD COLUMN tx_desconto1 numeric(15,2);
ALTER TABLE gestao.pauta ADD COLUMN tx_desconto2 numeric(15,2);
ALTER TABLE gestao.pauta ADD COLUMN tx_desconto3 numeric(15,2);
ALTER TABLE gestao.pauta ADD COLUMN tx_desconto4 numeric(15,2);
ALTER TABLE gestao.pauta ADD COLUMN tx_desconto5 numeric(15,2);
--RUN--

--SEQ 575-- 11/10/2016 21:20 JCS
ALTER TABLE gestao.op DROP CONSTRAINT key_op_situacao;
ALTER TABLE gestao.op ADD CONSTRAINT key_op_situacao CHECK (situacao IN (0,1,2,3,4,5,99));
--RUN--

--SEQ 576-- 13/10/2016 09:00 Willian
--EM CASO DE ERRO RODAR UPDATE NA TABELA DE CTC PARA CORRIGIR ID_EMPRESA
ALTER TABLE gestao.ctc ADD CONSTRAINT fk_ctc_empresa   FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa);
--RUN--

--SEQ 577-- 13/10/2016 18:00 JCS
ALTER TABLE gestao.oc DROP CONSTRAINT chk_oc_situacao;
ALTER TABLE gestao.oc ADD CONSTRAINT chk_oc_situacao CHECK (situacao IN ('T','P','L','E','A','R','C','Z'));

DROP INDEX gestao.key_entradet_produ;
CREATE INDEX key_entradet_produ ON gestao.entradet (produ, id_entrada);
--RUN--

--SEQ 578-- 24/10/2016 15:00 JCS
ALTER TABLE gestao.producao ADD COLUMN cod_uen integer;
ALTER TABLE gestao.producao ADD COLUMN id_prodbalanca integer;
--RUN--

--SEQ 579-- 09/11/2016 10:40 ALAN
ALTER TABLE gestao.spoolecf ADD COLUMN id_empresa integer;
--RUN--

--SEQ 580-- 09/12/2016 10:40 ALAN
CREATE TABLE gestao.fatconversao_bkp AS (
 select * FROM gestao.fatconversao WHERE id_fatconversao in(select (select a.id_fatconversao from gestao.fatconversao as a 
                                                            where a.id_produto=b.id_produto and a.unid_conv=b.unid_conv and cod_barra is not null order by cod_barra desc limit 1)
                                                            from gestao.fatconversao as b group by b.id_produto,b.unid_conv HAVING count(*)>1)
);

delete FROM gestao.fatconversao WHERE id_fatconversao in(select (select a.id_fatconversao from gestao.fatconversao as a 
                                                         where a.id_produto=b.id_produto and a.unid_conv=b.unid_conv and cod_barra is not null order by cod_barra desc limit 1)
                                                         from gestao.fatconversao as b group by b.id_produto,b.unid_conv HAVING count(*)>1);

DROP INDEX gestao.key_fatconversao_unid_conv;
CREATE UNIQUE INDEX key_fatconversao_unid_conv ON gestao.fatconversao (id_produto, unid_conv);

--RUN--

--SEQ 581-- 12/12/2016 16:20 ALAN
ALTER TABLE gestao.nf ADD COLUMN dt_reg_canhoto date;
ALTER TABLE gestao.nf ADD COLUMN dt_recb_canhoto date;
ALTER TABLE gestao.nf ADD COLUMN sit_canhoto smallint;
ALTER TABLE gestao.nf ADD COLUMN desc_canhoto character(150);
--RUN--

--SEQ 582-- 14/12/2016 16:20 CAROL
ALTER TABLE gestao.cfopxtes ADD COLUMN id_estlocal integer;
--RUN--

--SEQ 583-- 19/12/2016 16:00 JCS
ALTER TABLE gestao.ctc ADD COLUMN num_lote_envio  numeric(15,0);
ALTER TABLE gestao.ctc ADD COLUMN num_recibo_lote numeric(15,0);
ALTER TABLE gestao.ctc ADD COLUMN num_protocolo   numeric(15,0);
ALTER TABLE gestao.ctc ADD COLUMN dt_protocolo    date;
ALTER TABLE gestao.ctc ADD COLUMN hr_protocolo    time;
ALTER TABLE gestao.ctc ADD COLUMN cod_status      integer;
ALTER TABLE gestao.ctc ADD COLUMN desc_status     char(255);

ALTER TABLE gestao.ctc ALTER COLUMN situacao TYPE char(1);
UPDATE gestao.ctc SET situacao='P' WHERE situacao='1';
UPDATE gestao.ctc SET situacao='A' WHERE situacao='2';
UPDATE gestao.ctc SET situacao='C' WHERE situacao='9';

ALTER TABLE gestao.nfevento ADD COLUMN id_ctc integer;
ALTER TABLE gestao.nfevento ADD CONSTRAINT fk_nfevento_ctc FOREIGN KEY (id_ctc) REFERENCES gestao.ctc (id_ctc);
ALTER TABLE gestao.nfevento ALTER COLUMN id_nf DROP NOT NULL;
--RUN--

--SEQ 584-- 19/12/2016 18:00 JCS
ALTER TABLE gestao.nfevento ADD COLUMN grpalterado character(104);
ALTER TABLE gestao.nfevento ADD COLUMN cpoalterado character(104);
ALTER TABLE gestao.nfevento ADD COLUMN itemalterado character(24);
--RUN--

--SEQ 585-- 29/12/2016 16:30 ALAN
CREATE TABLE gestao.grade
(
  id_grade SERIAL NOT NULL,
  id_empresa INT NOT NULL,
  codigo INT NOT NULL ,  
  descr CHAR(50) NULL,
  CONSTRAINT pk_grade PRIMARY KEY (id_grade), 
  CONSTRAINT key_grade_codigo UNIQUE(id_empresa, codigo),  
  CONSTRAINT fk_gradedet_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa)  
);

CREATE TABLE gestao.gradedet
(
  id_gradedet SERIAL NOT NULL,
  id_grade INT NOT NULL,
  abrev CHAR(10) NOT NULL,
  descr CHAR(50) NOT NULL,
  CONSTRAINT pk_gradedet PRIMARY KEY (id_gradedet),
  CONSTRAINT fk_gradedet_grade FOREIGN KEY (id_grade) REFERENCES gestao.grade(id_grade),
  CONSTRAINT key_gradedet_id_grade UNIQUE (id_grade, abrev)
);
--RUN--

--SEQ 586-- 10/01/2017 14:00 CAROL
ALTER TABLE gestao.gnre ALTER COLUMN tel_emitente TYPE numeric(11);
--RUN--

--SEQ 587-- 12/01/2017 14:00 JCS
ALTER TABLE gestao.oc ADD COLUMN oc_recebida smallint NOT NULL DEFAULT 0;

UPDATE gestao.oc SET oc_recebida=1 
WHERE id_OC IN (
  SELECT DISTINCT A.id_oc 
    FROM 
    gestao.oc A
    LEFT OUTER JOIN gestao.ocd B ON (a.id_oc=b.id_oc)
    WHERE a.situacao='R' AND NOT b.situacao='R'
  );

UPDATE gestao.ocd SET situacao='R' 
WHERE id_OC IN (
  SELECT DISTINCT A.id_oc 
    FROM 
    gestao.oc A
    LEFT OUTER JOIN gestao.ocd B ON (a.id_oc=b.id_oc)
    WHERE a.situacao='R' AND NOT b.situacao='R'
  );
--RUN--

--SEQ 588-- 31/01/2017 16:00 Willian
ALTER TABLE gestao.produto ADD COLUMN transelevador SMALLINT;
ALTER TABLE gestao.produto ADD COLUMN tipo_caixa CHAR(4);
--RUN--

--SEQ 589-- 16/02/2017 15:00 JCS
ALTER TABLE gestao.ctp ADD COLUMN bc_retencao numeric(15,2);

ALTER TABLE gestao.ctp DISABLE TRIGGER ALL;
UPDATE gestao.ctp SET bc_retencao =(SELECT total        FROM gestao.entradas WHERE id_entrada=gestao.ctp.id_ent) WHERE sit_contabil=1;
UPDATE gestao.ctp SET cod_retencao=(SELECT cod_retencao FROM gestao.entradas WHERE id_entrada=gestao.ctp.id_ent) WHERE sit_contabil=1 AND (cod_retencao IS NULL OR cod_retencao='  ');
ALTER TABLE gestao.ctp ENABLE TRIGGER ALL;

ALTER TABLE gestao.cfopxtes ADD COLUMN nat_complementar character(30) NOT NULL DEFAULT ' ';

DROP INDEX gestao.key_cfopxtes_cfop;
CREATE UNIQUE INDEX key_cfopxtes_cfop ON gestao.cfopxtes (id_empresa, tipo, cfop, nat_op, (COALESCE(cod_fornecedor, 0)), tipo_produto, cst_icms, aliq_icms, ind_pagto, cst_ipi, cst_pis, cst_cofins, nat_complementar);
--RUN--

--SEQ 590-- 17/02/2017 13:50 JCS
update gestao.produto b set unidade=coalesce((select unidade from gestao.produto where id_erp=b.id_produto_grade AND id_empresa=b.id_empresa),' ')  where id_produto_grade>0 AND unidade=' ';
--RUN--

--SEQ 591-- 22/02/2017 09:15 ALAN
ALTER TABLE gestao.st ADD COLUMN desc_ipi_bc smallint;
--RUN--

--SEQ 592-- 01/03/2017 21:30 JCS
ALTER TABLE gestao.ibptax ADD COLUMN aliq_estadual numeric(7,2);
ALTER TABLE gestao.ibptax ADD COLUMN aliq_municipal numeric(7,2);
ALTER TABLE gestao.ibptax ADD COLUMN vigenciainicio date;
ALTER TABLE gestao.ibptax ADD COLUMN vigenciafim date;
ALTER TABLE gestao.ibptax ADD COLUMN chave character(6);
--RUN--

--SEQ 593-- 06/03/2017 13:14 JCS
ALTER TABLE gestao.nf ADD COLUMN hash character(32);
ALTER TABLE gestao.nfdet ADD COLUMN hash character(32);
--RUN--

--SEQ 594-- 14/03/2017 14:30 JCS
CREATE INDEX key_produto_grade     ON gestao.produto (id_produto_grade,id_empresa);
CREATE INDEX key_produto_descricao ON gestao.produto (descricao,id_empresa);

CREATE INDEX key_produto_carac1 ON gestao.produto (id_empresa,carac1);
CREATE INDEX key_produto_carac2 ON gestao.produto (id_empresa,carac2);
CREATE INDEX key_produto_carac3 ON gestao.produto (id_empresa,carac3);
CREATE INDEX key_produto_carac4 ON gestao.produto (id_empresa,carac4);
CREATE INDEX key_produto_carac5 ON gestao.produto (id_empresa,carac5);

CREATE INDEX key_produto_familia ON gestao.produto (id_empresa,familia);
--RUN--

--SEQ 595-- 15/03/2017 17:40 JCS
ALTER TABLE gestao.spedc197 DROP CONSTRAINT fk_spedc197_produto;

ALTER TABLE gestao.spedc197
  ADD CONSTRAINT fk_spedc197_produto FOREIGN KEY (id_empresa, cod_produto)
      REFERENCES gestao.produto (id_empresa, codigo) DEFERRABLE INITIALLY IMMEDIATE;
--RUN--

--SEQ 596-- 16/03/2017 11:55 JCS
CREATE INDEX key_produto_descr_det ON gestao.produto (descr_det,id_empresa);

DROP TRIGGER tsvectorupdate ON gestao.produto;

CREATE TRIGGER tsvectorupdate
  BEFORE INSERT OR UPDATE
  ON gestao.produto
  FOR EACH ROW
  EXECUTE PROCEDURE tsvector_update_trigger('idxfti', 'pg_catalog.english', 'descr_det', 'utilizacao', 'referencia','cod_original');
--RUN--

--SEQ 597-- 17/03/2017 18:00 JCS
DROP VIEW gestao.vperda_proc;

ALTER TABLE gestao.estterceiro ALTER COLUMN cod_produto TYPE integer USING (cod_produto::integer);

CREATE OR REPLACE VIEW gestao.vperda_proc AS

SELECT id_empresa,data,tipo,id_correntista,cod_produto,docto,num_remessa,qtdade,tx_perda_proc,qtd_perda_proc
  FROM 
  gestao.estterceiro
  WHERE tipo='R' AND indic_prop=2 AND qtd_perda_proc>0

UNION ALL

SELECT a.id_empresa,a.data,a.tipo,a.id_correntista,a.cod_produto,a.docto,a.num_remessa,-a.qtdade,a.tx_perda_proc,-a.qtd_perda_proc
  FROM 
  gestao.estterceiro A
  LEFT OUTER JOIN gestao.estterceiro B ON (a.num_remessa=b.num_remessa AND a.id_empresa=b.id_empresa AND b.tipo='R')
  WHERE a.tipo='D' AND b.indic_prop=2 AND b.qtd_perda_proc>0

ORDER BY num_remessa,data,tipo DESC,docto;
--RUN--

--SEQ 598-- 28/03/2017 12:20 JCS
CREATE INDEX key_nfdet_num_rem_terc ON gestao.nfdet (num_rem_terc,cfop);
--RUN--

--SEQ 599-- 03/04/2017 18:00 JCS
ALTER TABLE gestao.correntista ADD COLUMN ind_org_pub smallint;
--RUN--

--SEQ 600-- 10/04/2017 17:00  ALAN
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao,marca , modelo  , versao   , homologada, mfd,cv0909) VALUES (155, 8,16,1,'DARUMA              ', 'FS800i       ', '01.00.00', 1        , 1,1);
--RUN--

--SEQ 601-- 11/04/2017 18:00 JCS
ALTER TABLE gestao.empiest ADD COLUMN dia_vencto smallint;
--RUN--

--SEQ 602-- 18/04/2017 11:27 JCS
ALTER TABLE gestao.ticket ADD COLUMN tipo smallint;
ALTER TABLE gestao.ticket ADD COLUMN orcamento smallint;
ALTER TABLE gestao.ticket ADD COLUMN cobranca smallint;
ALTER TABLE gestao.ticket ADD COLUMN valor numeric(15,2);
ALTER TABLE gestao.ticket ADD COLUMN horas_cobranca numeric(7,2);
ALTER TABLE gestao.ticket ADD COLUMN periodo_cobranca date;
--RUN--

--SEQ 603-- 26/04/2017 09:30 Willian
ALTER TABLE gestao.dfe ADD CONSTRAINT chk_dfe_chave CHECK (length(chave_dfe)>=44);
--RUN--

--SEQ 604-- 28/04/2017 14:30 Willian
ALTER TABLE gestao.boleto ADD COLUMN situacao char(1);
ALTER TABLE gestao.boleto ALTER COLUMN situacao SET DEFAULT 'E';
UPDATE gestao.boleto SET situacao='E' WHERE situacao is null;
ALTER TABLE gestao.boleto DROP CONSTRAINT fk_boleto_ctr;
--RUN--

--SEQ 605-- 15/05/2017 14:10 JCS
ALTER TABLE gestao.unidade ADD COLUMN dt_atual date NOT NULL DEFAULT now();
ALTER TABLE gestao.pais    ADD COLUMN dt_atual date NOT NULL DEFAULT now();
ALTER TABLE gestao.estado  ADD COLUMN dt_atual date NOT NULL DEFAULT now();

UPDATE gestao.municipio SET dt_atual=now() WHERE dt_atual IS NULL;
ALTER TABLE gestao.municipio ALTER COLUMN dt_atual SET DEFAULT now();
ALTER TABLE gestao.municipio ALTER COLUMN dt_atual SET NOT NULL;
--RUN--

--SEQ 606-- 17/05/2017 10:00 JCS
CREATE INDEX key_boleto_nosso_numero ON gestao.boleto (nosso_numero, id_empresa);
--RUN--

--SEQ 607-- 19/05/2017 00:40 JCS
ALTER TABLE gestao.colaborador ADD COLUMN lib_sc smallint;

ALTER TABLE gestao.cotacao ADD COLUMN num_sc integer;

ALTER TABLE gestao.cotacaoi ADD COLUMN dt_necessidade date;
ALTER TABLE gestao.cotacaoi ADD COLUMN observacao character(65);
--RUN--

--SEQ 608-- 23/05/2017 21:55 JCS
CREATE INDEX key_ctp_id_entsiscon ON gestao.ctp (id_entsiscon);
--RUN--

--SEQ 609-- 31/05/2017 20:33 JCS
ALTER TABLE gestao.nf ADD COLUMN num_pin integer;
--RUN--

--SEQ 610-- 01/06/2017 10:55 JCS
CREATE TABLE gestao.colablimite
(
   id_colablimite serial, 
   id_colaborador integer NOT NULL, 
   id_natureza integer NOT NULL, 
   vl_minimo numeric(15,2) NOT NULL, 
   vl_maximo numeric(15,2) NOT NULL, 
   vl_limite numeric(15,2) NOT NULL, 
   CONSTRAINT pk_colablimite PRIMARY KEY (id_colablimite), 
   CONSTRAINT key_colablimite_natureza UNIQUE (id_colaborador, id_natureza), 
   CONSTRAINT fk_colablimite_colaborador FOREIGN KEY (id_colaborador) REFERENCES gestao.colaborador (id_colaborador)
   );

ALTER TABLE gestao.colaborador ADD COLUMN email character varying(120);   
--RUN--

--SEQ 611-- 06/06/2017 11:10 WILLIAN
INSERT INTO gestao.tabcomp(
            id_empresa, nome_tabcomp, id_empresa_tabcomp)
(select id_empresa,'produtos', id_matriz
from gestao.empresa where not id_empresa=id_matriz);
--RUN--

--SEQ 612-- 07/06/2017 15:00 WILLIAN
ALTER TABLE gestao.nfdetmed ADD COLUMN id_peditem integer;
ALTER TABLE gestao.nfdetmed ALTER COLUMN id_nfdet DROP NOT NULL;
ALTER TABLE gestao.nfdetmed ALTER COLUMN preco_max_cons DROP NOT NULL;
--RUN--

--SEQ 613-- 27/06/2017 10:00 Willian
ALTER TABLE gestao.obsfiscal ALTER COLUMN descr_compl TYPE character varying(900);
--RUN--

--SEQ 0614-- 29/07/2016 Willian
CREATE TABLE gestao.utribexp
(
   id_utribexp serial, 
   ncm character varying(10) NOT NULL,
   vigenciainicio date,
   vigenciafim date, 
   unidade character varying(6) NOT NULL, 
   descricao character varying(60) NOT NULL 
); 
ALTER TABLE gestao.utribexp ADD CONSTRAINT pk_utribexp PRIMARY KEY (id_utribexp);
--RUN--

--SEQ 615-- 05/07/2017 15:20 Willian
ALTER TABLE gestao.nfdet ALTER COLUMN vl_unit_tributavel TYPE numeric(22,10);
--RUN--

--SEQ 616-- 13/07/2017 16:10 JCS
ALTER TABLE gestao.nfdet ALTER COLUMN perc_red_bc_icms TYPE numeric(8,4);
ALTER TABLE gestao.nfdet ALTER COLUMN perc_red_bc_icmsst TYPE numeric(8,4);
--RUN--

--SEQ 617-- 14/07/2017 06:30 JCS
ALTER TABLE gestao.scd ADD COLUMN num_cotacao integer;
ALTER TABLE gestao.scd ADD COLUMN cod_maquina character(10);
--RUN--

--SEQ 618-- 14/07/2017 10:05 JCS
ALTER TABLE gestao.ocd ADD COLUMN gerar_estoque character(1);
--RUN--

--SEQ 619-- 10/08/2017 15:05 Willian
ALTER TABLE gestao.tesxcfop DROP CONSTRAINT key_tesxcfop_cod_tes;
ALTER TABLE gestao.tesxcfop ADD CONSTRAINT key_tesxcfop_cod_tes UNIQUE(id_empresa, cod_tes, origem_destino, contribuinte_icms, tipo_produto, cst_icms, ativo);
--RUN--

--SEQ 620-- 24/08/2017 14:35 JCS
ALTER TABLE gestao.entradet ADD COLUMN vl_ajuste_custo numeric(15,2);
--RUN--

--SEQ 622-- 06/09/2017 11:40 ALAN
ALTER TABLE gestao.estinventario ADD COLUMN qt_tot_aquisicao numeric(12,3);
ALTER TABLE gestao.estinventario ADD COLUMN vl_tot_aquisicao numeric(12,2);
ALTER TABLE gestao.estinventario ADD COLUMN vl_tot_icmsdebforne numeric(12,2);
ALTER TABLE gestao.estinventario ADD COLUMN vl_bc_calcicmsst numeric(12,2);
ALTER TABLE gestao.estinventario ADD COLUMN vl_tot_icmsst numeric(12,2);
--RUN--

--SEQ 623-- 13/09/2017 15:30 JCS
ALTER TABLE gestao.estterceiro ADD COLUMN data_baixa date;
UPDATE gestao.estterceiro SET data=data WHERE tipo='R' AND qtd_saldo=0 AND data_baixa IS NULL;
--RUN--

--SEQ 624-- 14/09/2017 11:00 ALAN
ALTER TABLE gestao.entradas ADD COLUMN sistema character(10);
--RUN--

--SEQ 625-- 19/09/2017 09:15 JCS
ALTER TABLE gestao.mdfe ADD COLUMN tp_transp smallint;
ALTER TABLE gestao.mdfe ADD COLUMN dt_prev_viagem date;
ALTER TABLE gestao.mdfe ADD COLUMN hr_prev_viagem time;
ALTER TABLE gestao.mdfe ADD COLUMN resp_seg smallint;
ALTER TABLE gestao.mdfe ADD COLUMN id_resp_seg int;
ALTER TABLE gestao.mdfe ADD COLUMN id_seguradora int;
ALTER TABLE gestao.mdfe ADD COLUMN num_apolice char(20);
ALTER TABLE gestao.mdfe ADD COLUMN num_averbacao1 char(40);
ALTER TABLE gestao.mdfe ADD COLUMN num_averbacao2 char(40);
ALTER TABLE gestao.mdfe ADD COLUMN num_averbacao3 char(40);
ALTER TABLE gestao.mdfe ADD COLUMN id_autxml1 int;
ALTER TABLE gestao.mdfe ADD COLUMN id_autxml2 int;
ALTER TABLE gestao.mdfe ADD COLUMN id_autxml3 int;
ALTER TABLE gestao.mdfe ADD COLUMN id_resp_ciot int;
ALTER TABLE gestao.mdfe ADD COLUMN id_forne_vp1 int;
ALTER TABLE gestao.mdfe ADD COLUMN id_forne_vp2 int;
ALTER TABLE gestao.mdfe ADD COLUMN id_forne_vp3 int;
ALTER TABLE gestao.mdfe ADD COLUMN id_resp_pagto_vp1 int;
ALTER TABLE gestao.mdfe ADD COLUMN id_resp_pagto_vp2 int;
ALTER TABLE gestao.mdfe ADD COLUMN id_resp_pagto_vp3 int;
ALTER TABLE gestao.mdfe ADD COLUMN num_vp1 char(20);
ALTER TABLE gestao.mdfe ADD COLUMN num_vp2 char(20);
ALTER TABLE gestao.mdfe ADD COLUMN num_vp3 char(20);
ALTER TABLE gestao.mdfe ADD COLUMN valor_vp1 numeric(15,2);
ALTER TABLE gestao.mdfe ADD COLUMN valor_vp2 numeric(15,2);
ALTER TABLE gestao.mdfe ADD COLUMN valor_vp3 numeric(15,2);
ALTER TABLE gestao.mdfe ADD COLUMN id_contratante1 int;
ALTER TABLE gestao.mdfe ADD COLUMN id_contratante2 int;
ALTER TABLE gestao.mdfe ADD COLUMN id_contratante3 int;
ALTER TABLE gestao.mdfe ADD COLUMN num_lote_envio numeric(15,0);
ALTER TABLE gestao.mdfe ADD COLUMN num_recibo_lote numeric(15,0);
ALTER TABLE gestao.mdfe ADD COLUMN num_protocolo numeric(15,0);
ALTER TABLE gestao.mdfe ADD COLUMN dt_protocolo date;
ALTER TABLE gestao.mdfe ADD COLUMN hr_protocolo time;
ALTER TABLE gestao.mdfe ADD COLUMN cod_status int;
ALTER TABLE gestao.mdfe ADD COLUMN desc_status char(255);
--RUN--

--SEQ 626-- 19/09/2017 09:40 JCS
ALTER TABLE gestao.mdfedoc ADD COLUMN segcodbarra char(16);
ALTER TABLE gestao.mdfedoc ADD COLUMN ind_reentrega smallint;
ALTER TABLE gestao.mdfedoc ADD COLUMN tp_und_transp1 smallint;
ALTER TABLE gestao.mdfedoc ADD COLUMN tp_und_transp2 smallint;
ALTER TABLE gestao.mdfedoc ADD COLUMN tp_und_transp3 smallint;
ALTER TABLE gestao.mdfedoc ADD COLUMN id_und_transp1 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN id_und_transp2 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN id_und_transp3 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN qtdrat_transp1 numeric(6,2);
ALTER TABLE gestao.mdfedoc ADD COLUMN qtdrat_transp2 numeric(6,2);
ALTER TABLE gestao.mdfedoc ADD COLUMN qtdrat_transp3 numeric(6,2);
ALTER TABLE gestao.mdfedoc ADD COLUMN lacre1_und_transp1 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN lacre2_und_transp1 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN lacre3_und_transp1 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN lacre1_und_transp2 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN lacre2_und_transp2 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN lacre3_und_transp2 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN lacre1_und_transp3 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN lacre2_und_transp3 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN lacre3_und_transp3 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN tp_carga1_transp1 smallint;
ALTER TABLE gestao.mdfedoc ADD COLUMN tp_carga2_transp1 smallint;
ALTER TABLE gestao.mdfedoc ADD COLUMN tp_carga3_transp1 smallint;
ALTER TABLE gestao.mdfedoc ADD COLUMN tp_carga1_transp2 smallint;
ALTER TABLE gestao.mdfedoc ADD COLUMN tp_carga2_transp2 smallint;
ALTER TABLE gestao.mdfedoc ADD COLUMN tp_carga3_transp2 smallint;
ALTER TABLE gestao.mdfedoc ADD COLUMN tp_carga1_transp3 smallint;
ALTER TABLE gestao.mdfedoc ADD COLUMN tp_carga2_transp3 smallint;
ALTER TABLE gestao.mdfedoc ADD COLUMN tp_carga3_transp3 smallint;
ALTER TABLE gestao.mdfedoc ADD COLUMN id_carga1_transp1 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN id_carga2_transp1 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN id_carga3_transp1 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN id_carga1_transp2 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN id_carga2_transp2 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN id_carga3_transp2 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN id_carga1_transp3 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN id_carga2_transp3 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN id_carga3_transp3 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN lac_carga1_transp1 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN lac_carga2_transp1 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN lac_carga3_transp1 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN lac_carga1_transp2 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN lac_carga2_transp2 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN lac_carga3_transp2 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN lac_carga1_transp3 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN lac_carga2_transp3 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN lac_carga3_transp3 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN qtdrat_carga1_transp1 numeric(6,2);
ALTER TABLE gestao.mdfedoc ADD COLUMN qtdrat_carga2_transp1 numeric(6,2);
ALTER TABLE gestao.mdfedoc ADD COLUMN qtdrat_carga3_transp1 numeric(6,2);
ALTER TABLE gestao.mdfedoc ADD COLUMN qtdrat_carga1_transp2 numeric(6,2);
ALTER TABLE gestao.mdfedoc ADD COLUMN qtdrat_carga2_transp2 numeric(6,2);
ALTER TABLE gestao.mdfedoc ADD COLUMN qtdrat_carga3_transp2 numeric(6,2);
ALTER TABLE gestao.mdfedoc ADD COLUMN qtdrat_carga1_transp3 numeric(6,2);
ALTER TABLE gestao.mdfedoc ADD COLUMN qtdrat_carga2_transp3 numeric(6,2);
ALTER TABLE gestao.mdfedoc ADD COLUMN qtdrat_carga3_transp3 numeric(6,2);
ALTER TABLE gestao.mdfedoc ADD COLUMN num_onu1 char(4);
ALTER TABLE gestao.mdfedoc ADD COLUMN num_onu2 char(4);
ALTER TABLE gestao.mdfedoc ADD COLUMN num_onu3 char(4);
ALTER TABLE gestao.mdfedoc ADD COLUMN num_onu4 char(4);
ALTER TABLE gestao.mdfedoc ADD COLUMN num_onu5 char(4);
ALTER TABLE gestao.mdfedoc ADD COLUMN nome_prod1 char(150);
ALTER TABLE gestao.mdfedoc ADD COLUMN nome_prod2 char(150);
ALTER TABLE gestao.mdfedoc ADD COLUMN nome_prod3 char(150);
ALTER TABLE gestao.mdfedoc ADD COLUMN nome_prod4 char(150);
ALTER TABLE gestao.mdfedoc ADD COLUMN nome_prod5 char(150);
ALTER TABLE gestao.mdfedoc ADD COLUMN classe_risco1 char(40);
ALTER TABLE gestao.mdfedoc ADD COLUMN classe_risco2 char(40);
ALTER TABLE gestao.mdfedoc ADD COLUMN classe_risco3 char(40);
ALTER TABLE gestao.mdfedoc ADD COLUMN classe_risco4 char(40);
ALTER TABLE gestao.mdfedoc ADD COLUMN classe_risco5 char(40);
ALTER TABLE gestao.mdfedoc ADD COLUMN grupo_emb1 char(6);
ALTER TABLE gestao.mdfedoc ADD COLUMN grupo_emb2 char(6);
ALTER TABLE gestao.mdfedoc ADD COLUMN grupo_emb3 char(6);
ALTER TABLE gestao.mdfedoc ADD COLUMN grupo_emb4 char(6);
ALTER TABLE gestao.mdfedoc ADD COLUMN grupo_emb5 char(6);
ALTER TABLE gestao.mdfedoc ADD COLUMN qtd_tot_prod1 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN qtd_tot_prod2 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN qtd_tot_prod3 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN qtd_tot_prod4 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN qtd_tot_prod5 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN qtd_tip_vol1 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN qtd_tip_vol2 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN qtd_tip_vol3 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN qtd_tip_vol4 char(20);
ALTER TABLE gestao.mdfedoc ADD COLUMN qtd_tip_vol5 char(20);
--RUN--

--SEQ 627-- 21/09/2017 10:00 JCS
ALTER TABLE gestao.nfevento ADD COLUMN id_mdfe integer;
ALTER TABLE gestao.nfevento ADD CONSTRAINT fk_nfevento_mdfe FOREIGN KEY (id_mdfe) REFERENCES gestao.mdfe (id_mdfe);
--RUN--

--SEQ 628-- 05/10/2017 22:31 JCS
ALTER TABLE gestao.scd DROP CONSTRAINT key_scd_id_produto;
ALTER TABLE gestao.scd ADD CONSTRAINT key_scd_id_produto UNIQUE(id_produto, id_sc, descricao, dt_necessidade);
--RUN--

--SEQ 629-- 11/10/2017 12:20 JCS
CREATE TABLE gestao.mdfedet
(
  id_mdfedet serial NOT NULL,
  id_mdfe integer NOT NULL,
  campo varchar(40)  NOT NULL,
  seq smallint NOT NULL,
  valor text NOT NULL
);

ALTER TABLE gestao.mdfedet ADD CONSTRAINT pk_mdfedet PRIMARY KEY(id_mdfedet);
ALTER TABLE gestao.mdfedet ADD CONSTRAINT key_mdfedet_seq UNIQUE (id_mdfe,seq);
ALTER TABLE gestao.mdfedet ADD CONSTRAINT fk_mdfedoc_mdfe FOREIGN KEY (id_mdfe) REFERENCES gestao.mdfe (id_mdfe);

INSERT INTO gestao.mdfedet(id_mdfe, campo, seq, valor)
SELECT id_mdfe,'nAver',1,num_averbacao1 FROM gestao.mdfe WHERE num_averbacao1 IS NOT NULL AND NOT num_averbacao1=' '
UNION ALL
SELECT id_mdfe,'nAver',2,num_averbacao2 FROM gestao.mdfe WHERE num_averbacao2 IS NOT NULL AND NOT num_averbacao2=' '
UNION ALL
SELECT id_mdfe,'nAver',3,num_averbacao3 FROM gestao.mdfe WHERE num_averbacao3 IS NOT NULL AND NOT num_averbacao3=' ';
--RUN--

--SEQ 630-- 16/10/2017 15:30 CAROL
ALTER TABLE gestao.dfeevento  ALTER COLUMN desc_justificativa type character(200)
--RUN--

--SEQ 631- 25/10/2017 16:55 JCS
INSERT INTO gestao.moddocfiscal(codigo, descricao, cod_exportacao, especie) VALUES ('67','Conhecimento de Transporte Eletr nico - CT-e OS','','CTeOS');
--RUN--

--SEQ 632- 13/11/2017 10:00 ALAN
ALTER TABLE gestao.nfs DROP COLUMN status_sincronizacao;
ALTER TABLE gestao.nfs DROP COLUMN vencimento;

ALTER TABLE gestao.nfs ADD COLUMN situacao character(1) NOT NULL;
ALTER TABLE gestao.nfs ADD COLUMN optantesn character(1) NOT NULL;
ALTER TABLE gestao.nfs ADD COLUMN cod_verificacao char(9) NOT NULL;
ALTER TABLE gestao.nfs ADD COLUMN dt_competencia date;
ALTER TABLE gestao.nfs ADD COLUMN hr_emissao time;
ALTER TABLE gestao.nfs ADD COLUMN sit_trib_iss smallint NOT NULL;

ALTER TABLE gestao.nfs ADD COLUMN num_lote_envio numeric(15,0);
ALTER TABLE gestao.nfs ADD COLUMN num_protocolo char(50);
ALTER TABLE gestao.nfs ADD COLUMN dt_protocolo date;
ALTER TABLE gestao.nfs ADD COLUMN hr_protocolo time;
ALTER TABLE gestao.nfs ADD COLUMN cod_status char(5);
ALTER TABLE gestao.nfs ADD COLUMN desc_status char(200);
ALTER TABLE gestao.nfs ADD COLUMN hr_emissao_rps time;

ALTER TABLE gestao.nfs ADD COLUMN vl_liq_nfse numeric(12,2);
ALTER TABLE gestao.nfs ADD COLUMN vl_outras_retencao numeric(12,2);
ALTER TABLE gestao.nfs ADD COLUMN vl_iss_retido numeric(12,2);
ALTER TABLE gestao.nfs ADD COLUMN vl_desc_condicionado numeric(12,2);
ALTER TABLE gestao.nfs ADD COLUMN vl_desc_incondicionado numeric(12,2);
ALTER TABLE gestao.nfs ADD COLUMN cod_formapag integer NOT NULL;
ALTER TABLE gestao.nfs ADD COLUMN hr_cancelamento time;
ALTER TABLE gestao.nfs ADD COLUMN outras_inf char(255);
ALTER TABLE gestao.nfs ADD COLUMN tp_amb smallint NOT NULL;

ALTER TABLE gestao.nfs ADD COLUMN im_emitente character varying(15);
ALTER TABLE gestao.nfs ADD COLUMN ie_tomador character varying(14);
ALTER TABLE gestao.nfs ADD COLUMN im_tomador character varying(15);

ALTER TABLE gestao.nfs ADD COLUMN id_inter_serv integer;
ALTER TABLE gestao.nfs ADD COLUMN tipo_inscr_inter_serv smallint;
ALTER TABLE gestao.nfs ADD COLUMN inscr_inter_serv character varying(14);
ALTER TABLE gestao.nfs ADD COLUMN nome_inter_serv character(60);
ALTER TABLE gestao.nfs ADD COLUMN im_inter_serv character varying(15);

ALTER TABLE gestao.nfs ADD COLUMN cod_obra character varying(15);
ALTER TABLE gestao.nfs ADD COLUMN cod_art character varying(15);

ALTER TABLE gestao.nfs ALTER COLUMN numero DROP NOT NULL;
ALTER TABLE gestao.nfs ALTER COLUMN dt_emissao DROP NOT NULL;

ALTER TABLE gestao.nfs ADD CONSTRAINT key_nfs_numero_rps UNIQUE(num_rps, serie_rps,tipo_rps,id_empresa);
ALTER TABLE gestao.nfs ADD CONSTRAINT fk_nfs_municipio1 FOREIGN KEY (cod_municipio) REFERENCES gestao.municipio (codigo_ibge);
ALTER TABLE gestao.nfs ADD CONSTRAINT fk_nfs_municipio2 FOREIGN KEY (cod_municipio_emitente) REFERENCES gestao.municipio (codigo_ibge);
ALTER TABLE gestao.nfs ADD CONSTRAINT fk_nfs_municipio3 FOREIGN KEY (cod_municipio_tomador) REFERENCES gestao.municipio (codigo_ibge);
--RUN--

--SEQ 633- 13/11/2017 17:17 JCS
ALTER TABLE gestao.ict ALTER COLUMN serie_nf TYPE character(3);
--RUN--

--SEQ 634- 23/11/2017 10:48 CAROL
ALTER TABLE gestao.tabobsfiscal ADD COLUMN ativa smallint DEFAULT 1;
--RUN--

--SEQ 635- 04/12/2017 18:44 JCS
ALTER TABLE gestao.ctc ADD COLUMN vl_bcuffim    numeric(15,2);
ALTER TABLE gestao.ctc ADD COLUMN tx_fcpuffim   numeric(6,2);
ALTER TABLE gestao.ctc ADD COLUMN tx_inticmsuffim numeric(6,2);
ALTER TABLE gestao.ctc ADD COLUMN tx_icmsinter  numeric(6,2);
ALTER TABLE gestao.ctc ADD COLUMN tx_icmspart   numeric(6,2);
ALTER TABLE gestao.ctc ADD COLUMN vl_fcpuffim   numeric(15,2);
ALTER TABLE gestao.ctc ADD COLUMN vl_icmsuffim  numeric(15,2);
ALTER TABLE gestao.ctc ADD COLUMN vl_icmsufini  numeric(15,2);
--RUN--

--SEQ 636- 08/12/2017 14:30 Willian
ALTER TABLE gestao.sticms ALTER COLUMN modal_bc_icmsst TYPE character(3);

ALTER TABLE gestao.sticms DROP CONSTRAINT chk_sticms_modal_bc_icmsst;
ALTER TABLE gestao.sticms ADD CONSTRAINT chk_sticms_modal_bc_icmsst CHECK (modal_bc_icmsst = ANY (ARRAY[' '::bpchar, '0'::bpchar, '1'::bpchar, '2'::bpchar, '3'::bpchar, '4'::bpchar, '5'::bpchar, '101'::bpchar]));
--RUN--

--SEQ 637- 08/12/2017 17:16 JCS
ALTER TABLE gestao.scd ALTER COLUMN descricao TYPE character(150);
--RUN--

--SEQ 638- 11/12/2017 10:20 JCS
ALTER TABLE gestao.ctc ADD COLUMN ind_globalizado smallint DEFAULT 0;
--RUN--

--SEQ 639- 11/12/2017 14:35 JCS
ALTER TABLE gestao.ict DROP CONSTRAINT key_ict_numero_nf;
ALTER TABLE gestao.ict ADD CONSTRAINT key_ict_numero_nf UNIQUE(numero_nf, serie_nf, subserie_nf, id_remetente, id_ctc);
--RUN--

--SEQ 641- 2-/12/2017 15:46 JCS
DROP INDEX gestao.key_cfopxtes_cfop;

CREATE UNIQUE INDEX key_cfopxtes_cfop
  ON gestao.cfopxtes
  (id_empresa, tipo, cfop, cfop_entrada, nat_op, COALESCE(cod_fornecedor, 0), COALESCE(cod_produto, ''), tipo_produto, cst_icms, aliq_icms, ind_pagto, cst_ipi, cst_pis, cst_cofins, nat_complementar);
--RUN--

--SEQ 642- 21/12/2017 15:46 ALAN
ALTER TABLE gestao.oc ADD COLUMN id_filial integer;
--RUN--

--SEQ 643- 11/01/2017 16:49 JCS
ALTER TABLE gestao.sticms ADD COLUMN aliq_icmst_cest smallint;
--RUN--

--SEQ 644- 16/01/2018 16:49 ALAN
ALTER TABLE gestao.mdfedoc ALTER COLUMN segcodbarra TYPE character(36);
--RUN--

--SEQ 645- 16/01/2018 18:50 JCS
CREATE TABLE gestao.sticmsmva
(
  id_sticmsmva SERIAL,
  id_empresa integer NOT NULL,
  cest integer NOT NULL,
  data_vigencia date NOT NULL,
  uf_origem character(2) NOT NULL,
  uf_destino character(2) NOT NULL,
  ativo smallint NOT NULL,
  perc_marg_vl_icmsst numeric(7,2) NOT NULL,
  perc_red_bc_icmsst numeric(7,2) NOT NULL,
  aliq_icmsst numeric(7,2) NOT NULL
);

ALTER TABLE gestao.sticmsmva ADD CONSTRAINT pk_sticmsmva PRIMARY KEY(id_sticmsmva);
ALTER TABLE gestao.sticmsmva ADD CONSTRAINT fk_ststicmsmva_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa);
ALTER TABLE gestao.sticmsmva ADD CONSTRAINT key_sticmsmva_cest UNIQUE(id_empresa,cest,data_vigencia,uf_origem,uf_destino);
--RUN--

--SEQ 646- 17/01/2018 15:40 JCS
ALTER TABLE gestao.coleta ADD COLUMN tipo smallint NOT NULL DEFAULT 1;
--RUN--

--SEQ 647- 19/01/2018 10:04 CAROL
CREATE INDEX key_op_num_op ON gestao.op (id_empresa, data);
CREATE INDEX key_pcpparada_num_op ON gestao.pcpparada (id_empresa, num_op);
--RUN--

--SEQ 648- 24/01/2018 16:38 CAROL
ALTER TABLE gestao.op ALTER COLUMN obs type character(250);
--RUN--

--SEQ 649- 07/02/2018 23:23 JCS
ALTER TABLE gestao.entradas RENAME municip_orig_frete TO id_mun_orig;
ALTER TABLE gestao.entradas ADD COLUMN id_mun_dest integer;

ALTER TABLE gestao.entradas DISABLE TRIGGER ALL;
UPDATE gestao.entradas SET id_mun_orig=NULL WHERE id_mun_orig=0;
UPDATE gestao.entradas SET id_mun_orig=NULL WHERE id_mun_orig>0 AND id_mun_orig NOT IN (SELECT id_municipio FROM gestao.municipio);
ALTER TABLE gestao.entradas ENABLE TRIGGER ALL;

ALTER TABLE gestao.entradas ADD CONSTRAINT fk_entradas_municipio1 FOREIGN KEY (id_mun_orig) REFERENCES gestao.municipio (id_municipio);
ALTER TABLE gestao.entradas ADD CONSTRAINT fk_entradas_municipio2 FOREIGN KEY (id_mun_dest) REFERENCES gestao.municipio (id_municipio);

CREATE INDEX key_cstpadrao_entrada ON gestao.cstpadrao (id_empresa, id_entrada);
--RUN--

--SEQ 650- 08/02/2018 09:10 JCS
ALTER TABLE gestao.entradas DISABLE TRIGGER ALL;
UPDATE gestao.entradas SET situacao='L' WHERE situacao IS NULL;
UPDATE gestao.entradas SET situacao='L' WHERE situacao NOT IN ('P','L','C');
ALTER TABLE gestao.entradas ENABLE TRIGGER ALL;

ALTER TABLE gestao.entradas ALTER COLUMN situacao SET DEFAULT 'L';
ALTER TABLE gestao.entradas ALTER COLUMN situacao SET NOT NULL;
ALTER TABLE gestao.entradas ADD CONSTRAINT chk_entradas_situacao CHECK (situacao IN ('P','L','C'));
--RUN--

--SEQ 651- 08/02/2018 12:10 JCS
CREATE TABLE gestao.spedk200
(
  id_spedk200 serial NOT NULL,
  id_empresa integer NOT NULL,
  data date NOT NULL,
  id_produto integer NOT NULL,
  qtd numeric(15,3) NOT NULL,
  indic_prop smallint NOT NULL DEFAULT 0,
  cod_correntista integer,
  inf_usuario smallint,
  CONSTRAINT pk_spedk200 PRIMARY KEY (id_spedk200),
  CONSTRAINT fk_spedk200_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_spedk200_produto FOREIGN KEY (id_produto) REFERENCES gestao.produto (id_produto),
  CONSTRAINT fk_spedk200_correntista FOREIGN KEY (id_empresa, cod_correntista) REFERENCES gestao.correntista (id_empresa, codigo)
);

CREATE UNIQUE INDEX key_spedk200_data
  ON gestao.spedk200 (id_empresa, data, id_produto, indic_prop, (COALESCE(cod_correntista, 0)));
--RUN--

--SEQ 652- 21/02/2018 15:50 ALAN
CREATE TABLE gestao.remessa (
  id_remessa serial NOT NULL,
  id_empresa integer NOT NULL,
  numero integer NOT NULL ,        --num_remessa
  data date NOT NULL ,
  id_banco integer NULL ,
  seq_arq integer NULL ,
  tx_juros_mes numeric(7,2) NOT NULL , --taxa_juros_mes
  transmitido smallint NOT NULL ,
  esp_titulos smallint NOT NULL ,
  id_ocorrencia smallint NOT NULL ,
  n_dias_protesto smallint NOT NULL ,
  mensagem character(60) NOT NULL ,
  aceite smallint NOT NULL ,
  id_baixa smallint NOT NULL ,
  dias_baixa_devolucao smallint NOT NULL ,
  emissao_boleto smallint NOT NULL ,
  id_sac_ava integer NULL ,
  carteira character(3) NOT NULL ,
  tit_descontado_sem_uso smallint NOT NULL ,--tit_descontado
  vl_juros numeric(12,2) NOT NULL ,
  vl_servicos numeric(12,2) NOT NULL ,
  vl_outras numeric(12,2) NOT NULL ,
  id_banco_desconto integer NOT NULL ,
  tx_desconto numeric(5,2) NOT NULL , --taxa_desconto
  tp_docto smallint NOT NULL, --CHAR(1)
  usar_vl_saldo smallint NOT NULL,
  --**********************************
  tpcobra integer NOT NULL,
  vl_tarifa numeric(15,2) NOT NULL,
  vl_tot_tarifa numeric(15,2) NOT NULL,
  tx_iof_mes numeric(8,4) NOT NULL,
  tx_cpmf numeric(6,2) NOT NULL,
  tx_iss numeric(6,2) NOT NULL,
  tx_servico numeric(6,2) NOT NULL,
  vl_iof numeric(12,2) NOT NULL,
  vl_cpmf numeric(12,2) NOT NULL,
  vl_iss numeric(12,2) NOT NULL,
  vl_nominal numeric(15,2) NOT NULL,
  perm_conciliacao smallint NOT NULL,
  d_mais smallint NOT NULL,
  autorizacao integer NOT NULL,
  calc_juros_compostos smallint NOT NULL,
  id_destino integer NOT NULL,
  id_fornecedor integer,
  num_docto character(10) NOT NULL,
  vl_nf_servicos numeric(15,2) NOT NULL,
  gera_ctb character(1) NOT NULL,
  vl_tarifa_inc_nfs character(1),
  variacao character varying(3),
  convenio character(15),
  num_contrato character(15),
  CONSTRAINT pk_remessa PRIMARY KEY (id_remessa),
  CONSTRAINT fk_remessa_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT key_remessa_numero UNIQUE (id_empresa, numero)
);

CREATE INDEX key_remessa_id_banco ON gestao.remessa (id_banco, seq_arq);
CREATE INDEX key_remessa_data ON gestao.remessa (data);


CREATE TABLE gestao.ocorrencia
(
  id_ocorrencia serial NOT NULL,
  id_ctr integer,
  id_cheque integer,
  data date NOT NULL,
  tipo character(3) NOT NULL,
  id_tpcobr integer,
  id_portador integer,
  valor numeric(12,2) NOT NULL,
  anota character(40) NOT NULL,
  cobrar_cliente smallint NOT NULL,
  id_remessa integer,
  tipo_remessa smallint NOT NULL,
  id_oco_vinculada integer,
  nova_data date,
  contabilizado character(1),
  cod_mov character(3),
  CONSTRAINT pk_ocorrencia PRIMARY KEY (id_ocorrencia),
  CONSTRAINT fk_ocorrencia_remessa FOREIGN KEY (id_remessa) REFERENCES gestao.remessa (id_remessa),
  CONSTRAINT fk_ocorrencia_vinculada FOREIGN KEY (id_oco_vinculada) REFERENCES gestao.ocorrencia (id_ocorrencia),
  CONSTRAINT key_ocorrencia_ctr UNIQUE (id_ctr, tipo, id_remessa, tipo_remessa, id_oco_vinculada)
);

CREATE INDEX key_ocorrencia_cheque ON gestao.ocorrencia USING btree(id_cheque);
CREATE INDEX key_ocorrencia_remessa ON gestao.ocorrencia USING btree(id_remessa);
CREATE INDEX key_ocorrencia_vinculada ON gestao.ocorrencia USING btree(id_oco_vinculada);
--RUN--

--SEQ 653- 22/02/2018 12:00 JCS
ALTER TABLE gestao.op ADD COLUMN unidade character(6);
--RUN--

--SEQ 654- 06/03/2018 16:15 ALAN
ALTER TABLE gestao.ctc ADD COLUMN chave_acesso_compl character(44);
ALTER TABLE gestao.ctc ADD COLUMN chave_acesso_anul character(44);
ALTER TABLE gestao.ctc ADD COLUMN dt_emissao_declaracao_toma date;
ALTER TABLE gestao.ctc ADD COLUMN chave_acesso_subt character(44);
ALTER TABLE gestao.ctc ADD COLUMN tp_emit_toma character(2);
ALTER TABLE gestao.ctc ADD COLUMN chave_acesso_emit_toma character(44);
ALTER TABLE gestao.ctc ADD COLUMN id_tomador_nfct_toma integer;
ALTER TABLE gestao.ctc ADD COLUMN serie_nfct_toma character(3);
ALTER TABLE gestao.ctc ADD COLUMN subser_nfct_toma character(3);
ALTER TABLE gestao.ctc ADD COLUMN num_nfct_toma integer;
ALTER TABLE gestao.ctc ADD COLUMN vl_nfct_toma numeric(13,2);
ALTER TABLE gestao.ctc ADD COLUMN dt_nfct_toma date;
--RUN--

--SEQ 655- 08/03/2018 11:25 JCS
ALTER TABLE gestao.producao ALTER COLUMN und TYPE character(6);
--RUN--

--SEQ 656- 08/03/2018 15:35 JCS
ALTER TABLE gestao.op ALTER COLUMN unidade TYPE character(6);
--RUN--

--SEQ 657-- 22/03/2018 14:15 POR Willian
ALTER TABLE gestao.cargadet ADD COLUMN seq integer;
ALTER TABLE gestao.cargadet ADD COLUMN id_pedido integer;
ALTER TABLE gestao.cargadet DROP CONSTRAINT key_cargadet_carga;
ALTER TABLE gestao.cargadet ADD CONSTRAINT key_cargadet_carga UNIQUE(id_carga, id_produto, unidade, seq, id_pedido);
--RUN--

--SEQ 658- 26/03/2018 08:15 ALAN
ALTER TABLE gestao.ctc ADD COLUMN somar_pedagio smallint DEFAULT 1;
--RUN--

--SEQ 659- 04/04/2018 13:30 JCS
ALTER TABLE gestao.estrutura  ADD COLUMN nivel smallint;
ALTER TABLE gestao.op ADD COLUMN localizador character(10);
--RUN--

--SEQ 660- 05/04/2018 08:00 Willian
CREATE TABLE gestao.nfrastro (
  id_nfrastro serial not null,
  id_nfdet int,
  id_peditem int,
  num_lote varchar(20) not null,
  qtd_prod_lote numeric(11,3) not null,
  dt_fabricacao date not null,
  dt_validade date not null,
  cod_agreg integer);
ALTER TABLE gestao.nfrastro ADD CONSTRAINT pk_nfrastro PRIMARY KEY (id_nfrastro);  
ALTER TABLE gestao.nfrastro ADD CONSTRAINT fk_nfrastro_nfdet FOREIGN KEY (id_nfdet) REFERENCES gestao.nfdet (id_nfdet);

ALTER TABLE gestao.nfdet ADD COLUMN bc_fcp_uf_dest numeric(15,2);
ALTER TABLE gestao.nfdet ADD COLUMN ind_escala character(1);
ALTER TABLE gestao.nfdet ADD COLUMN cnpj_fab character(14);
ALTER TABLE gestao.nfdet ADD COLUMN cod_prod_anvisa varchar(13);
ALTER TABLE gestao.nfdet ADD COLUMN preco_max_cons numeric(15,2);
ALTER TABLE gestao.nfdet ADD COLUMN descr_prod_anp character(100);
ALTER TABLE gestao.nfdet ADD COLUMN perc_gas_nacional numeric(8,4);
ALTER TABLE gestao.nfdet ADD COLUMN perc_gas_importado numeric(8,4);
ALTER TABLE gestao.nfdet ADD COLUMN vl_part_gas numeric(15,2);
ALTER TABLE gestao.nfdet ADD COLUMN perc_fcp numeric(6,2);
ALTER TABLE gestao.nfdet ADD COLUMN bc_fcp numeric(15,2);
ALTER TABLE gestao.nfdet ADD COLUMN vl_fcp numeric(15,2);
ALTER TABLE gestao.nfdet ADD COLUMN perc_fcpst numeric(6,2);
ALTER TABLE gestao.nfdet ADD COLUMN bc_fcpst numeric(15,2);
ALTER TABLE gestao.nfdet ADD COLUMN vl_fcpst numeric(15,2);
ALTER TABLE gestao.nfdet ADD COLUMN perc_fcpst_ret numeric(6,2);
ALTER TABLE gestao.nfdet ADD COLUMN bc_fcpst_ret numeric(15,2);
ALTER TABLE gestao.nfdet ADD COLUMN vl_fcpst_ret numeric(15,2);

ALTER TABLE gestao.nf ADD COLUMN vl_fcp numeric(15,2);
ALTER TABLE gestao.nf ADD COLUMN vl_fcpst numeric(15,2);
ALTER TABLE gestao.nf ADD COLUMN vl_fcpst_ret numeric(15,2);
ALTER TABLE gestao.nf ADD COLUMN vl_ipi_devol numeric(15,2);

ALTER TABLE gestao.produto ADD COLUMN ind_escala character(1);
ALTER TABLE gestao.produto ADD COLUMN cnpj_fab character(14);
ALTER TABLE gestao.produto ADD COLUMN cod_prod_anvisa varchar(13);
ALTER TABLE gestao.produto ADD COLUMN descr_prod_anp character(100);

ALTER TABLE gestao.sticms ADD COLUMN perc_fcpst numeric(6,2);
--RUN--

--SEQ 661- 05/04/2018 16:20 JCS
ALTER TABLE gestao.produto ADD COLUMN tx_desc_lote numeric(6,2);
ALTER TABLE gestao.produto ADD CONSTRAINT chk_produto_tx_desc_vol CHECK (tx_desc_lote=0 OR (lote_mul_venda>0 AND permitir_dif_lote>0));
--RUN--

--SEQ 662- 11/04/2018 14:30 ALAN
ALTER TABLE gestao.nfeinut ADD COLUMN tipo character(3);
UPDATE gestao.nfeinut SET tipo='NFE' where tipo is null;
ALTER TABLE gestao.nfeinut ALTER COLUMN tipo SET NOT NULL;
--RUN--

--SEQ 663-- 13/04/2018 17:20 ALAN
update gestao.modecf set versao='01.00.00' where cod_marca=3 and cod_modelo=22 and cod_versao=1;
update gestao.modecf set versao='01.00.01' where cod_marca=3 and cod_modelo=22 and cod_versao=2;
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao,marca , modelo  , versao   , homologada, mfd,cv0909) VALUES (156,3,22,3,'BEMATECH            ', 'MP-4200 TH FI       ', '01.00.02', 1        , 1,1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao,marca , modelo  , versao   , homologada, mfd,cv0909) VALUES (157,3,22,4,'BEMATECH            ', 'MP-4200 TH FI       ', '01.00.03', 1        , 1,1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao,marca , modelo  , versao   , homologada, mfd,cv0909) VALUES (158,3,23,1,'BEMATECH            ', 'MP-4200 TH FI II    ', '01.00.00', 1        , 1,1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao,marca , modelo  , versao   , homologada, mfd,cv0909) VALUES (159,3,23,2,'BEMATECH            ', 'MP-4200 TH FI II    ', '01.00.01', 1        , 1,1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao,marca , modelo  , versao   , homologada, mfd,cv0909) VALUES (160,3,23,3,'BEMATECH            ', 'MP-4200 TH FI II    ', '01.00.02', 1        , 1,1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao,marca , modelo  , versao   , homologada, mfd,cv0909) VALUES (161,3,23,4,'BEMATECH            ', 'MP-4200 TH FI II    ', '01.00.03', 1        , 1,1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao,marca , modelo  , versao   , homologada, mfd,cv0909) VALUES (162,3,23,5,'BEMATECH            ', 'MP-4200 TH FI II    ', '01.99.00', 1        , 1,1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao,marca , modelo  , versao   , homologada, mfd,cv0909) VALUES (163,3,23,6,'BEMATECH            ', 'MP-4200 TH FI II    ', '01.99.01', 1        , 1,1);
--RUN--

--SEQ 664-- 18/04/2018 09:39 CAROL
ALTER TABLE gestao.osdet ADD COLUMN id_tecnico integer;
--RUN--

--SEQ 665-- 25/04/2018 11:30 ALAN
CREATE TABLE gestao.portador (
  id_portador serial,
  id_empresa integer,
  nome_correntista character(50),
  nome character(40) NOT NULL ,
  banco character(35),
  banco_num integer,
  agenc character(35),
  agencia_num integer,
  agencia_dv character(2),
  ender character(40),
  munic character(30),
  uf character(2),
  id_municipio integer,
  cep character(9),
  bairr character(30),
  cc_num integer,
  cc_dv character(2),
  cod_ctb integer,--C_CTB
  cod_ctb_desconto integer,--??
  porta smallint,
  cobra smallint,
  cc smallint,
  mod_bloq character(199),
  ncol_bloq smallint,--???
  pre_n_nr character(15),
  seq_n_nr integer,
  desp_cobr_ctb smallint,--???
  cobr_codempresa character(20),
  cobr_convenio integer,--???
  cobr_carteira character varying(3) ,--CHAR(3)
  cobr_variacao character varying(2),--CHAR(2)
  si_fluxo_caixa smallint,
  usuarios_lanctos character varying(1050),
  data_bloq_lancto date,
  ativo smallint NOT NULL DEFAULT 1,
  cnpj_correntista character(18),  
  dt_ini_contab date,
  id_sac_ava INT NULL ,
  imp_bloq_dup smallint,  
  tx_tarifa numeric(5,2),
  vl_tarifa numeric(12,2),
  tx_juros_mes numeric(6,2),
  tx_iof_mes numeric(8,4),
  tx_cpmf numeric(5,2),
  tx_iss numeric(5,2),
  tx_servico numeric(5,2),
  vl_servico numeric(12,2),
  d_mais smallint,
  tx_juros_reembolso numeric(6,2),
  dias_reembolso integer,
  tx_juros_prorrogacao numeric(6,2),
  vl_tarifa_reeb_prorr numeric(12,2),
  limite_operacional numeric(12,2),
  dias_lib_cobranca smallint,
  dias_protesto smallint,
  status smallint NOT NULL DEFAULT 1,
  cod_ctb_cobr integer,
  pref_boleto smallint,
  CONSTRAINT pk_portador PRIMARY KEY (id_portador),
  CONSTRAINT fk_portador_empresa  FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_portador_municipio FOREIGN KEY (id_municipio) REFERENCES gestao.municipio (id_municipio)
);

CREATE INDEX key_portador_nome ON gestao.portador (upper(to_ascii(nome::text)));

INSERT INTO gestao.tabcomp(id_empresa, nome_tabcomp, id_empresa_tabcomp)
(select id_empresa,'portador', id_matriz from gestao.empresa where id_empresa in( select id_empresa from gestao.empresa where not id_empresa=id_matriz))
--RUN--

--SEQ 666-- 26/04/2018 09:50 JCS
UPDATE gestao.oc SET id_filial=NULL WHERE id_filial=0;
ALTER TABLE gestao.oc ADD CONSTRAINT fk_oc_filial FOREIGN KEY (id_filial) REFERENCES gestao.empresa (id_empresa);
--RUN--

--SEQ 667-- 28/04/2018 16:00 JCS
ALTER TABLE gestao.op  ADD COLUMN id_estlocal integer;
ALTER TABLE gestao.op ADD CONSTRAINT fk_op_estlocal FOREIGN KEY (id_estlocal)  REFERENCES gestao.estlocal (id_estlocal);

ALTER TABLE gestao.estsaldo ADD COLUMN qtd_oc numeric(15,3) NOT NULL DEFAULT 0;
ALTER TABLE gestao.estsaldo ADD COLUMN qtd_op numeric(15,3) NOT NULL DEFAULT 0;
ALTER TABLE gestao.estsaldo ADD COLUMN qtd_opins numeric(15,3) NOT NULL DEFAULT 0;

ALTER TABLE gestao.opins ADD COLUMN qtd_empenhada numeric(15,3) NOT NULL DEFAULT 0;
ALTER TABLE gestao.opins ADD COLUMN num_op int;

ALTER TABLE gestao.proposta ADD COLUMN dt_prc_entrega int;
--RUN--

--SEQ 668-- 09/05/2018 14:00 JCS
ALTER TABLE gestao.nf DROP CONSTRAINT chk_nf_nsu;
ALTER TABLE gestao.nf DROP CONSTRAINT chk_nf_nsu_data;
ALTER TABLE gestao.nf DROP CONSTRAINT chk_nf_nsu_hora;
--RUN--


--SEQ 669-- 14/05/2018 15:00 ALAN
ALTER TABLE gestao.ict DROP CONSTRAINT key_ict_numero_nf;
ALTER TABLE gestao.ict ADD CONSTRAINT key_ict_numero_nf UNIQUE(numero_nf, serie_nf, subserie_nf, id_remetente, id_ctc, modelo_nf);
--RUN--

--SEQ 670-- 07/06/2018 16:40 JCS
ALTER TABLE gestao.proposta ALTER COLUMN dt_prc_entrega TYPE DATE USING Null::date;
--RUN--

--SEQ 671-- 28/06/2018 16:01 JCS
SELECT setval('gestao.ocorrencia_id_ocorrencia_seq', (
SELECT CASE WHEN n1>n2 THEN n1 ELSE n2 END
 FROM (
 SELECT (COALESCE((SELECT max(id_ocorrencia)-90000000+1 from gestao.ocorrencia WHERE id_ocorrencia<99999999),1)) AS n1,(COALESCE((select max(id_ocorrencia)+1 from gestao.ocorrencia WHERE id_ocorrencia<90000000),1) ) AS n2 
 ) AS foo
 ), true);
--RUN--

--SEQ 672-- 03/07/2018 14:20 JCS
CREATE INDEX key_boleto_origem ON gestao.boleto (id_origem, id_empresa);
--RUN--

--SEQ 673-- 22/07/2018 19:45 JCS
ALTER TABLE gestao.municipio ADD COLUMN latitude  numeric(11,6);
ALTER TABLE gestao.municipio ADD COLUMN longitude numeric(11,6);
--RUN--

--SEQ 674-- 01/08/2018 17:15 JCS
UPDATE gestao.dfe SET situacao='C' WHERE id_dfe IN (
SELECT id_dfe FROM gestao.dfeevento A
  LEFT OUTER JOIN gestao.dfe B ON (a.chave_dfe=b.chave_dfe)
 WHERE desc_evento='Cancelamento' AND NOT situacao='C');
--RUN--

--SEQ 675-- 13/08/2018 19:10 JCS
CREATE TABLE gestao.regiao
(
  id_regiao serial NOT NULL,
  descricao character(60) NOT NULL,
  ativa smallint NOT NULL DEFAULT 1,
  CONSTRAINT pk_regiao PRIMARY KEY (id_regiao)
);
--RUN--

--SEQ 676-- 13/08/2018 19:10 JCS
update gestao.carga set id_regiao=null where id_regiao=0;
--RUN--

--SEQ 677-- 14/08/2018 17:40 JCS
ALTER TABLE gestao.entradas  ADD COLUMN data_inc date;
ALTER TABLE gestao.entradas ALTER COLUMN data_inc SET DEFAULT now();

ALTER TABLE gestao.entradas DISABLE TRIGGER ALL;
UPDATE gestao.entradas SET data_inc=entra;
ALTER TABLE gestao.entradas ENABLE TRIGGER ALL;

ALTER TABLE gestao.entradas ALTER COLUMN data_inc SET NOT NULL;
--RUN--

--SEQ 678-- 15/08/2018 15:00 JCS
CREATE INDEX key_entradas_data_inc ON gestao.entradas (data_inc);
--RUN--

--SEQ 679-- 17/08/2018 17:00 ALAN
ALTER TABLE gestao.carga DROP CONSTRAINT fk_carga_regiao;
--RUN--IGNORE ERRO

--SEQ 680-- 17/08/2018 17:00 ALAN
ALTER TABLE gestao.carga  ADD CONSTRAINT fk_carga_regiao FOREIGN KEY (id_regiao)  REFERENCES gestao.regiao (id_regiao);
--RUN--

--SEQ 681-- 24/08/2018 19:00 JCS
CREATE INDEX key_req_numero_op ON gestao.req (numero_op,id_empresa);
--RUN--

--SEQ 682-- 28/08/2018 10:00 ALAN
select now();
--RUN--

--SEQ 683-- 30/08/2018 11:20 JCS
ALTER TABLE gestao.pauta ADD COLUMN tp_pauta smallint NOT NULL DEFAULT 0;
ALTER TABLE gestao.pauta ADD COLUMN id_pauta_vinculada integer;
ALTER TABLE gestao.pauta ADD CONSTRAINT  fk_pauta_pauta_vinculada FOREIGN KEY (id_pauta_vinculada) REFERENCES gestao.pauta (id_pauta);

ALTER TABLE gestao.cfopxtes RENAME cod_fornecedor  TO id_subgrupo;
UPDATE gestao.cfopxtes SET id_subgrupo=NULL WHERE id_subgrupo=0;
DELETE FROM gestao.cfopxtes WHERE id_subgrupo>0;
ALTER TABLE gestao.cfopxtes ADD CONSTRAINT fk_cfopxtes_subgrupo FOREIGN KEY (id_subgrupo)  REFERENCES gestao.grupo (id_grupo);
--RUN--

--SEQ 685-- 10/09/2018 10:55 JCS
ALTER TABLE gestao.pauta ADD COLUMN uf character(2) NOT NULL DEFAULT ' ';
ALTER TABLE gestao.pauta ADD COLUMN contribuinte_icms int NOT NULL DEFAULT 1;
ALTER TABLE gestao.pauta ADD COLUMN st_especifica character(20) NOT NULL DEFAULT ' ';
--RUN--

--SEQ 686-- 12/09/2018 09:00 Alan
CREATE TABLE gestao.localidade
(
  id_localidade serial NOT NULL,
  codigo integer NOT NULL,
  nome character varying(40) NOT NULL,
  cod_municipio integer NOT NULL,
  CONSTRAINT pk_localidade PRIMARY KEY (id_localidade),
  CONSTRAINT fk_localidade_municipio FOREIGN KEY (cod_municipio) REFERENCES gestao.municipio (codigo_ibge),
  CONSTRAINT key_localidade_municipio UNIQUE (codigo,cod_municipio)
);
--RUN--

--SEQ 687-- 12/09/2018 09:00 Alan
ALTER TABLE gestao.colaborador ADD COLUMN situacao smallint;
ALTER TABLE gestao.colaborador ADD COLUMN dt_nascto date;
ALTER TABLE gestao.colaborador ADD COLUMN tp_moradia smallint;
ALTER TABLE gestao.colaborador ADD COLUMN celular character(25);
ALTER TABLE gestao.colaborador ADD COLUMN contato character(40);
ALTER TABLE gestao.colaborador ADD COLUMN referencia character(40);
ALTER TABLE gestao.colaborador ADD COLUMN pai character(40);
ALTER TABLE gestao.colaborador ADD COLUMN mae character(40);
ALTER TABLE gestao.colaborador ADD COLUMN conju character(40);
ALTER TABLE gestao.colaborador ADD COLUMN religiao character(20);
ALTER TABLE gestao.colaborador ADD COLUMN nr_filhos smallint;
ALTER TABLE gestao.colaborador ADD COLUMN e_civ smallint;
ALTER TABLE gestao.colaborador ADD COLUMN nr_tituto character(14);
ALTER TABLE gestao.colaborador ADD COLUMN secao character(3);
ALTER TABLE gestao.colaborador ADD COLUMN zona character(4);
ALTER TABLE gestao.colaborador ADD COLUMN escolaridade character(40);
ALTER TABLE gestao.colaborador ADD COLUMN cursando_turno smallint;
ALTER TABLE gestao.colaborador ADD COLUMN func_conhecido character(40);
ALTER TABLE gestao.colaborador ADD COLUMN qualif_prof character varying(199);
ALTER TABLE gestao.colaborador ADD COLUMN exp_prof character(50);
ALTER TABLE gestao.colaborador ADD COLUMN atual_prof character(50);
ALTER TABLE gestao.colaborador ADD COLUMN salario_atual numeric(12,2);
ALTER TABLE gestao.colaborador ADD COLUMN pref_turno smallint;
ALTER TABLE gestao.colaborador ADD COLUMN hr_extra smallint;
ALTER TABLE gestao.colaborador ADD COLUMN trab_empresa1 character(40);
ALTER TABLE gestao.colaborador ADD COLUMN trab_empresa2 character(40);
ALTER TABLE gestao.colaborador ADD COLUMN trab_empresa3 character(40);
ALTER TABLE gestao.colaborador ADD COLUMN trab_cargo1 character(40);
ALTER TABLE gestao.colaborador ADD COLUMN trab_cargo2 character(40);
ALTER TABLE gestao.colaborador ADD COLUMN trab_cargo3 character(40);
ALTER TABLE gestao.colaborador ADD COLUMN trab_periodo1 character(35);
ALTER TABLE gestao.colaborador ADD COLUMN trab_periodo2 character(35);
ALTER TABLE gestao.colaborador ADD COLUMN trab_periodo3 character(35);
UPDATE gestao.colaborador SET situacao=(CASE WHEN dt_baixa is null THEN 1 ELSE 2 END);
--RUN--

--SEQ 688-- 18/09/2018 10:00 Willian
ALTER TABLE gestao.nfdet ADD COLUMN perc_merc_devol numeric(6,2);
ALTER TABLE gestao.nfdet ADD COLUMN vl_ipi_devol numeric(15,2);
--RUN--

--SEQ 689-- 26/09/2018 17:00 Willian
ALTER TABLE gestao.fatconversao DROP CONSTRAINT key_cod_barra;
ALTER TABLE gestao.fatconversao ADD CONSTRAINT key_cod_barra UNIQUE(id_empresa, cod_barra, id_produto);
--RUN--

--SEQ 690-- 03/10/2018 10:30 Willian
ALTER TABLE gestao.nfrastro ADD COLUMN id_entradet int;
ALTER TABLE gestao.nfrastro ADD COLUMN id_produto int;
ALTER TABLE gestao.nfrastro ADD COLUMN tp_movto character(1) NOT NULL DEFAULT 'X';
ALTER TABLE gestao.nfrastro ADD COLUMN id_empresa int;
ALTER TABLE gestao.nfrastro ADD COLUMN id_producao int;

CREATE OR REPLACE VIEW gestao.vsaldo_lotes AS 
 SELECT nfrastro.id_produto,
    nfrastro.num_lote,
    nfrastro.dt_fabricacao,
    nfrastro.dt_validade,
    sum(
        CASE
            WHEN nfrastro.tp_movto = 'E'::bpchar THEN + nfrastro.qtd_prod_lote
            WHEN nfrastro.tp_movto = 'S'::bpchar THEN - nfrastro.qtd_prod_lote
            ELSE 0::numeric
        END) AS saldo,
    nfrastro.id_empresa
   FROM gestao.nfrastro
  GROUP BY nfrastro.id_produto, nfrastro.num_lote, nfrastro.dt_fabricacao, nfrastro.dt_validade, nfrastro.id_empresa;
--RUN--

--SEQ 691-- 09/10/2018 16:00 Willian
ALTER TABLE gestao.sticms ADD COLUMN perc_deson_icms numeric(5,2);
ALTER TABLE gestao.sticms ADD COLUMN cod_mot_deson smallint;
--RUN--

--SEQ 692-- 24/10/2018 19:12 JCS
ALTER TABLE gestao.spedk200 ADD COLUMN dt_correcao date;
ALTER TABLE gestao.spedk200 ADD COLUMN qtd_correcao numeric(15,3);
--RUN--

--SEQ 693-- 05/11/2018 11:00 Willian
ALTER TABLE gestao.nf DROP CONSTRAINT chk_nf_modfrete;
ALTER TABLE gestao.nf ADD CONSTRAINT chk_nf_modfrete CHECK (mod_frete = ANY (ARRAY[0, 1, 2, 3, 4, 9]));
--RUN--

--SEQ 694-- 07/11/2018 11:00 JCS
ALTER TABLE gestao.ccustoxctb ADD COLUMN cod_ctbcusto integer;
--RUN--

--SEQ 696-- 23/11/2018 10:00 JCS
CREATE OR REPLACE VIEW gestao.vpauxpro AS
SELECT a.id_pauta,a.id_prod AS id_produto,preco1,preco2,preco3,a.bc_comissao,a.id_varprod,b.tp_pauta,b.dt_ini,b.dt_fim,a.dt_atual
  FROM gestao.pauxpro A
  LEFT OUTER JOIN gestao.pauta B ON (a.id_pauta=b.id_pauta)
  WHERE a.id_pauta::text||'-'||(CASE WHEN id_varprod>0 THEN id_varprod ELSE id_prod END)::text NOT IN
  (
SELECT b.id_pauta_vinculada::text||'-'||(CASE WHEN id_varprod>0 THEN id_varprod ELSE id_prod END)::text
  FROM gestao.pauxpro A
  LEFT OUTER JOIN gestao.pauta B ON (a.id_pauta=b.id_pauta)
  WHERE b.tp_pauta=1 AND CURRENT_DATE BETWEEN b.dt_ini AND b.dt_fim
)
UNION ALL
SELECT b.* FROM (
SELECT b.id_pauta_vinculada,a.id_prod AS id_produto,max(b.dt_ini) AS dt_ini
  FROM gestao.pauxpro A
  LEFT OUTER JOIN gestao.pauta B ON (a.id_pauta=b.id_pauta)
  WHERE b.tp_pauta=1 AND CURRENT_DATE BETWEEN b.dt_ini AND b.dt_fim 
  GROUP BY b.id_pauta_vinculada,a.id_prod) A
  LEFT OUTER JOIN (
  SELECT b.id_pauta_vinculada,a.id_prod AS id_produto,preco1,preco2,preco3,a.bc_comissao,a.id_varprod,b.tp_pauta,b.dt_ini,b.dt_fim,a.dt_atual
  FROM gestao.pauxpro A
  LEFT OUTER JOIN gestao.pauta B ON (a.id_pauta=b.id_pauta)
  WHERE b.tp_pauta=1 AND CURRENT_DATE BETWEEN b.dt_ini AND b.dt_fim) B 
  ON (a.id_pauta_vinculada=b.id_pauta_vinculada and a.id_produto=b.id_produto AND a.dt_ini=b.dt_ini);
--RUN--

--SEQ 697-- 26/11/2018 14:00 JCS
ALTER TABLE gestao.cstpadrao ALTER COLUMN valor TYPE numeric(15,6);
--RUN--

--SEQ 698-- 27/11/2018 11:40 JCS
CREATE OR REPLACE VIEW gestao.vpauxpro AS
SELECT a.id_pauta,a.id_prod AS id_produto,preco1,preco2,preco3,a.bc_comissao,a.id_varprod,b.tp_pauta,b.dt_ini,b.dt_fim,a.dt_atual,a.valor_pauta_icms_st
  FROM gestao.pauxpro A
  LEFT OUTER JOIN gestao.pauta B ON (a.id_pauta=b.id_pauta)
  WHERE a.id_pauta::text||'-'||(CASE WHEN id_varprod>0 THEN id_varprod ELSE id_prod END)::text NOT IN
  (
SELECT b.id_pauta_vinculada::text||'-'||(CASE WHEN id_varprod>0 THEN id_varprod ELSE id_prod END)::text
  FROM gestao.pauxpro A
  LEFT OUTER JOIN gestao.pauta B ON (a.id_pauta=b.id_pauta)
  WHERE b.tp_pauta=1 AND CURRENT_DATE BETWEEN b.dt_ini AND b.dt_fim
)
UNION ALL
SELECT b.* FROM (
SELECT b.id_pauta_vinculada,a.id_prod AS id_produto,max(b.dt_ini) AS dt_ini, a.valor_pauta_icms_st
  FROM gestao.pauxpro A
  LEFT OUTER JOIN gestao.pauta B ON (a.id_pauta=b.id_pauta)
  WHERE b.tp_pauta=1 AND CURRENT_DATE BETWEEN b.dt_ini AND b.dt_fim 
  GROUP BY b.id_pauta_vinculada,a.id_prod, a.valor_pauta_icms_st) A
  LEFT OUTER JOIN (
  SELECT b.id_pauta_vinculada,a.id_prod AS id_produto,preco1,preco2,preco3,a.bc_comissao,a.id_varprod,b.tp_pauta,b.dt_ini,b.dt_fim,a.dt_atual, a.valor_pauta_icms_st
  FROM gestao.pauxpro A
  LEFT OUTER JOIN gestao.pauta B ON (a.id_pauta=b.id_pauta)
  WHERE b.tp_pauta=1 AND CURRENT_DATE BETWEEN b.dt_ini AND b.dt_fim) B 
  ON (a.id_pauta_vinculada=b.id_pauta_vinculada and a.id_produto=b.id_produto AND a.dt_ini=b.dt_ini);
--RUN--

--SEQ 699-- 26/11/2018 14:00 JCS
ALTER TABLE gestao.viagem ADD COLUMN vl_merc_transp numeric(15,2);
--RUN--

--SEQ 700-- 30/11/2018 14:30 JCS
DROP INDEX gestao.key_estmovto_produto;
DROP INDEX gestao.key_estmovto_produto2;

CREATE INDEX key_estmovto_produto
  ON gestao.estmovto
  USING btree
  (id_produto, id_empresa, tipo, data);
--RUN--

--SEQ 701-- 05/12/2018 16:30 ALAN
ALTER TABLE gestao.nfs ALTER COLUMN qtd_servicos TYPE numeric(12,2);
--RUN--

--SEQ 702-- 14/12/2018 08:30 ALAN
CREATE TABLE gestao.cmo (
  id_cmo SERIAL NOT NULL ,
  id_colaborador INT NOT NULL ,
  periodo DATE NOT NULL ,
  vl_salario DECIMAL(15,2)  NOT NULL ,
  vl_he DECIMAL(15,2)  NOT NULL ,
  vl_outros DECIMAL(15,2) NOT NULL ,
  vl_encargos DECIMAL(15,2) NOT NULL ,
  vl_provisoes DECIMAL(15,2) NOT NULL ,
  hr_base DECIMAL(6,2) NOT NULL ,
  hr_trab DECIMAL(6,2) NOT NULL ,
  he_50 DECIMAL(6,2) NOT NULL ,
  he_100 DECIMAL(6,2) NOT NULL ,
  obs CHAR(200) NOT NULL
);

ALTER TABLE gestao.cmo ADD CONSTRAINT pk_cmo PRIMARY KEY(id_cmo);
ALTER TABLE gestao.cmo ADD CONSTRAINT key_cmo_colaborador UNIQUE(id_colaborador, periodo);

ALTER TABLE gestao.colaborador DROP CONSTRAINT key_colaborador_cpf;
ALTER TABLE gestao.colaborador ADD CONSTRAINT key_colaborador_cpf UNIQUE(cpf,id_empresa);

ALTER TABLE gestao.colaborador ADD COLUMN cargo character(40);
--RUN--

--SEQ 703-- 03/01/2019 11:10 ALAN
ALTER TABLE gestao.nfs ADD COLUMN contabilizado character(1);
--RUN--

--SEQ 704-- 28/01/2018 08:30 ALAN
CREATE TABLE gestao.ativserv
(
  id_ativserv serial NOT NULL,
  id_empresa integer NOT NULL,
  codigo integer NOT NULL,
  descricao character varying(250) NOT NULL,
  descr_servico character varying(250),
  ctbconta integer,
  CONSTRAINT pk_ativserv PRIMARY KEY (id_ativserv),
  CONSTRAINT fk_ativserv_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT key_ativserv_codigo UNIQUE (codigo,id_empresa,ctbconta,descricao)
);

ALTER TABLE gestao.nfs RENAME atividade TO cod_ativserv;
ALTER TABLE gestao.nfs ADD COLUMN id_ativserv integer;
INSERT INTO gestao.ativserv(id_empresa, codigo, descricao, descr_servico) select distinct id_empresa,cod_ativserv,'favor ajustar','' from gestao.nfs;;
update gestao.nfs set id_ativserv=(select id_ativserv from gestao.ativserv where codigo=cod_ativserv);
ALTER TABLE gestao.nfs ALTER COLUMN id_ativserv SET NOT NULL;
ALTER TABLE gestao.nfs ADD CONSTRAINT fk_nfs_ativserv FOREIGN KEY (id_ativserv) REFERENCES gestao.ativserv (id_ativserv);
--RUN--

--SEQ 705-- 14/02/2019 09:20 Willian
ALTER TABLE gestao.sticms ADD COLUMN difal_calc_dentro smallint;
--RUN--

--SEQ 706-- 14/02/2019 17:45 JCS
UPDATE gestao.estruturad SET form_qtdade='' WHERE qtdade>0; 
ALTER TABLE gestao.estruturad  ADD CONSTRAINT chk_estruturad_qtdade CHECK ((qtdade=0 AND NOT form_qtdade='') OR (NOT qtdade=0 AND form_qtdade=''));
--RUN--

--SEQ 707-- 26/02/2019 11:30 JCS
CREATE INDEX key_nf_desrem ON gestao.nf (id_desrem);
--RUN--

--SEQ 708-- 06/03/2019 16:15 ALAN
ALTER TABLE gestao.nfrastro ADD COLUMN cod_agromov integer;
ALTER TABLE gestao.nfrastro ADD COLUMN dt_envio date;
ALTER TABLE gestao.nfrastro ADD COLUMN situacao character(1);
--RUN--

--SEQ 709-- 07/03/2019 07:17 JCS
CREATE TABLE gestao.spedr2010
(
  id_spedr2010 serial NOT NULL,
  id_entrada integer,
  id_entsiscon character(30),
  id_evento character(36) NOT NULL,
  indobra smallint NOT NULL,
  id_estab integer NOT NULL,
  tpservico numeric(9,0) NOT NULL,
  vl_bc_ret numeric(15,2) NOT NULL,
  vl_retencao numeric(15,2) NOT NULL,
  vl_retencao_sub numeric(15,2) NOT NULL,
  vl_nao_retido numeric(15,2) NOT NULL,
  vl_serv15 numeric(15,2) NOT NULL,
  vl_serv20 numeric(15,2) NOT NULL,
  vl_serv25 numeric(15,2) NOT NULL,
  vl_retencao_adic numeric(15,2) NOT NULL,
  vl_nao_retido_adic numeric(15,2) NOT NULL,
  CONSTRAINT pk_spedr2010 PRIMARY KEY (id_spedr2010),
  CONSTRAINT fk_spedr2010_entrada FOREIGN KEY (id_entrada)
      REFERENCES gestao.entradas (id_entrada) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT fk_spedr2010_id_estab FOREIGN KEY (id_estab)
      REFERENCES gestao.correntista (id_correntista) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION
);

CREATE TABLE gestao.spedr2040
(
  id_spedr2040 serial NOT NULL,
  id_empresa integer NULL,
  id_entrada integer NULL,
  id_evento char(36) NULL,
  id_estab integer NOT NULL,
  id_associacao integer NOT NULL,
  data date NOT NULL,
  tprepasse smallint NOT NULL,
  descricao char(20) NOT NULL,
  vl_bruto numeric(15,2) NOT NULL,
  vl_retencao numeric(15,2) NOT NULL,
  vl_nao_retido  numeric(15,2) NOT NULL
);

ALTER TABLE gestao.spedr2040 ADD CONSTRAINT pk_spedr2040 PRIMARY KEY(id_spedr2040);
ALTER TABLE gestao.spedr2040 ADD CONSTRAINT fk_spedr2040_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa);
ALTER TABLE gestao.spedr2040 ADD CONSTRAINT key_spedr2040_id_evento UNIQUE(id_evento);
ALTER TABLE gestao.spedr2040 ADD CONSTRAINT fk_spedr2040_entrada FOREIGN KEY (id_entrada) REFERENCES gestao.entradas (id_entrada);
ALTER TABLE gestao.spedr2040 ADD CONSTRAINT fk_spedr2040_id_estab FOREIGN KEY (id_estab) REFERENCES gestao.correntista (id_correntista);
ALTER TABLE gestao.spedr2040 ADD CONSTRAINT fk_spedr2040_id_associacao FOREIGN KEY (id_associacao) REFERENCES gestao.correntista (id_correntista);
--RUN--

--SEQ 710-- 11/03/2019 19:25 JCS
ALTER TABLE gestao.nfdet ADD COLUMN cest_ex smallint;

ALTER TABLE gestao.produto ADD COLUMN cest_ex smallint;

ALTER TABLE gestao.sticmsmva ADD COLUMN cest_ex smallint DEFAULT 0 NOT NULL;
ALTER TABLE gestao.sticmsmva ADD COLUMN ressarcimento smallint DEFAULT 0 NOT NULL;

ALTER TABLE gestao.sticmsmva DROP CONSTRAINT key_sticmsmva_cest;
ALTER TABLE gestao.sticmsmva ADD CONSTRAINT key_sticmsmva_cest UNIQUE(id_empresa, cest, cest_ex, data_vigencia, uf_origem, uf_destino);
--RUN--

--SEQ 711-- 15/03/2019 17:00 JCS
ALTER TABLE gestao.ctp DROP COLUMN natureza1;
ALTER TABLE gestao.ctp DROP COLUMN vlr_nat1;
ALTER TABLE gestao.ctp DROP COLUMN natureza2;
ALTER TABLE gestao.ctp DROP COLUMN vlr_nat2;
ALTER TABLE gestao.ctp DROP COLUMN natureza3;
ALTER TABLE gestao.ctp DROP COLUMN vlr_nat3;

ALTER TABLE gestao.ctp ADD COLUMN cod_barras character(44);
ALTER TABLE gestao.ctp ADD COLUMN linha_dig character(50);

ALTER TABLE gestao.proposta ADD COLUMN situacao smallint NOT NULL DEFAULT 1;
--RUN--

--SEQ 712-- 20/03/2019 16:10 Willian
DROP VIEW gestao.vsaldo_lotes;

ALTER TABLE gestao.nfrastro ALTER COLUMN num_lote TYPE character(20);  

CREATE OR REPLACE VIEW gestao.vrecmovagro AS 
         SELECT ent.id_empresa,
            entd.cfop,
            est.tipo,
            est.docto_serie AS serie,
            est.docto_numero AS numero,
            substr(ent.chave_nfe::text, 7, 14) AS cpfcnpj,
            est.data AS nf_emissao,
            ''::text AS obs,
            entd.produ AS id_produto,
            nfr.num_lote,
            nfr.qtd_prod_lote,
            nfr.id_nfrastro
           FROM gestao.entradas ent
      LEFT JOIN gestao.entradet entd ON entd.id_entrada = ent.id_entrada
     LEFT JOIN gestao.estmovto est ON entd.id_entrada=est.origem_id and entd.ordem = est.origem_ordem and ent.id_empresa=est.id_empresa
   LEFT JOIN gestao.nfrastro nfr ON nfr.id_entradet = entd.id_entradet
  WHERE ent.modelo='55' and est.tipo = 'E'::bpchar AND est.origem_prefixo = 'EN'::bpchar 
UNION ALL
         SELECT nf.id_empresa,
            nfd.cfop,
            CASE WHEN nfd.cfop>=5000 THEN 'S'::char ELSE 'E'::char END AS tipo,
            est.docto_serie AS serie,
            est.docto_numero AS numero,
            nf.inscr_desrem AS cpfcnpj,
            est.data AS nf_emissao,
            ''::text AS obs,
            nfd.id_produto,
            nfr.num_lote,
            nfr.qtd_prod_lote,
            nfr.id_nfrastro
            FROM gestao.nf 
       LEFT JOIN gestao.nfdet nfd ON nf.id_nf = nfd.id_nf
     LEFT JOIN gestao.estmovto est ON nfd.id_nf = est.origem_id AND nfd.num_item = est.origem_ordem AND nf.id_empresa = est.id_empresa
   LEFT JOIN gestao.nfrastro nfr ON nfr.id_nfdet = nfd.id_nfdet
  WHERE (est.tipo = ANY (ARRAY['E'::bpchar, 'S'::bpchar])) AND est.origem_prefixo = 'NF'::bpchar;

CREATE OR REPLACE VIEW gestao.vsaldo_lotes AS 
 SELECT nfrastro.id_produto,
    nfrastro.num_lote,
    nfrastro.dt_fabricacao,
    nfrastro.dt_validade,
    sum(
        CASE
            WHEN nfrastro.tp_movto = 'E'::bpchar THEN + nfrastro.qtd_prod_lote
            WHEN nfrastro.tp_movto = 'S'::bpchar THEN - nfrastro.qtd_prod_lote
            ELSE 0::numeric
        END) AS saldo,
    nfrastro.id_empresa
   FROM gestao.nfrastro
  GROUP BY nfrastro.id_produto, nfrastro.num_lote, nfrastro.dt_fabricacao, nfrastro.dt_validade, nfrastro.id_empresa;

UPDATE gestao.nfrastro SET id_entradet=NULL where id_entradet=0;
UPDATE gestao.nfrastro SET id_nfdet=NULL where id_nfdet=0;
ALTER TABLE gestao.nfrastro ADD CONSTRAINT fk_nfrastro_nf FOREIGN KEY (id_nfdet) REFERENCES gestao.nfdet (id_nfdet);
ALTER TABLE gestao.nfrastro ADD CONSTRAINT fk_nfrastro_entrada FOREIGN KEY (id_entradet) REFERENCES gestao.entradet (id_entradet);
--RUN--

--SEQ 713-- 26/03/2019 15:00 Willian
ALTER TABLE gestao.colaborador ADD COLUMN forma_pag_comis char(1);
--RUN--

--SEQ 714-- 27/03/2019 15:20 JCS
ALTER TABLE gestao.formapag ADD COLUMN vl_ped_minimo numeric(15,2);
--RUN--

--SEQ 715-- 03/04/2019 18:00 JCS
CREATE TABLE gestao.opcusto
(
  id_opcusto serial NOT NULL,
  id_empresa INTEGER NOT NULL,
  periodo DATE NOT NULL,
  id_op integer NOT NULL,
  origem CHAR(5) NOT NULL,
  vl_custo NUMERIC(15,2) NOT NULL,
  CONSTRAINT pk_opcusto PRIMARY KEY (id_opcusto),
  CONSTRAINT fk_opcusto_empresa FOREIGN KEY (id_empresa)  REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_opcusto_op FOREIGN KEY (id_op)  REFERENCES gestao.op (id_op),
  CONSTRAINT key_opcusto_op_origem UNIQUE (id_op, origem)
)  ;

CREATE TABLE gestao.ophoras
(
  id_ophoras serial NOT NULL,
  id_colaborador integer NOT NULL,
  id_op integer NULL,
  id_producao integer NULL,
  data DATE NOT NULL,
  hora1 TIME NOT NULL,
  hora2 TIME NOT NULL,
  qt_horas NUMERIC(7,2),
  tp_hora smallint,
  vl_custo NUMERIC(15,2) NOT NULL,
  CONSTRAINT pk_ophoras PRIMARY KEY (id_ophoras),
  CONSTRAINT fk_ophoras_op       FOREIGN KEY (id_op)  REFERENCES gestao.op (id_op),
  CONSTRAINT fk_ophoras_producao FOREIGN KEY (id_producao)  REFERENCES gestao.producao (id_producao),
  CONSTRAINT fk_ophoras_colaborador FOREIGN KEY (id_colaborador)  REFERENCES gestao.producao (id_producao)
)  ;
--RUN--

--SEQ 716-- 09/04/2019 16:40 Willian
ALTER TABLE gestao.ocd ALTER COLUMN und TYPE character(6);
ALTER TABLE gestao.scd ALTER COLUMN und TYPE character(6);
--RUN--

--SEQ 717-- 17/04/2019 14:10 Willian
ALTER TABLE gestao.produto ADD COLUMN vl_icms_cobrant numeric(12,2);
ALTER TABLE gestao.produto ADD COLUMN mot_isen_anvisa character(150);

ALTER TABLE gestao.nfdet ADD COLUMN vl_icms_cobrant numeric(12,2);
ALTER TABLE gestao.nfdet ADD COLUMN mot_isen_anvisa character(150);
--RUN--

--SEQ 718-- 23/04/2019 14:30 Willian
ALTER TABLE gestao.nfrastro ADD COLUMN id_reqd int;
ALTER TABLE gestao.nfrastro ADD CONSTRAINT fk_nfrastro_req FOREIGN KEY (id_reqd) REFERENCES gestao.reqd (id_reqd);
--RUN--

--SEQ 719-- 30/04/2019 15:10 Willian
ALTER TABLE gestao.sticms ADD COLUMN cod_benef_fiscal character(10);
ALTER TABLE gestao.nfdet ADD COLUMN cod_benef_fiscal character(10);
--RUN--

--SEQ 720-- 07/05/2019 10:10 JCS
ALTER TABLE gestao.estinventario ADD COLUMN cst_icms smallint;
ALTER TABLE gestao.estinventario ADD COLUMN bc_icms numeric(15,2);
ALTER TABLE gestao.estinventario ADD COLUMN vl_icms numeric(15,2);
--RUN--

--SEQ 721-- 07/05/2019 14:10 ALAN
DROP VIEW gestao.vrecmovagro;
CREATE OR REPLACE VIEW gestao.vrecmovagro AS 
         SELECT ent.id_empresa,
            entd.cfop,
            est.tipo,
            est.docto_serie AS serie,
            est.docto_numero AS numero,
            substr(ent.chave_nfe::text, 7, 14) AS cpfcnpj,
            est.data AS nf_emissao,
            ''::text AS obs,
            entd.produ AS id_produto,
            nfr.num_lote,
            nfr.qtd_prod_lote,
            nfr.id_nfrastro,
            ''::character(1) as sit_nf
           FROM gestao.entradas ent
      LEFT JOIN gestao.entradet entd ON entd.id_entrada = ent.id_entrada
   LEFT JOIN gestao.estmovto est ON entd.id_entrada = est.origem_id AND entd.ordem = est.origem_ordem AND ent.id_empresa = est.id_empresa
   LEFT JOIN gestao.nfrastro nfr ON nfr.id_entradet = entd.id_entradet
  WHERE ent.situacao='C' and ent.modelo = '55'::bpchar AND est.tipo = 'E'::bpchar AND est.origem_prefixo = 'EN'::bpchar
UNION ALL
         SELECT nf.id_empresa,
            nfd.cfop,
                CASE
                    WHEN nfd.cfop >= 5000 THEN 'S'::character(1)
                    ELSE 'E'::character(1)
                END AS tipo,
            nf.serie::character(5) AS serie,
            nf.numero::character(12) AS numero,
            nf.inscr_desrem AS cpfcnpj,
            nf.dt_emissao AS nf_emissao,
            ''::text AS obs,
            nfd.id_produto,
            nfr.num_lote,
            nfr.qtd_prod_lote,
            nfr.id_nfrastro,
            nf.status::character(1) as sit_nf
           FROM gestao.nf
      LEFT JOIN gestao.nfdet nfd ON nf.id_nf = nfd.id_nf
   LEFT JOIN gestao.estmovto est ON nfd.id_nf = est.origem_id AND nfd.num_item = est.origem_ordem AND nf.id_empresa = est.id_empresa
   LEFT JOIN gestao.nfrastro nfr ON nfr.id_nfdet = nfd.id_nfdet
  WHERE (((est.tipo in('E','S') and nf.status='E' and (nfr.situacao in('','P','T','C') or nfr.situacao is null)) and est.origem_prefixo = 'NF'::bpchar) or (nfr.tp_movto='X' and nf.status='C' and nfr.situacao in('T','C')));
--RUN--

--SEQ 722-- 09/05/2019 16:00 Willian
ALTER TABLE gestao.nfdet ADD COLUMN perc_fcp_antecipado numeric(6,2);
ALTER TABLE gestao.nfdet ADD COLUMN bc_fcp_antecipado numeric(15,2);
ALTER TABLE gestao.nfdet ADD COLUMN vl_fcp_antecipado numeric(15,2);

ALTER TABLE gestao.nf ADD COLUMN vl_fcp_antecipado numeric(15,2);
--RUN--

--SEQ 723-- 22/05/2019 16:50 Alan
ALTER TABLE gestao.boleto ADD COLUMN motivo_canc character varying(100);
--RUN--

--SEQ 724-- 31/05/2019 15:40 JCS
CREATE INDEX key_nfrastro_peditem ON gestao.nfrastro (id_peditem);
--RUN--

--SEQ 725-- 05/06/2019 11:40 ALAN
ALTER TABLE gestao.remessa RENAME tit_descontado_sem_uso TO tipo;
UPDATE gestao.remessa SET tipo=1;
ALTER TABLE gestao.pagtos ADD COLUMN id_remessa integer;
--RUN--

--SEQ 726-- 11/06/2019 08:40 JCS
ALTER TABLE gestao.pauta ADD COLUMN sugestao_venda_sar smallint;
--RUN--

--SEQ 727-- 26/06/2019 10:55 JCS
UPDATE gestao.cstpadrao SET id_entrada=NULL WHERE id_entrada=0;

DELETE FROM gestao.cstpadrao WHERE id_entrada IN (
SELECT DISTINCT a.id_entrada FROM gestao.cstpadrao A
  LEFT OUTER JOIN gestao.entradas B ON (a.id_entrada=b.id_entrada) 
  WHERE a.id_entrada IS NOT NULL AND b.id_entrada IS NULL
);

ALTER TABLE gestao.cstpadrao ADD CONSTRAINT fk_cstpadrao_entrada FOREIGN KEY (id_entrada) REFERENCES gestao.entradas (id_entrada);
--RUN--

--SEQ 728-- 28/06/2019 15:50 JCS
UPDATE gestao.nf SET chave_acesso_nfe=NULL WHERE chave_acesso_nfe=' ';
ALTER TABLE gestao.nf ADD CONSTRAINT key_nf_chave_acesso_nfe UNIQUE(chave_acesso_nfe);	  
--RUN--

--SEQ 729-- 04/07/2019 15:30 JCS
ALTER TABLE gestao.sscc ADD COLUMN cancelado smallint;
--RUN--

--SEQ 730-- 10/07/2019 11:44 JCS
ALTER TABLE gestao.entradet ADD COLUMN perc_merc_devol numeric(6,2);
ALTER TABLE gestao.entradet ADD COLUMN vl_ipi_devol numeric(15,2);
ALTER TABLE gestao.itemdocto ADD COLUMN vl_ipi_devol numeric(15,2);
--RUN--

--SEQ 731-- 19/07/2019 10:10 JCS
ALTER TABLE gestao.entradet ALTER COLUMN aliq_difaliq TYPE numeric(8,4);

ALTER TABLE gestao.entradet ADD COLUMN bc_icms_deb_forne numeric(15,2);
ALTER TABLE gestao.entradet ADD COLUMN aliq_icms_deb_forne numeric(15,2);
ALTER TABLE gestao.entradet ADD COLUMN vl_icms_deb_forne numeric(15,2);
--RUN--

--SEQ 732-- 01/08/2019 16:30 JCS
ALTER TABLE gestao.entradas DROP CONSTRAINT chk_entradas_indic_frete;

ALTER TABLE gestao.entradas DISABLE TRIGGER ALL;
UPDATE gestao.entradas SET indic_frete='0' WHERE indic_frete='E';
UPDATE gestao.entradas SET indic_frete='1' WHERE indic_frete='D';
UPDATE gestao.entradas SET indic_frete='2' WHERE indic_frete='T';
UPDATE gestao.entradas SET indic_frete='9' WHERE indic_frete='N';
ALTER TABLE gestao.entradas ENABLE TRIGGER ALL;

ALTER TABLE gestao.entradas ADD CONSTRAINT chk_entradas_indic_frete CHECK (indic_frete IN ('0','1','2','3','4','9'));
--RUN--

--SEQ 733-- 02/08/2019 15:15 Alan
ALTER TABLE gestao.portador    ALTER COLUMN nome_correntista TYPE character(120);
ALTER TABLE gestao.boleto      ALTER COLUMN nome_ced TYPE character varying(120);
--RUN--

--SEQ 734-- 13/08/2019 16:15 Alan
update gestao.produto set altura=comprimento,comprimento=altura where altura>0 and comprimento>0;
--RUN--

--SEQ 735-- 29/08/2019 20:50 JCS
ALTER TABLE gestao.carga ADD COLUMN num_ticket_peso integer;
ALTER TABLE gestao.carga ADD COLUMN peso_embalagem numeric(15,3);
--RUN--

--SEQ 736-- 03/09/2019 11:50 JCS
ALTER TABLE gestao.entradas ADD COLUMN cod_reg_trib smallint NOT NULL DEFAULT 0;
--RUN--

--SEQ 737-- 22/10/2019 17:10 JCS
ALTER TABLE gestao.nf ADD COLUMN data_int_sufruma date;
--RUN--

--SEQ 738-- 12/11/2019 14:40 Alan
ALTER TABLE gestao.produto ADD COLUMN anot_preco_compra character(30);
ALTER TABLE gestao.produto ADD COLUMN taxa_quebra numeric(7,2);
ALTER TABLE gestao.produto ADD COLUMN fat_nf_mil smallint;
ALTER TABLE gestao.produto ADD COLUMN controlar_vasilhame smallint;
ALTER TABLE gestao.produto ADD COLUMN tp_calc_frete smallint;
ALTER TABLE gestao.produto ADD COLUMN datap date;
ALTER TABLE gestao.produto ADD COLUMN prazo character(15);
ALTER TABLE gestao.produto ADD COLUMN dnf_gera smallint;
ALTER TABLE gestao.produto ADD COLUMN dnf_cod_produto int;
ALTER TABLE gestao.produto ADD COLUMN dnf_fator_conv numeric(10,3);
ALTER TABLE gestao.produto ADD COLUMN dnf_cap_volumetrica int;
--RUN--

--SEQ 739-- 25/11/2019 14:10 Willian
DROP VIEW gestao.vsaldo_lotes;
CREATE OR REPLACE VIEW gestao.vsaldo_lotes AS 
 SELECT id_produto,
    trim(num_lote) as lote,
    dt_fabricacao,
    dt_validade,
    sum(
        CASE
            WHEN tp_movto = 'E'::bpchar THEN + qtd_prod_lote
            WHEN tp_movto = 'S'::bpchar THEN - qtd_prod_lote
            ELSE 0::numeric
        END) AS saldo,
    id_empresa
   FROM gestao.nfrastro
  GROUP BY id_produto, lote, dt_fabricacao, dt_validade, id_empresa;
--RUN--

--SEQ 740-- 26/11/2019 14:30 Willian
ALTER TABLE gestao.entradet ADD COLUMN id_corxpro integer;
ALTER TABLE gestao.entradet ADD COLUMN id_cfopxtes integer;
--RUN--

--SEQ 741-- 27/11/2019 09:17 Alan
ALTER TABLE gestao.produto ADD COLUMN perc_peso_min numeric(5,2);
ALTER TABLE gestao.produto ADD COLUMN perc_peso_max numeric(5,2);
ALTER TABLE gestao.produto ADD COLUMN peso_min numeric(6,3);
ALTER TABLE gestao.produto ADD COLUMN peso_max numeric(6,3);
--RUN--

--SEQ 742-- 02/12/2019 14:46 JCS
ALTER TABLE gestao.opins RENAME num_op TO id_op2;
--RUN--

--SEQ 743-- 12/12/2019 15:06 JCS
ALTER TABLE gestao.fatconversao ADD COLUMN und_uso_ex smallint;

ALTER TABLE gestao.produto ADD COLUMN arq_imagem character varying(255);
ALTER TABLE gestao.produto ADD COLUMN embalagem character(30);
ALTER TABLE gestao.produto ADD COLUMN variante_logistica character(1);
ALTER TABLE gestao.produto ADD COLUMN tara numeric(6,3);
ALTER TABLE gestao.produto ADD COLUMN peso_medio numeric(10,3);
--RUN--

--SEQ 744-- 09/01/2020 11:23 Willian
ALTER TABLE gestao.entradas ALTER COLUMN entra DROP NOT NULL;
ALTER TABLE gestao.entradas ADD CONSTRAINT chk_entradas_dt_entrada CHECK ((entra IS NULL AND situacao='I') OR (entra IS NOT NULL AND NOT situacao='I'));

ALTER TABLE gestao.entradas DROP CONSTRAINT chk_entradas_situacao;
ALTER TABLE gestao.entradas ADD CONSTRAINT chk_entradas_situacao CHECK (situacao = ANY (ARRAY['P'::bpchar, 'L'::bpchar, 'C'::bpchar, 'I'::bpchar]));
--RUN--

--SEQ 745-- 09/01/2020 15:25 JCS
ALTER TABLE gestao.opins ALTER COLUMN numero_op DROP NOT NULL;
--RUN--

--SEQ 746-- 20/01/2020 11:55 JCS
CREATE TABLE gestao.descpromo (
  id_descpromo SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  codigo INT NOT NULL ,
  descricao CHAR(100) NOT NULL ,
  dt1 DATE NOT NULL ,
  dt2 DATE NOT NULL ,
  id_vendedor INT NULL ,
  id_produto INT NULL ,
  id_cliente INT NULL ,
  grupo_rede CHAR(20) NULL ,
  id_subgrupo INT NULL ,
  tx_desconto DECIMAL(7,2) NOT NULL
);

ALTER TABLE gestao.descpromo ADD CONSTRAINT pk_descpromo PRIMARY KEY(id_descpromo);
ALTER TABLE gestao.descpromo ADD CONSTRAINT key_descpromo_codigo UNIQUE(codigo);
ALTER TABLE gestao.descpromo ADD CONSTRAINT fk_descpromo_empresa FOREIGN KEY (id_empresa)  REFERENCES gestao.empresa (id_empresa);
ALTER TABLE gestao.descpromo ADD CONSTRAINT fk_descpromo_vendedor FOREIGN KEY (id_vendedor)  REFERENCES gestao.vendedor (id_vendedor);
ALTER TABLE gestao.descpromo ADD CONSTRAINT fk_descpromo_produto FOREIGN KEY (id_produto)  REFERENCES gestao.produto (id_produto);
ALTER TABLE gestao.descpromo ADD CONSTRAINT fk_descpromo_subgrupo FOREIGN KEY (id_subgrupo)  REFERENCES gestao.grupo (id_grupo);
--RUN--

--SEQ 747-- 23/01/2020 14:35 JCS
ALTER TABLE gestao.nf DROP CONSTRAINT key_nf_num_pedido;
CREATE UNIQUE INDEX key_nf_num_pedido ON gestao.nf (num_pedido, COALESCE(num_entrega,0), id_empresa);
--RUN--

--SEQ 748-- 27/01/2020 17:00 ALAN
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd,cv0909) VALUES (164,15,11,1,'EPSON               ', 'TM-T900F            ', '01.00.00', 1,1,1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd,cv0909) VALUES (165,15,11,2,'EPSON               ', 'TM-T900F            ', '01.01.00', 1,1,1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd,cv0909) VALUES (166,15,11,3,'EPSON               ', 'TM-T900F            ', '01.01.81', 1,1,1);
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd,cv0909) VALUES (167,15,11,4,'EPSON               ', 'TM-T900F            ', '01.02.01', 1,1,1);
--RUN--

--SEQ 749-- 02/02/2020 21:40 JCS
ALTER TABLE gestao.proposta ADD COLUMN taxa_icms numeric(7,4);
--RUN--

--SEQ 750-- 04/02/2020 08:20 Willian
ALTER TABLE gestao.corxpro  ADD COLUMN cod_ncm integer;
ALTER TABLE gestao.corxpro  ADD COLUMN cest integer;
--RUN--

--SEQ 751-- 10/02/2020 09:20 Alan
ALTER TABLE gestao.nfrastro ADD COLUMN dt_ajuste date;
ALTER TABLE gestao.pcpmaq ADD COLUMN ativo smallint;
UPDATE gestao.pcpmaq SET ativo=1;
ALTER TABLE gestao.pcpmaq ALTER COLUMN ativo SET NOT NULL;
--RUN--

--SEQ 752-- 14/02/2020 08:53 JCS
ALTER TABLE gestao.colaborador ADD COLUMN nr_ficha character(14);
ALTER TABLE gestao.colaborador ADD CONSTRAINT key_colaborador_nr_ficha UNIQUE(id_empresa, nr_ficha);
--RUN--

--SEQ 753-- 28/02/2020 14:40 Alan
INSERT INTO gestao.tabcomp(id_empresa, nome_tabcomp, id_empresa_tabcomp) (select id_empresa,'grupos', id_matriz from gestao.empresa where not id_empresa=id_matriz);
INSERT INTO gestao.tabcomp(id_empresa, nome_tabcomp, id_empresa_tabcomp) (select id_empresa,'marcas', id_matriz from gestao.empresa where not id_empresa=id_matriz);
--RUN--

--SEQ 754-- 03/03/2020 15:20 Willian
ALTER TABLE gestao.produto ADD COLUMN cod_prod_gpc character(15);
--RUN--

--SEQ 755-- 16/03/2020 09:30 Alan
ALTER TABLE gestao.proposta ADD COLUMN endereco_obra character(60);
ALTER TABLE gestao.proposta ADD COLUMN num_endereco_obra character(20);
ALTER TABLE gestao.proposta ADD COLUMN compl_obra character(60);
ALTER TABLE gestao.proposta ADD COLUMN bairro_obra character(20);
ALTER TABLE gestao.proposta ADD COLUMN cep_obra character(9);
ALTER TABLE gestao.proposta ADD COLUMN num_pavimento character(30);
ALTER TABLE gestao.proposta ADD COLUMN reg_vento character(30);
ALTER TABLE gestao.proposta ADD COLUMN tratamento_sup character(30);
ALTER TABLE gestao.proposta ADD COLUMN tp_embalagem character(30);
ALTER TABLE gestao.proposta ADD COLUMN sis_instalacao character(30);
ALTER TABLE gestao.proposta ADD COLUMN resp_instalacao character(40);
ALTER TABLE gestao.proposta ADD COLUMN descarga character(40);
ALTER TABLE gestao.proposta ADD COLUMN forma_pag character(2);
ALTER TABLE gestao.propitem ADD COLUMN croqui character(30);
ALTER TABLE gestao.propitem ADD COLUMN ventilacao character(30);
ALTER TABLE gestao.propitem ADD COLUMN acustica character(30);
--RUN--

--SEQ 756-- 23/04/2020 10:00 Willian / Alan
ALTER TABLE gestao.pauta ADD COLUMN tp_desconto smallint NOT NULL DEFAULT 1; --Willian
ALTER TABLE gestao.grupo ADD COLUMN lucro_min numeric(6,2); --Alan
--RUN--

--SEQ 757-- 05/05/2020 10:00 Damian / Alan
ALTER TABLE gestao.vendedor ALTER COLUMN e_mail TYPE character(200);
--RUN--

--SEQ 758-- 07/05/2020 16:40 JCS
ALTER TABLE gestao.estruturad DROP CONSTRAINT chk_estruturad_qtdade;
ALTER TABLE gestao.estruturad  ADD CONSTRAINT chk_estruturad_qtdade CHECK ((qtdade=0 AND NOT form_qtdade='') OR (NOT qtdade=0 AND form_qtdade='') OR (qtdade=form_qtdade::numeric));
--RUN--

--SEQ 759-- 26/06/2020 17:00 JCS
CREATE INDEX key_produto_tipo ON gestao.produto (id_empresa, ativo, tipo);
--RUN--

--SEQ 760-- 02/07/2020 16:31 JCS
CREATE INDEX key_estsaldo_qtdade ON gestao.estsaldo (id_empresa,id_estlocal,qtdade);
--RUN--

--SEQ 761-- 07/07/2020 15:35 JCS
ALTER TABLE gestao.reqd DISABLE TRIGGER ALL;
DELETE FROM gestao.reqd WHERE qtdade=0;
ALTER TABLE gestao.reqd ENABLE TRIGGER ALL;
ALTER TABLE gestao.reqd DROP CONSTRAINT chk_reqd_qtdade;
ALTER TABLE gestao.reqd ADD CONSTRAINT chk_reqd_qtdade CHECK (qtdade > 0);
--RUN--

--SEQ 762-- 13/07/2020 10:45 JCS
ALTER TABLE gestao.estlocal ADD COLUMN cod_mensagemnf integer;
--RUN--

--SEQ 763-- 14/07/2020 17:30 JCS
ALTER TABLE gestao.pad DROP CONSTRAINT fk_pad_ccusto;
ALTER TABLE gestao.lanctos DROP CONSTRAINT fk_lanctos_ccusto;
ALTER TABLE gestao.reqd DROP CONSTRAINT fk_reqd_ccusto;
ALTER TABLE gestao.detnatureza DROP CONSTRAINT fk_detnatureza_ccusto;
ALTER TABLE gestao.ccustoxctb DROP CONSTRAINT fk_ccustoxctb_ccusto;
ALTER TABLE gestao.pcpsetor DROP CONSTRAINT fk_pcpsetor_ccusto;

ALTER TABLE gestao.pad         ADD COLUMN id_empccusto integer NOT NULL DEFAULT 1;
ALTER TABLE gestao.lanctos     ADD COLUMN id_empccusto integer NOT NULL DEFAULT 1;
ALTER TABLE gestao.reqd        ADD COLUMN id_empccusto integer NOT NULL DEFAULT 1;
ALTER TABLE gestao.detnatureza ADD COLUMN id_empccusto integer NOT NULL DEFAULT 1;
ALTER TABLE gestao.ccustoxctb  ADD COLUMN id_empccusto integer NOT NULL DEFAULT 1;
ALTER TABLE gestao.pcpsetor    ADD COLUMN id_empccusto integer NOT NULL DEFAULT 1;

ALTER TABLE gestao.lanctos DISABLE TRIGGER ALL;
ALTER TABLE gestao.reqd DISABLE TRIGGER ALL;

UPDATE gestao.pad SET id_empccusto=id_empresa;
UPDATE gestao.lanctos SET id_empccusto=id_empresa;
UPDATE gestao.reqd SET id_empccusto=id_empresa;
UPDATE gestao.detnatureza SET id_empccusto=id_empresa;
UPDATE gestao.ccustoxctb SET id_empccusto=id_empresa;
UPDATE gestao.pcpsetor SET id_empccusto=id_empresa;

ALTER TABLE gestao.lanctos ENABLE TRIGGER ALL;
ALTER TABLE gestao.reqd ENABLE TRIGGER ALL;

ALTER TABLE gestao.pad  ADD CONSTRAINT fk_pad_ccusto FOREIGN KEY (id_empccusto, cod_ccusto) REFERENCES gestao.ccusto (id_empresa, codigo);
ALTER TABLE gestao.lanctos ADD CONSTRAINT fk_lanctos_ccusto FOREIGN KEY (id_empccusto, cod_ccusto) REFERENCES gestao.ccusto (id_empresa, codigo);
ALTER TABLE gestao.reqd ADD CONSTRAINT fk_reqd_ccusto FOREIGN KEY (id_empccusto, cod_ccusto) REFERENCES gestao.ccusto (id_empresa, codigo);
ALTER TABLE gestao.detnatureza ADD CONSTRAINT fk_detnatureza_ccusto FOREIGN KEY (id_empccusto, cod_ccusto)  REFERENCES gestao.ccusto (id_empresa, codigo);
ALTER TABLE gestao.ccustoxctb  ADD CONSTRAINT fk_ccustoxctb_ccusto FOREIGN KEY (id_empccusto, cod_ccusto)   REFERENCES gestao.ccusto (id_empresa, codigo);
ALTER TABLE gestao.pcpsetor ADD CONSTRAINT fk_pcpsetor_ccusto FOREIGN KEY (id_empccusto, cod_ccusto)  REFERENCES gestao.ccusto (id_empresa, codigo);
--RUN--

--SEQ 765-- 23/07/2020 16:00 JCS
CREATE TABLE gestao.sartipoped
(
   id_sartipoped integer NOT NULL, 
   id_empresa integer NOT NULL, 
   cod_vendedor integer, 
   descricao character(30) NOT NULL, 
   ativo smallint NOT NULL, 
   cod_tes integer, 
   cod_tes_nc integer, 
   id_estlocal integer,
   CONSTRAINT pk_sartipoped PRIMARY KEY (id_sartipoped), 
   CONSTRAINT fk_sartipoped FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa)
   );
   
INSERT INTO gestao.sartipoped(
            id_sartipoped, id_empresa, cod_vendedor, descricao, ativo, cod_tes, cod_tes_nc, id_estlocal)
    VALUES (1, 1, Null, 'Venda',1 , Null, Null, Null);

INSERT INTO gestao.sartipoped(
            id_sartipoped, id_empresa, cod_vendedor, descricao, ativo, cod_tes, cod_tes_nc, id_estlocal)
    VALUES (2, 1, Null, 'Bonifica  o',0 , Null, Null, Null);   
--RUN--

--SEQ 766-- 24/07/2020 16:30 ALAN
ALTER TABLE gestao.classfiscal ADD COLUMN cest integer;
--RUN--

--SEQ 767-- 29/07/2020 22:02 JCS
CREATE TABLE gestao.estsucterc
(
  id_estsucterc serial NOT NULL,
  id_empresa integer NOT NULL,
  data date NOT NULL,
  tp_docto smallint NOT NULL,
  chave_nf character(44),
  num_docto integer NOT NULL,
  id_correntista integer NOT NULL,
  id_produto integer NOT NULL,
  tp_movto character(1),
  peso_bruto numeric(8,1) NOT NULL,
  qtd_bags integer NOT NULL,
  peso_bags numeric(8,1) NOT NULL,
  qtd_paletes integer NOT NULL,
  peso_paletes numeric(8,1) NOT NULL,
  peso_racks numeric(8,1) NOT NULL,
  peso_outros numeric(8,1) NOT NULL,
  tx_perda numeric(7,2) NOT NULL,
  peso_perda numeric(8,1) NOT NULL,
  peso_liquido numeric(8,1) NOT NULL,
  peso_saldo numeric(10,1) NOT NULL,
  peso_bag_unit numeric(9,2),
  peso_palete_unit numeric(9,2),
  CONSTRAINT pk_estsucterc PRIMARY KEY (id_estsucterc),
  CONSTRAINT fk_estsucterc_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_estsucterc_produto FOREIGN KEY (id_produto) REFERENCES gestao.produto (id_produto)
  );
--RUN--

--SEQ 768-- 03/08/2020 10:45 ALAN
INSERT INTO gestao.modecf (id_modecf, cod_marca, cod_modelo, cod_versao, marca, modelo, versao, homologada, mfd,cv0909) VALUES (168,3,23,7,'BEMATECH', 'MP-4200 TH FI II', '01.99.02', 1,1,1);
--RUN--

--SEQ 769- 01/09/2020 11:00 Willian
ALTER TABLE gestao.estmovto ADD COLUMN id_lote integer;
ALTER TABLE gestao.estsaldo ADD COLUMN id_lote integer;
--RUN--

--SEQ 770- 02/09/2020 10:55 JCS
ALTER TABLE gestao.proposta  ADD COLUMN desc_icms_bc_pis_cofins smallint;
ALTER TABLE gestao.proposta ADD COLUMN prioridade smallint NOT NULL DEFAULT 2;
ALTER TABLE gestao.proposta ADD COLUMN classificacao character(30);
--RUN--

--SEQ 771- 08/09/2020 23:09 DAMIAN
ALTER TABLE gestao.mdfe add column tp_carga integer;
ALTER TABLE gestao.mdfe add column desc_ProdPred character(120);
ALTER TABLE gestao.mdfe add column cep_carrega integer;
ALTER TABLE gestao.mdfe add column cep_descarrega integer;
ALTER TABLE gestao.mdfe add column eanProdPred character(14);
ALTER TABLE gestao.mdfe add column ncmProdPred integer;--RUN--
--RUN--

--SEQ 772- 09/09/2020 17:38 DAMIAN
ALTER TABLE gestao.ctc ADD COLUMN eanprodpred character(14);
ALTER TABLE gestao.ctc ADD COLUMN ncmprodpred integer;
--RUN--

--SEQ 773- 14/09/2020 17:36 DAMIAN
ALTER TABLE gestao.mdfe ADD COLUMN infcarreglatitude character(12);
ALTER TABLE gestao.mdfe ADD COLUMN infcarreglongitude character(12);
ALTER TABLE gestao.mdfe ADD COLUMN infdesclatitude character(12);
ALTER TABLE gestao.mdfe ADD COLUMN infdesclongitude character(12);
--RUN--

--SEQ 774- 17/09/2020 17:36 JCS
ALTER TABLE gestao.formapag DROP COLUMN pagto_avista;
--RUN--

--SEQ 775- 18/09/2020 19:26 JCS
ALTER TABLE gestao.produto ADD COLUMN lote smallint;
--RUN--

--SEQ 776- 20/09/2020 15:35 JCS
CREATE OR REPLACE VIEW gestao.vpauxpro AS
SELECT a.id_pauta,a.id_prod AS id_produto,preco1,preco2,preco3,a.bc_comissao,a.id_varprod,b.tp_pauta,b.dt_ini,b.dt_fim,a.dt_atual,a.valor_pauta_icms_st,null as cod_pauta_promo
  FROM gestao.pauxpro A
  LEFT OUTER JOIN gestao.pauta B ON (a.id_pauta=b.id_pauta)
  WHERE a.id_pauta::text||'-'||(CASE WHEN id_varprod>0 THEN id_varprod ELSE id_prod END)::text NOT IN
  (
SELECT b.id_pauta_vinculada::text||'-'||(CASE WHEN id_varprod>0 THEN id_varprod ELSE id_prod END)::text
  FROM gestao.pauxpro A
  LEFT OUTER JOIN gestao.pauta B ON (a.id_pauta=b.id_pauta)
  WHERE b.tp_pauta=1 AND CURRENT_DATE BETWEEN b.dt_ini AND b.dt_fim
)
UNION ALL
SELECT b.* FROM (
SELECT b.id_pauta_vinculada,a.id_prod AS id_produto,max(b.dt_ini) AS dt_ini, a.valor_pauta_icms_st,MAX(b.codigo) as cod_pauta_promo
  FROM gestao.pauxpro A
  LEFT OUTER JOIN gestao.pauta B ON (a.id_pauta=b.id_pauta)
  WHERE b.tp_pauta=1 AND CURRENT_DATE BETWEEN b.dt_ini AND b.dt_fim 
  GROUP BY b.id_pauta_vinculada,a.id_prod, a.valor_pauta_icms_st) A
  LEFT OUTER JOIN (
  SELECT b.id_pauta_vinculada,a.id_prod AS id_produto,preco1,preco2,preco3,a.bc_comissao,a.id_varprod,b.tp_pauta,b.dt_ini,b.dt_fim,a.dt_atual, a.valor_pauta_icms_st, b.codigo as cod_pauta_promo
  FROM gestao.pauxpro A
  LEFT OUTER JOIN gestao.pauta B ON (a.id_pauta=b.id_pauta)
  WHERE b.tp_pauta=1 AND CURRENT_DATE BETWEEN b.dt_ini AND b.dt_fim) B 
  ON (a.id_pauta_vinculada=b.id_pauta_vinculada and a.id_produto=b.id_produto AND a.dt_ini=b.dt_ini);
--RUN--

--SEQ 777- 30/09/2020 11:15 Willian
CREATE TABLE gestao.lote (
  id_lote serial not null,
  id_empresa integer not null,
  id_produto integer not null,
  num_lote integer not null,
  num_lote_ext character varying(20),
  dt_fabricacao date not null,
  dt_validade date not null,
  situacao character(1));
ALTER TABLE gestao.lote ADD CONSTRAINT pk_lote PRIMARY KEY (id_lote);
ALTER TABLE gestao.lote ADD CONSTRAINT fk_lote_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa);

CREATE TABLE gestao.lotemov (
  id_lotemov serial not null,
  id_lote integer not null,
  qtd numeric(11,3) not null,
  origem character varying(20) not null);
ALTER TABLE gestao.lotemov ADD CONSTRAINT pk_lotemov PRIMARY KEY (id_lotemov);
ALTER TABLE gestao.lotemov ADD CONSTRAINT fk_lotemov_lote FOREIGN KEY (id_lote) REFERENCES gestao.lote (id_lote);
--RUN--

--SEQ 778- 07/10/2020 10:45 Willian
ALTER TABLE gestao.estmovto DROP CONSTRAINT fk_estmovto_estsaldo;
ALTER TABLE gestao.estsaldo DROP CONSTRAINT key_estsaldo_empresa;
ALTER TABLE gestao.estsaldo ADD CONSTRAINT key_estsaldo_empresa UNIQUE(id_empresa, id_estlocal, id_produto, variante, validade, id_lote);
ALTER TABLE gestao.estmovto ADD CONSTRAINT fk_estmovto_estsaldo FOREIGN KEY (id_empresa, id_estlocal, id_produto, variante, validade, id_lote)
      REFERENCES gestao.estsaldo (id_empresa, id_estlocal, id_produto, variante, validade, id_lote) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION;
--RUN--

--SEQ 780- 16/10/2020 09:11 JCS
ALTER TABLE gestao.estsaldo DROP CONSTRAINT chk_estsaldo_qtd_empenhada;
--RUN--IGNORE ERRO

--SEQ 781- 16/10/2020 15:05 JCS
ALTER TABLE gestao.colaborador ADD COLUMN setores_liberados character varying(100);
--RUN--IGNORE ERRO

--SEQ 782- 04/11/2020 11:20 Damian
ALTER TABLE gestao.registro ALTER COLUMN valor TYPE text;
--RUN--

--SEQ 783- 12/11/2020 08:53 JCS
ALTER TABLE gestao.nf DROP CONSTRAINT chk_nf_icmsst1;
ALTER TABLE gestao.nf DROP CONSTRAINT chk_nf_icmsst2;
--RUN--IGNORE ERRO

--SEQ 784- 19/11/2020 08:53 JCS
ALTER TABLE gestao.carga ADD COLUMN fconta smallint;
ALTER TABLE gestao.carga ADD COLUMN redesp_frete smallint;
ALTER TABLE gestao.carga ADD COLUMN id_redesp integer;
--RUN--

--SEQ 785- 25/11/2020 23:00 JCS
ALTER TABLE gestao.grupo ADD COLUMN ordem integer;
--RUN--

--SEQ 786- 02/12/2020 17:45 JCS
ALTER TABLE gestao.metavenda ADD COLUMN cod_marca integer;
ALTER TABLE gestao.metavenda ADD COLUMN classe_abc char(1);
--RUN--

--SEQ 787- 07/12/2020 07:15 JCS
ALTER TABLE gestao.estrutura ADD COLUMN procprod character(30) NOT NULL DEFAULT ' ';

CREATE TABLE gestao.procprod (
  id_procprod SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  procedimento CHAR(30) NULL ,
  ordem SMALLINT NOT NULL ,
  descricao CHAR(150) NOT NULL,
  CONSTRAINT pk_procprod PRIMARY KEY (id_procprod),
  CONSTRAINT fk_procprod_empresa FOREIGN KEY (id_empresa)  REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT key_procprod_codigo UNIQUE (id_empresa, procedimento,ordem)
);
--RUN--

--SEQ 788- 08/12/2020 11:30 JCS
CREATE TABLE gestao.cqesptec (
  id_cqesptec SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  data DATE NOT NULL ,
  id_setor INT NOT NULL ,
  id_colaborador INT NOT NULL ,
  id_produto INT NOT NULL ,
  revisao INT NOT NULL ,
  descricao CHAR(200) NOT NULL ,
  observacao VARCHAR(499) NOT NULL ,
  ativa SMALLINT NOT NULL,
  CONSTRAINT pk_cqesptec PRIMARY KEY (id_cqesptec),
  CONSTRAINT fk_cqesptec_empresa FOREIGN KEY (id_empresa)  REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_cqesptec_pcpsetor FOREIGN KEY (id_setor)  REFERENCES gestao.pcpsetor (id_pcpsetor),
  CONSTRAINT fk_cqesptec_colaborador FOREIGN KEY (id_colaborador)  REFERENCES gestao.colaborador (id_colaborador),
  CONSTRAINT fk_cqesptec_produto FOREIGN KEY (id_produto)  REFERENCES gestao.produto (id_produto),
  CONSTRAINT key_cqesptec_revisao UNIQUE (id_empresa, id_produto,id_setor,revisao)
);


CREATE TABLE gestao.cqteste (
  id_cqteste SERIAL NOT NULL ,
  id_cqesptec INT NOT NULL ,
  ordem SMALLINT NOT NULL ,
  teste CHAR(50) NOT NULL ,
  verificacao CHAR(130) NOT NULL ,
  infvalores SMALLINT NULL ,
  vltolinf DECIMAL(12,4) NOT NULL ,
  vlpadrao DECIMAL(12,4) NOT NULL ,
  vltolsup DECIMAL(12,4) NOT NULL ,
  unidade CHAR(6) NOT NULL ,
  instrcontrole CHAR(40) NULL ,
  tipo SMALLINT NULL,
  CONSTRAINT pk_cqteste PRIMARY KEY (id_cqteste),
  CONSTRAINT fk_cqteste_cqespteccqesptec FOREIGN KEY (id_cqesptec)  REFERENCES gestao.cqesptec (id_cqesptec),
  CONSTRAINT key_cqteste_ordem UNIQUE (id_cqesptec,ordem)
);
--RUN--

--SEQ 789- 09/12/2020 11:30 JCS
CREATE TABLE gestao.cqanaliselote (
  id_cqanaliselote SERIAL NOT NULL ,
  id_lote INT NOT NULL ,
  id_cqesptec INT NOT NULL ,
  ordem SMALLINT NOT NULL ,
  data DATE NOT NULL,
  usuario CHAR(12) NOT NULL,
  vlteste DECIMAL(12,4) NOT NULL ,
  obs CHAR(80) NOT NULL ,
  situacao SMALLINT NULL,
  CONSTRAINT pk_cqanaliselote PRIMARY KEY (id_cqanaliselote),
  CONSTRAINT fk_ccqanaliselote_lote FOREIGN KEY (id_lote)  REFERENCES gestao.lote (id_lote),
  CONSTRAINT fk_ccqanaliselote_cqteste FOREIGN KEY (id_cqesptec,ordem)  REFERENCES gestao.cqteste (id_cqesptec,ordem)
);
--RUN--

--SEQ 790- 14/12/2020 18:00 JCS
--DROP VIEW gestao.vsaldo_oc;
CREATE OR REPLACE VIEW gestao.vsaldo_oc AS
SELECT id_empresa,id_produto,sum(qtd_comprada-qtd_recebida-qtd_cancelada) as qtd_saldo_oc,und
  FROM gestao.ocd A
  LEFT OUTER JOIN gestao.oc B ON (A.id_oc=b.id_oc)
  WHERE id_produto>0 and ja_recebido NOT IN (1,2) AND NOT a.situacao IN ('R','C')
  GROUP BY id_empresa,id_produto,und;
--RUN--

--SEQ 791- 18/12/2020 08:30 Willian
ALTER TABLE gestao.sticms DROP CONSTRAINT chk_sticms_modal_bc_icmsst;
ALTER TABLE gestao.sticms ADD CONSTRAINT chk_sticms_modal_bc_icmsst CHECK (modal_bc_icmsst = ANY (ARRAY[' '::bpchar, '0'::bpchar, '1'::bpchar, '2'::bpchar, '3'::bpchar, '4'::bpchar, '5'::bpchar, '101'::bpchar, '102'::bpchar]));
--RUN--

--SEQ 792- 24/12/2020 09:55 JCS
CREATE TABLE gestao.ostipo
(
  id_ostipo serial NOT NULL,
  descricao CHAR(40),
  CONSTRAINT pk_ostipo PRIMARY KEY (id_ostipo)
);  

ALTER TABLE gestao.os ADD COLUMN id_pcpmaq integer;
ALTER TABLE gestao.os ADD CONSTRAINT fk_os_pcpmaq FOREIGN KEY (id_pcpmaq) REFERENCES gestao.pcpmaq (id_pcpmaq);
--RUN--

--SEQ 793- 14/01/2021 09:13 DAMIAN
ALTER TABLE gestao.pcpparada ADD COLUMN num_os integer;
--RUN--

--SEQ 794- 15/01/2021 09:13 ALAN
ALTER TABLE gestao.spedr2010 ADD COLUMN status character(1);
ALTER TABLE gestao.spedr2010 ADD COLUMN nr_recibo character(52);
ALTER TABLE gestao.spedr2010 ADD COLUMN sit_evento SMALLINT;
--RUN--

--SEQ 795- 18/01/2021 08:54 Willian
ALTER TABLE gestao.dfe ADD COLUMN xml character(1) NOT NULL DEFAULT 'N';
--RUN--

--SEQ 796- 19/01/2021 16:22 damian
ALTER TABLE gestao.osdet ALTER COLUMN observacao TYPE character(255);
ALTER TABLE gestao.osdet ADD COLUMN detalhes character(255);
--RUN--

--SEQ 797- 25/01/2021 20:08 JCS
ALTER TABLE gestao.carga ADD COLUMN qtd_entregas smallint;
ALTER TABLE gestao.carga ADD COLUMN vl_frete_previsto numeric(15,2);

ALTER TABLE gestao.veiculo ADD COLUMN tp_veic_frete character(20);
--RUN--

--SEQ 798- 04/02/2021 20:08 JCS
CREATE TABLE gestao.produto1
(
   id_produto integer NOT NULL, 
   efetua_packing smallint, 
   CONSTRAINT pk_produto1 PRIMARY KEY (id_produto), 
   CONSTRAINT fk_produto1_produto FOREIGN KEY (id_produto) REFERENCES gestao.produto (id_produto) ON UPDATE NO ACTION ON DELETE NO ACTION
); 

INSERT INTO gestao.produto1 (id_produto, efetua_packing) SELECT id_produto,transelevador FROM gestao.produto WHERE transelevador=1;
--RUN--

--SEQ 799- 16/02/2021 16:12 ALAN
ALTER TABLE gestao.cqanaliselote ADD CONSTRAINT key_cqanaliselote_ordem UNIQUE(id_cqesptec, ordem);
--RUN--

--SEQ 800- 26/02/2021 16:48 Willian
ALTER TABLE gestao.estinventario ADD COLUMN id_lote integer;
--RUN--

--SEQ 801- 02/03/2021 10:50 Willian
DROP VIEW gestao.vsaldo_estoque;
CREATE OR REPLACE VIEW gestao.vsaldo_estoque AS 
 SELECT 0 AS id_estsaldo,
    estsaldo.id_empresa,
    estsaldo.id_estlocal,
    estsaldo.id_produto,
    ' '::bpchar AS variante,
    ' '::bpchar AS validade,
    sum(estsaldo.qtdade) AS qtdade,
    sum(estsaldo.valor) AS valor,
        CASE
            WHEN sum(estsaldo.qtdade) = 0::numeric THEN 0::numeric
            ELSE sum(estsaldo.valor) / sum(estsaldo.qtdade)
        END::numeric(17,4) AS custo_medio,
    sum(estsaldo.qtd_empenhada) AS qtd_empenhada,
    sum(estsaldo.qtd_pedidos) AS qtd_pedidos,
    estsaldo.id_lote
   FROM gestao.estsaldo
  GROUP BY estsaldo.id_empresa, estsaldo.id_estlocal, estsaldo.id_produto,estsaldo.id_lote;

DROP INDEX gestao.key_estinventario_data;
CREATE UNIQUE INDEX key_estinventario_data
  ON gestao.estinventario
  USING btree
  (id_empresa, id_estlocal, id_produto, (COALESCE(variante, ''::bpchar)) COLLATE pg_catalog."default", (COALESCE(validade, '1900-01-01'::date)), data,id_lote);
--RUN--

--SEQ 802- 02/03/2021 16:30 Alan
ALTER TABLE gestao.ctc ALTER COLUMN obs TYPE character(500);
--RUN--

--SEQ 803- 03/03/2021 14:17 Damian
ALTER TABLE gestao.nf DROP CONSTRAINT chk_nf_dt_saient;
ALTER TABLE gestao.nf ADD CONSTRAINT chk_nf_dt_saient CHECK (dt_saient >= dt_emissao AND dt_saient<=current_date + 30);
--RUN--

--SEQ 805- 05/03/2021 17:50 ALAN
DROP INDEX gestao.key_cqanaliselote_lote;
--RUN--IGNORE ERRO

--SEQ 806- 11/03/2021 12:12 JCS
CREATE TABLE gestao.capproducao (
  id_capproducao SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  dt1 DATE NOT NULL ,
  dt2 DATE NOT NULL ,
  agrupamento CHAR(40) NOT NULL ,
  cap_instalada DECIMAL(15,3) NOT NULL ,
  cap_disponivel DECIMAL(15,3) NOT NULL ,
  cap_efetiva DECIMAL(15,3) NOT NULL ,
  cap_realizada DECIMAL(15,3) NOT NULL ,
  qtd_pedidos DECIMAL(15,3) NOT NULL ,
  tx_tol_pedidos DECIMAL(7,2) NOT NULL ,
  CONSTRAINT pk_capproducao PRIMARY KEY (id_capproducao),
  CONSTRAINT fk_capproducao_empresa FOREIGN KEY (id_empresa)  REFERENCES gestao.empresa (id_empresa) MATCH SIMPLE,
  CONSTRAINT key_capproducao_data UNIQUE (id_empresa, dt1, agrupamento )  
);
--RUN--

--SEQ 807- 17/03/2021 10:30 ALAN
ALTER TABLE gestao.cqanaliselote DROP CONSTRAINT key_cqanaliselote_ordem;
--RUN--IGNORE ERRO

--SEQ 808- 17/03/2021 10:30 ALAN
CREATE INDEX key_cqanaliselote_lote ON gestao.cqanaliselote (id_lote);
ALTER TABLE gestao.cqanaliselote ADD CONSTRAINT key_cqanaliselote_ordem UNIQUE(id_cqesptec, ordem,id_lote);
--RUN--

--SEQ 809- 22/03/2021 14:30 ALAN
CREATE INDEX key_ocd_produto ON gestao.ocd (id_produto);
CREATE INDEX key_op_produto ON gestao.op (id_produto);
--RUN--

--SEQ 810- 22/03/2021 17:10 Willian
CREATE INDEX key_estsaldo_lote ON gestao.estsaldo (id_empresa,id_produto,id_lote)
--RUN--

--SEQ 811- 25/03/2021 16:10 JCS
ALTER TABLE gestao.carga ADD COLUMN tp_veic_frete character(20);
--RUN--

--SEQ 812- 30/03/2021 14:50 Alan
ALTER TABLE gestao.empresa ADD COLUMN serie_nfce integer;
ALTER TABLE gestao.empresa ADD COLUMN numero_nfce integer;
ALTER TABLE gestao.empresa ADD COLUMN tp_amb_nfce smallint;
--RUN--

--SEQ 813-- 31/03/2021 17:04 JCS
CREATE INDEX key_estmovto_data3 ON gestao.estmovto (id_empresa, id_estlocal, data);
--RUN--

--SEQ 814- 01/04/2021 14:50 Alan
DROP VIEW gestao.vdemanda_venda;
--RUN--IGNORE ERRO

--SEQ 815- 08/04/2021 14:50 JCS
DROP INDEX gestao.key_sscc_origem;
CREATE INDEX key_sscc_origem ON gestao.sscc (id_origem, prefixo_origem , id_empresa);
--RUN--

--SEQ 816- 19/04/2021 18:10 JCS
CREATE TABLE gestao.demanda (
  id_demanda SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  id_produto INT NOT NULL ,
  qtdade DECIMAL(15,3) NOT NULL ,
  tipo_calculo CHAR(1) NOT NULL ,
  data_calculo DATE NOT NULL, 
  CONSTRAINT pk_demanda PRIMARY KEY (id_demanda),
  CONSTRAINT fk_demanda_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_demanda_produto FOREIGN KEY (id_produto) REFERENCES gestao.produto (id_produto),
  CONSTRAINT key_demanda_produto UNIQUE (id_produto, id_empresa)
  );
--RUN--

--SEQ 817- 05/05/2021 11:30 Alan
ALTER TABLE gestao.produto ALTER COLUMN taxa_margem1 TYPE numeric(9,5);
--RUN--

--SEQ 818- 05/05/2021 22:28 JCS
ALTER TABLE gestao.empresa ADD COLUMN prazo_medio_fp integer;
--RUN--

--SEQ 819- 06/05/2021 14:44 WILLIAN
ALTER TABLE gestao.entradas DROP CONSTRAINT chk_entradas_dt_entrada;
ALTER TABLE gestao.entradas DROP CONSTRAINT chk_entradas_situacao;
ALTER TABLE gestao.entradas ADD CONSTRAINT chk_entradas_dt_entrada CHECK ((entra IS NULL AND (situacao='I' OR situacao='V')) OR entra IS NOT NULL AND NOT (situacao='I' OR situacao='V'));
ALTER TABLE gestao.entradas ADD CONSTRAINT chk_entradas_situacao CHECK (situacao = ANY (ARRAY['P'::bpchar,'L'::bpchar,'C'::bpchar,'I'::bpchar,'V'::bpchar,'R'::bpchar,'A'::bpchar]));
--RUN--

--SEQ 820- 07/05/2021 14:00 Alan
ALTER TABLE gestao.empresa DROP COLUMN camposemuso;
--RUN--

--SEQ 821- 11/05/2021 08:35 WILLIAN
CREATE INDEX key_entradas_situacao ON gestao.entradas (situacao);
--RUN--

--SEQ 822- 11/05/2021 17:46 WILLIAN
ALTER TABLE gestao.oc DROP CONSTRAINT chk_oc_situacao;
ALTER TABLE gestao.oc  ADD CONSTRAINT chk_oc_situacao CHECK (situacao IN ('T','P','L','E','A','R','C','Z','N','D'));
--RUN--

--SEQ 823- 14/05/2021 14:00 Alan
ALTER TABLE gestao.os ALTER COLUMN num_serie TYPE character(40);
ALTER TABLE gestao.os ALTER COLUMN prod_modelo TYPE character(40);
ALTER TABLE gestao.os ALTER COLUMN defeito_recl TYPE character(100);
ALTER TABLE gestao.os ALTER COLUMN def_constatado TYPE character(150);
ALTER TABLE gestao.os ALTER COLUMN observacao TYPE character(300);
--RUN--

--SEQ 824- 17/05/2021 17:00 Alan
CREATE TABLE gestao.osfotos
(
  id_osfoto serial NOT NULL,
  id_os integer NOT NULL,  
  nome character(40) NOT NULL,
  descricao character(150) NOT NULL,
  CONSTRAINT pk_osfoto PRIMARY KEY (id_osfoto),
  CONSTRAINT key_osfotos_nome UNIQUE (id_os,nome)  
)
--RUN--

--SEQ 825- 26/05/2021 23:30 JCS
ALTER TABLE gestao.capproducao ADD COLUMN id_tpc integer;
ALTER TABLE gestao.capproducao ADD COLUMN grupo_corr character(30);
--RUN--

--SEQ 826- 09/06/2021 11:45 JCS
CREATE TABLE gestao.venxfp
(
  id_venxfp serial NOT NULL,
  id_vendedor integer NOT NULL,
  id_formapag integer NOT NULL,
  CONSTRAINT pk_venxfp PRIMARY KEY (id_venxfp),
  CONSTRAINT fk_venxfp_vendedor FOREIGN KEY (id_vendedor) REFERENCES gestao.vendedor (id_vendedor),
  CONSTRAINT fk_venxfp_formapag FOREIGN KEY (id_formapag) REFERENCES gestao.formapag (id_formapag)
);
--RUN--

--SEQ 827- 26/05/2021 09:55 JCS
ALTER TABLE gestao.crmoco ADD COLUMN tipo character(3);
ALTER TABLE gestao.crmoco ADD COLUMN id_carga integer;
ALTER TABLE gestao.crmoco ADD CONSTRAINT fk_crmoco_carga FOREIGN KEY (id_carga) REFERENCES gestao.carga (id_carga);

CREATE TABLE gestao.crmitem
(
  id_crmitem serial NOT NULL,
  id_produto integer NOT NULL,
  obs integer NOT NULL,
  qtdade NUMERIC (15,3) NOT NULL,
  CONSTRAINT pk_crmitem PRIMARY KEY (id_crmitem),
  CONSTRAINT fk_crmitem_produto FOREIGN KEY (id_produto) REFERENCES gestao.produto (id_produto)
);
--RUN--

--SEQ 828- 15/06/2021 08:45 Alan
ALTER TABLE gestao.mdfe ADD COLUMN tp_vale_pedagio1 smallint;
ALTER TABLE gestao.mdfe ADD COLUMN tp_vale_pedagio2 smallint;
ALTER TABLE gestao.mdfe ADD COLUMN tp_vale_pedagio3 smallint;
ALTER TABLE gestao.veiculo ADD COLUMN qtd_eixo smallint;
--RUN--

--SEQ 829- 18/06/2021 08:00 Alan
INSERT INTO gestao.portador(id_portador, id_empresa,nome,ativo) ( select banco,id_empresa,'Desconhecido',0 from gestao.lanctos where not banco in(select id_portador from gestao.portador) group by banco,id_empresa);
ALTER TABLE gestao.remessa ADD CONSTRAINT fk_remessa_portador FOREIGN KEY (id_banco) REFERENCES gestao.portador (id_portador) INITIALLY DEFERRED;
--ALTER TABLE gestao.lanctos ADD CONSTRAINT fk_lanctos_portador FOREIGN KEY (banco) REFERENCES gestao.portador (id_portador) INITIALLY DEFERRED;
--INSERT INTO gestao.portador(id_portador, id_empresa,nome,ativo) ( select banco,id_empresa,'Desconhecido',0 from gestao.lanctos where not banco in(select id_portador from gestao.portador) group by banco,id_empresa);
ALTER TABLE gestao.lanctos ADD CONSTRAINT fk_lanctos_portador FOREIGN KEY (banco) REFERENCES gestao.portador (id_portador);
--RUN--

--SEQ 830- 21/06/2021 23:17 JCS
CREATE OR REPLACE VIEW gestao.vcapproducao AS 
SELECT id_capproducao,
      COALESCE(
      CASE WHEN a.grupo_corr>' ' THEN 0 
           WHEN a.id_tpc>0 AND COALESCE(a.grupo_corr,' ')=' ' THEN (SELECT SUM(cap_efetiva) FROM gestao.capproducao B WHERE a.id_empresa=b.id_empresa AND a.dt1=b.dt1 AND a.agrupamento=b.agrupamento AND a.id_tpc=b.id_tpc AND b.grupo_corr>' ') 
           WHEN COALESCE(a.id_tpc,0)=0 AND COALESCE(a.grupo_corr,' ')=' ' THEN  (SELECT SUM(cap_efetiva) FROM gestao.capproducao B WHERE a.id_empresa=b.id_empresa AND a.dt1=b.dt1 AND a.agrupamento=b.agrupamento AND b.id_tpc>0 AND COALESCE(b.grupo_corr,' ')=' ')
      END,0) as cap_reservada,     
      COALESCE(
      CASE WHEN a.grupo_corr>' ' THEN 0 
           WHEN a.id_tpc>0 AND COALESCE(a.grupo_corr,' ')=' ' THEN (SELECT SUM(qtd_pedidos) FROM gestao.capproducao B WHERE a.id_empresa=b.id_empresa AND a.dt1=b.dt1 AND a.agrupamento=b.agrupamento AND a.id_tpc=b.id_tpc AND b.grupo_corr>' ') 
           WHEN COALESCE(a.id_tpc,0)=0 AND COALESCE(a.grupo_corr,' ')=' ' THEN  (SELECT SUM(qtd_pedidos) FROM gestao.capproducao B WHERE a.id_empresa=b.id_empresa AND a.dt1=b.dt1 AND a.agrupamento=b.agrupamento AND b.id_tpc>0 AND COALESCE(b.grupo_corr,' ')=' ')
      END,0) as qtd_pedidos     
      from gestao.capproducao A
--RUN--

--SEQ 831- 28/06/2021 08:15 Alan
ALTER TABLE gestao.os ADD COLUMN hora time without time zone;
ALTER TABLE gestao.osdet ADD COLUMN data date;
ALTER TABLE gestao.osdet ADD COLUMN hora time without time zone;
--RUN--	

--SEQ 832- 19/07/2021 10:31 Willian
ALTER TABLE gestao.entradet ADD COLUMN vl_deson_icms numeric(15,2);  
--RUN--	

--SEQ 833- 20/07/2021 15:24 JCS
ALTER TABLE gestao.ocd ADD COLUMN id_pcpmaq integer;
ALTER TABLE gestao.pcpmaq ADD COLUMN descr_det varchar(255);
--RUN--	

--SEQ 834- 22/07/2021 14:04 JCS
ALTER TABLE gestao.ocd ADD CONSTRAINT fk_ocd_pcpmaq FOREIGN KEY (id_pcpmaq)  REFERENCES gestao.pcpmaq (id_pcpmaq);
--RUN--	

--SEQ 835- 27/07/2021 11:00 Alan
ALTER TABLE gestao.empresa ADD COLUMN indic_presencial_nfc character(1);
--RUN--	

--SEQ 836- 27/07/2021 15:02 JCS
ALTER TABLE gestao.ccustoxctb ADD COLUMN id_ctbfilial integer;
--RUN--	  

--SEQ 837- 27/07/2021 17:26 WILLIAN
ALTER TABLE gestao.produto ADD COLUMN cod_obs_nf integer;
ALTER TABLE gestao.produto ADD COLUMN descr_site character(150);
--RUN--	

--SEQ 838- 18/08/2021 15:12 WILLIAN
ALTER TABLE gestao.sticms ADD COLUMN perc_deson_icmsst numeric(6,2);
ALTER TABLE gestao.sticms ADD COLUMN cod_mot_deson_icmsst smallint;
ALTER TABLE gestao.sticms ADD COLUMN perc_diferimento_fcp numeric(6,2);
ALTER TABLE gestao.nfdet ADD COLUMN cod_mot_deson_icmsst smallint;
ALTER TABLE gestao.nfdet ADD COLUMN vl_deson_icmsst numeric(15,2);
ALTER TABLE gestao.nfdet ADD COLUMN perc_diferimento_fcp numeric(6,2);
ALTER TABLE gestao.nfdet ADD COLUMN vl_fcp_diferido numeric(15,2);
ALTER TABLE gestao.nfdet ADD COLUMN vl_fcp_efetivo numeric(15,2);
ALTER TABLE gestao.nfdet ADD COLUMN cod_barra character(30);
ALTER TABLE gestao.nfdet ADD COLUMN cod_barra_tributavel character(30);
ALTER TABLE gestao.nfdet ADD COLUMN somar_pisst smallint;
ALTER TABLE gestao.nfdet ADD COLUMN somar_cofinsst smallint;
ALTER TABLE gestao.nf ADD COLUMN indic_intermediador smallint;
ALTER TABLE gestao.nf ADD COLUMN id_intermediador integer;
ALTER TABLE gestao.vendedor ADD COLUMN indic_intermediador smallint;
--RUN--	

--SEQ 839- 02/09/2021 11:42 WILLIAN
ALTER TABLE gestao.nfdet ADD COLUMN vl_credito_mva_sn numeric(15,2);
--RUN--	

--SEQ 840- 10/09/2021 16:30 Alan
ALTER TABLE gestao.ostipo ADD COLUMN id_colaborador integer;
ALTER TABLE gestao.colaborador ADD COLUMN id_pcpmaq integer;
--RUN--

--SEQ 841- 17/09/2021 16:00 JCS
ALTER TABLE gestao.correntista ADD COLUMN indcprb smallint NOT NULL DEFAULT 0;
--RUN--

--SEQ 842- 24/09/2021 14:00 ALAN
ALTER TABLE gestao.pcpparada DROP CONSTRAINT key_pcpparada_data;
ALTER TABLE gestao.pcpparada ADD CONSTRAINT key_pcpparada_data UNIQUE(id_empresa, data, hora, cod_maquina, cod_operador);
--RUN--

--SEQ 843- 30/09/2021 15:00 ALAN
ALTER TABLE gestao.ostipo DROP COLUMN id_colaborador;
ALTER TABLE gestao.colaborador RENAME id_pcpmaq TO id_ostipo;
ALTER TABLE gestao.os ADD COLUMN cod_ccusto integer;
--RUN--

--SEQ 844- 11/10/2021 14:20 ALAN
ALTER TABLE gestao.op ADD COLUMN hr1_prev time without time zone;
ALTER TABLE gestao.op ADD COLUMN hr2_prev time without time zone;
ALTER TABLE gestao.op ADD COLUMN dt_entrega date;
ALTER TABLE gestao.op ADD COLUMN seq_maq integer;
--RUN--

--SEQ 845- 14/10/2021 08:55 WILLIAN
ALTER TABLE gestao.produto1 ADD COLUMN num_onu integer;
ALTER TABLE gestao.produto1 ADD COLUMN descr_aprop_embarque character(50);
ALTER TABLE gestao.produto1 ADD COLUMN classe_risco character(10);
ALTER TABLE gestao.produto1 ADD COLUMN classe_risco_sub character(10);
ALTER TABLE gestao.produto1 ADD COLUMN grupo_emb character(10);
ALTER TABLE gestao.produto1 ADD COLUMN qtd_limitada numeric(15,3);
--RUN--

--SEQ 846- 15/10/2021 10:20 ALAN
ALTER TABLE gestao.op ADD CONSTRAINT key_op_seq_maq_empresa UNIQUE(seq_maq,cod_maquina, id_empresa);
--RUN--

--SEQ 847- 27/10/2021 10:12 WILLIAN
CREATE TABLE gestao.ccc
(
  id_ccc serial NOT NULL,
  dt_atual date NOT NULL,
  cnpj character(14) NOT NULL,
  ie character varying(14),
  razao character varying(80) NOT NULL,
  fantasia character varying(60),
  dt_abertura date,
  vl_capital numeric(15,2),
  cnae integer,
  logradouro character varying(60) NOT NULL,
  numero character varying(60) NOT NULL,
  complemento character varying(60),
  bairro character varying(60) NOT NULL,
  cod_ibge integer,
  cidade character varying(60) NOT NULL,
  uf character(2) NOT NULL,
  cep integer,
  ddd1 character varying(3),
  telefone1 character varying(10),
  ddd2 character varying(3),
  telefone2 character varying(10),
  ddd3 character varying(3),
  telefone3 character varying(10),
  email1 character varying(60),
  email2 character varying(60),
  email3 character varying(60),
  socio1 character varying(60),
  cargo1 character varying(60),
  socio2 character varying(60),
  cargo2 character varying(60),
  socio3 character varying(60),
  cargo3 character varying(60),
  socio4 character varying(60),
  cargo4 character varying(60),
  socio5 character varying(60),
  cargo5 character varying(60),
  CONSTRAINT pk_ccc PRIMARY KEY (id_ccc),
  CONSTRAINT key_ccc_data UNIQUE (cnpj, dt_atual)
);
--RUN--

--SEQ 848- 03/11/2021 15:00 ALAN
CREATE TABLE gestao.pcpoperxpcpmaq
(
  id_pcpoperxpcpmaq serial NOT NULL,
  id_pcpoper integer NOT NULL,
  id_pcpmaq integer NOT NULL,
  CONSTRAINT pk_pcpoperxpcpmaq PRIMARY KEY (id_pcpoperxpcpmaq),
  CONSTRAINT key_pcpoperxpcpmaq UNIQUE (id_pcpoper, id_pcpmaq)
);

CREATE TABLE gestao.ostipoxcolab
(
  id_ostipoxcolab serial NOT NULL,
  id_ostipo integer NOT NULL,
  id_colaborador integer NOT NULL,
  CONSTRAINT pk_ostipoxcolab PRIMARY KEY (id_ostipoxcolab),
  CONSTRAINT key_ostipoxcolab UNIQUE (id_ostipo,id_colaborador)
);
--RUN--

--SEQ 849- 04/11/2021 16:30 WILLIAN
ALTER TABLE gestao.ccc ADD COLUMN simples character(1);
ALTER TABLE gestao.ccc ADD COLUMN dt_simples date;
ALTER TABLE gestao.ccc ADD COLUMN simei character(1);
ALTER TABLE gestao.ccc ADD COLUMN dt_simei date;
update gestao.ccc set numero='' where numero in ('null','NULL');
update gestao.ccc set complemento='' where complemento in ('null','NULL');
--RUN--

--SEQ 850- 08/11/2021 15:30 ALAN
ALTER TABLE gestao.pcpparada ALTER COLUMN cod_maquina DROP NOT NULL;
--RUN--

--SEQ 851- 22/11/2021 14:00 WILLIAN
ALTER TABLE gestao.ctp ADD COLUMN id_osserv integer;
ALTER TABLE gestao.pauxpro ADD CONSTRAINT chk_pauxpro_preco CHECK (preco1 >= 0 and preco2>=0 and preco3>=0);
--RUN--

--SEQ 852- 24/11/2021 10:50 WILLIAN
ALTER TABLE gestao.sscc ADD COLUMN id_lote integer;
--RUN--

--SEQ 853- 29/11/2021 10:10 Alan
CREATE TABLE gestao.itemmanutencao (
  id_itemmanutencao SERIAL ,
  id_pcpmaq INT NOT NULL ,
  conjunto character(60) NOT NULL,
  item character(60) NOT NULL,
  id_produto INT ,
  ativo smallint DEFAULT 1,
  CONSTRAINT pk_itemmanutencao PRIMARY KEY (id_itemmanutencao),
  CONSTRAINT fk_itemmanutencao_pcpmaq FOREIGN KEY (id_pcpmaq) REFERENCES gestao.pcpmaq (id_pcpmaq),
  CONSTRAINT fk_itemmanutencao_produto FOREIGN KEY (id_produto) REFERENCES gestao.produto (id_produto)
);

CREATE TABLE gestao.planomanutencao (
  id_planomanutencao SERIAL ,
  id_itemmanutencao INT NOT NULL ,
  descricao character(40) NOT NULL,
  dia_inspecao INT NOT NULL ,
  ult_inspecao date NOT NULL ,
  prox_inspecao date NOT NULL ,
  CONSTRAINT pk_planomanutencao PRIMARY KEY (id_planomanutencao),
  CONSTRAINT fk_planomanutencao_itemmanutencao FOREIGN KEY (id_itemmanutencao) REFERENCES gestao.itemmanutencao (id_itemmanutencao)
);
--RUN--

--SEQ 854- 30/11/2021 16:15 JCS
ALTER TABLE gestao.sticms ALTER COLUMN st_especifica TYPE character(30);
--RUN--

--SEQ 855- 01/12/2021 22:15 JCS
ALTER TABLE gestao.capproducao ADD COLUMN dias_bloqueio integer;
--RUN--

--SEQ 856- 27/12/2021 10:15 ALAN
ALTER TABLE gestao.planomanutencao ADD COLUMN id_produto integer;
ALTER TABLE gestao.planomanutencao ADD COLUMN quantidade numeric(12,2);
ALTER TABLE gestao.osdet ADD COLUMN conjunto character(60);
ALTER TABLE gestao.osdet ADD COLUMN item character(60);
--RUN--

--SEQ 857- 11/01/2022 11:30 WILLIAN
ALTER TABLE gestao.st ADD COLUMN perc_bc_ipi numeric(10,4) NOT NULL DEFAULT 100;
--RUN--

--SEQ 858- 11/01/2022 16:15 ALAN
ALTER TABLE gestao.correntista ADD COLUMN pesso smallint;
ALTER TABLE gestao.correntista ADD COLUMN consfinal smallint;
ALTER TABLE gestao.correntista ADD COLUMN e_ender character(50);
ALTER TABLE gestao.correntista ADD COLUMN e_num_endereco character varying(20);
ALTER TABLE gestao.correntista ADD COLUMN e_bairr character(20);
ALTER TABLE gestao.correntista ADD COLUMN id_municipio_entrega integer;
ALTER TABLE gestao.correntista ADD COLUMN e_cep character(9);
ALTER TABLE gestao.correntista ADD COLUMN c_ender character(50);
ALTER TABLE gestao.correntista ADD COLUMN c_num_endereco character varying(20);
ALTER TABLE gestao.correntista ADD COLUMN c_bairr character(20);
ALTER TABLE gestao.correntista ADD COLUMN id_municipio_cobranca integer;
ALTER TABLE gestao.correntista ADD COLUMN c_cep character(9);
ALTER TABLE gestao.correntista ADD COLUMN grupo_eco character(30);
ALTER TABLE gestao.correntista ADD COLUMN dt_const date;
ALTER TABLE gestao.correntista ADD COLUMN no_reg character(10);
ALTER TABLE gestao.correntista ADD COLUMN dt_reg date;
ALTER TABLE gestao.correntista ADD COLUMN hor_descarga character(15);
ALTER TABLE gestao.correntista ADD COLUMN fat_anul numeric(15,2);
ALTER TABLE gestao.correntista ADD COLUMN cap_social numeric(15,2);
ALTER TABLE gestao.correntista ADD COLUMN cap_realiz numeric(15,2);
ALTER TABLE gestao.correntista ADD COLUMN cap_aberto smallint;
ALTER TABLE gestao.correntista ADD COLUMN con_ac_privado smallint;
ALTER TABLE gestao.correntista ADD COLUMN con_ac_nacional smallint;
ALTER TABLE gestao.correntista ADD COLUMN ramo_ativ character(50);
ALTER TABLE gestao.correntista ADD COLUMN cod_ativ_ir integer;
ALTER TABLE gestao.correntista ADD COLUMN no_empregados integer;
ALTER TABLE gestao.correntista ADD COLUMN importa smallint;
ALTER TABLE gestao.correntista ADD COLUMN p_importa integer;
ALTER TABLE gestao.correntista ADD COLUMN exporta smallint;
ALTER TABLE gestao.correntista ADD COLUMN p_exporta integer;
ALTER TABLE gestao.correntista ADD COLUMN princ_produ1 character(35);
ALTER TABLE gestao.correntista ADD COLUMN princ_produ2 character(35);
ALTER TABLE gestao.correntista ADD COLUMN princ_produ3 character(35);
ALTER TABLE gestao.correntista ADD COLUMN perc_vendas1 smallint;
ALTER TABLE gestao.correntista ADD COLUMN perc_vendas2 smallint;
ALTER TABLE gestao.correntista ADD COLUMN perc_vendas3 smallint;
ALTER TABLE gestao.correntista ADD COLUMN www character(40);
ALTER TABLE gestao.correntista ADD COLUMN banc1 integer;
ALTER TABLE gestao.correntista ADD COLUMN banc2 integer;
ALTER TABLE gestao.correntista ADD COLUMN banc3 integer;
ALTER TABLE gestao.correntista ADD COLUMN agen1 character(8);
ALTER TABLE gestao.correntista ADD COLUMN agen2 character(8);
ALTER TABLE gestao.correntista ADD COLUMN agen3 character(8);
ALTER TABLE gestao.correntista ADD COLUMN nagen1 character(30);
ALTER TABLE gestao.correntista ADD COLUMN nagen2 character(30);
ALTER TABLE gestao.correntista ADD COLUMN nagen3 character(30);
ALTER TABLE gestao.correntista ADD COLUMN ct_nu integer;
ALTER TABLE gestao.correntista ADD COLUMN ct_se integer;
ALTER TABLE gestao.correntista ADD COLUMN ci1 character(2);
ALTER TABLE gestao.correntista ADD COLUMN ci2 integer;
ALTER TABLE gestao.correntista ADD COLUMN orgex character(5);
ALTER TABLE gestao.correntista ADD COLUMN uf character(2);
ALTER TABLE gestao.correntista ADD COLUMN dtemi date;
ALTER TABLE gestao.correntista ADD COLUMN ddd character(4);
ALTER TABLE gestao.correntista ADD COLUMN cod_vendedor integer;
ALTER TABLE gestao.correntista ADD COLUMN cod_vendedor2 integer;
ALTER TABLE gestao.correntista ADD COLUMN cod_vendedor3 integer;
ALTER TABLE gestao.correntista ADD COLUMN conta character(25);
ALTER TABLE gestao.correntista ADD COLUMN c_dm_nascto integer;
ALTER TABLE gestao.correntista ADD COLUMN c_fone character(20);
ALTER TABLE gestao.correntista ADD COLUMN con_f character(25);
ALTER TABLE gestao.correntista ADD COLUMN f_dm_nascto integer;
ALTER TABLE gestao.correntista ADD COLUMN f_fone character(20);
ALTER TABLE gestao.correntista ADD COLUMN nasct date;
ALTER TABLE gestao.correntista ADD COLUMN sexo smallint;
ALTER TABLE gestao.correntista ADD COLUMN e_civ smallint;
ALTER TABLE gestao.correntista ADD COLUMN pai character(40);
ALTER TABLE gestao.correntista ADD COLUMN mae character(40);
ALTER TABLE gestao.correntista ADD COLUMN conju character(40);
ALTER TABLE gestao.correntista ADD COLUMN ocupa character(30);
ALTER TABLE gestao.correntista ADD COLUMN c_spc character(10);
ALTER TABLE gestao.correntista ADD COLUMN natur character(20);
ALTER TABLE gestao.correntista ADD COLUMN t_ser integer;
ALTER TABLE gestao.correntista ADD COLUMN l_tra character(40);
ALTER TABLE gestao.correntista ADD COLUMN t_end integer;
ALTER TABLE gestao.correntista ADD COLUMN inscr_pro character(15);
ALTER TABLE gestao.correntista ADD COLUMN classe character(1);
ALTER TABLE gestao.correntista ADD COLUMN limcred numeric(15,2);
ALTER TABLE gestao.correntista ADD COLUMN tolatr integer;
ALTER TABLE gestao.correntista ADD COLUMN cod_formapag integer;
ALTER TABLE gestao.correntista ADD COLUMN id_st smallint;
ALTER TABLE gestao.correntista ADD COLUMN lei_livre character(15);
ALTER TABLE gestao.correntista ADD COLUMN dt_ult_verif date;
ALTER TABLE gestao.correntista ADD COLUMN aviso_protesto smallint;
ALTER TABLE gestao.correntista ADD COLUMN codigo_vend_prep integer;
ALTER TABLE gestao.correntista ADD COLUMN id_tipo integer;
ALTER TABLE gestao.correntista ADD COLUMN id_regiao integer;
ALTER TABLE gestao.correntista ADD COLUMN i_ban character varying(4000);
ALTER TABLE gestao.correntista ADD COLUMN i_com character varying(4000);
ALTER TABLE gestao.correntista ADD COLUMN obs character varying(4000);
ALTER TABLE gestao.correntista ADD COLUMN repr_nome character(40);
ALTER TABLE gestao.correntista ADD COLUMN repr_ddd character(4);
ALTER TABLE gestao.correntista ADD COLUMN repr_fone character(20);
ALTER TABLE gestao.correntista ADD COLUMN repr_fax character(8);
ALTER TABLE gestao.correntista ADD COLUMN cc1 character(12);
ALTER TABLE gestao.correntista ADD COLUMN id_ant_forne integer;
ALTER TABLE gestao.correntista ADD COLUMN suf_cgcpf character(3);
ALTER TABLE gestao.correntista ADD COLUMN idxfti tsvector;
ALTER TABLE gestao.correntista ADD COLUMN email_nfe character(200);
ALTER TABLE gestao.correntista ADD COLUMN alerta smallint;
ALTER TABLE gestao.correntista ADD COLUMN st_especifica character(30);
ALTER TABLE gestao.correntista ADD COLUMN dt_atual date;
ALTER TABLE gestao.correntista ADD COLUMN id_redesp integer;
ALTER TABLE gestao.correntista ADD COLUMN redesp_frete smallint;
ALTER TABLE gestao.correntista ADD COLUMN cod_repart_fiscal character(20);
ALTER TABLE gestao.correntista ADD COLUMN cod_tes integer;
ALTER TABLE gestao.correntista ADD COLUMN senha_web character(20);
ALTER TABLE gestao.correntista ADD COLUMN cod_obs_nf integer;
ALTER TABLE gestao.correntista ADD COLUMN descr_obs_nf character(100);
ALTER TABLE gestao.correntista ADD COLUMN regra_exclusiva character(30);
ALTER TABLE gestao.correntista ADD COLUMN indicador_ie smallint;
ALTER TABLE gestao.correntista ADD COLUMN vencto_cred date;
ALTER TABLE gestao.correntista ADD COLUMN cod_pauta integer;
ALTER TABLE gestao.correntista ADD COLUMN validade_suframa date;
ALTER TABLE gestao.correntista ADD COLUMN obs_entrega text;
ALTER TABLE gestao.correntista ADD COLUMN perc_carga_trib numeric(7,2);
ALTER TABLE gestao.correntista ADD COLUMN tx_desc_financ numeric(6,2);
ALTER TABLE gestao.correntista ADD COLUMN abater_desc_fin smallint;
ALTER TABLE gestao.correntista ADD COLUMN id_moeda integer;
ALTER TABLE gestao.correntista ADD COLUMN enquadramento character varying(3);
ALTER TABLE gestao.correntista ADD COLUMN tp_desconto smallint;
ALTER TABLE gestao.correntista ADD COLUMN id_tpcobr integer;
ALTER TABLE gestao.correntista ADD COLUMN tx_tol_dif_pedido numeric(7,2);
ALTER TABLE gestao.correntista ADD COLUMN prazo_medio_fp integer;
ALTER TABLE gestao.correntista ADD COLUMN usuario_intermediador character(60);
ALTER TABLE gestao.correntista ADD COLUMN cxpostal integer;
ALTER TABLE gestao.correntista ADD COLUMN fornecedor smallint;
ALTER TABLE gestao.correntista ADD COLUMN cliente smallint;
ALTER TABLE gestao.correntista ADD COLUMN transportador smallint;
ALTER TABLE gestao.correntista ADD COLUMN id_transportadora integer;
--######################## forne #########################
ALTER TABLE gestao.correntista ADD COLUMN fanta character(40);
ALTER TABLE gestao.correntista ADD COLUMN col_ender character(40);
ALTER TABLE gestao.correntista ADD COLUMN col_num_endereco character(20);
ALTER TABLE gestao.correntista ADD COLUMN col_bairro character(20);
ALTER TABLE gestao.correntista ADD COLUMN col_cep character(9);
ALTER TABLE gestao.correntista ADD COLUMN col_id_municipio integer;
ALTER TABLE gestao.correntista ADD COLUMN banco character(25);
ALTER TABLE gestao.correntista ADD COLUMN categoria character(30);
ALTER TABLE gestao.correntista ADD COLUMN rntrc_transp character(20);
ALTER TABLE gestao.correntista ADD COLUMN tp_transp smallint;
ALTER TABLE gestao.correntista ADD COLUMN cod_ccusto integer;
ALTER TABLE gestao.correntista ADD COLUMN id_natureza integer;
ALTER TABLE gestao.correntista ADD COLUMN cond_pagto character varying(30);
--######################## transp ########################
ALTER TABLE gestao.correntista ADD COLUMN placa character(7);
ALTER TABLE gestao.correntista ADD COLUMN ufplaca character(2);
--RUN--

--SEQ 859- 31/01/2022 16:40 JCS
ALTER TABLE gestao.cstpadrao ADD CONSTRAINT chk_cstpadrao_valor CHECK (valor>0)  NOT VALID;
--RUN--

--SEQ 860- 09/02/2022 08:57 JCS
ALTER TABLE gestao.carga ADD COLUMN canhoto smallint NOT NULL DEFAULT 0;
ALTER TABLE gestao.osdet ADD COLUMN id_planomanutencao integer;
--RUN--

--SEQ 861- 25/02/2022 15:47 JCS
CREATE INDEX keylotemov_origem ON gestao.lotemov (origem);
--RUN--

--SEQ 862- 11/03/2022 14:35 JCS
ALTER TABLE gestao.produto1 ADD COLUMN lote_min_venda numeric(15,3);
--RUN--

--SEQ 863- 16/03/2022 14:17 WILLIAN
ALTER TABLE gestao.ccc ADD COLUMN ie2 character varying(14);
ALTER TABLE gestao.ccc ADD COLUMN ie3 character varying(14);
--RUN--

--SEQ 864- 01/04/2022 08:30 Alan
INSERT INTO gestao.tabcomp(id_empresa, nome_tabcomp, id_empresa_tabcomp) (select id_empresa,'tesxcfop', id_matriz from gestao.empresa where not id_empresa=id_matriz);
--RUN--

--SEQ 865- 13/04/2022 15:13 WILLIAN
ALTER TABLE gestao.entradas ADD COLUMN oculto smallint;
ALTER TABLE gestao.ctp ADD COLUMN oculto smallint;
ALTER TABLE gestao.lanctos ADD COLUMN oculto smallint;
--RUN--

--SEQ 866- 20/04/2022 17:57 JCS
ALTER TABLE gestao.pauxpro ADD COLUMN hora_atual time NOT NULL DEFAULT now();
--RUN--

--SEQ 867-- 04/05/2022 16:40 Alan
ALTER TABLE gestao.sarcfg ADD bloq_frete smallint;
--RUN--

--SEQ 868-- 12/05/2022 11:00 JCS
ALTER TABLE gestao.estruturad ADD COLUMN taxa_retorno numeric(7,2);
ALTER TABLE gestao.estruturad ADD COLUMN qtd_retorno numeric(20,6);
ALTER TABLE gestao.estruturad ADD COLUMN id_prod_retorno int;
ALTER TABLE gestao.estruturad ADD CONSTRAINT fk_estruturad_prod_retorno FOREIGN KEY (id_prod_retorno)   REFERENCES gestao.produto (id_produto);
--RUN--

--SEQ 869-- 17/05/2022 16:00 Alan
ALTER TABLE gestao.pcpparada ALTER COLUMN descr_motivo TYPE character varying(1024);
ALTER TABLE gestao.ostipo ADD COLUMN tipo character(1);
--RUN--

--SEQ 870-- 24/05/2022 10:22 WILLIAN
ALTER TABLE gestao.crmitem ADD COLUMN id_crmoco integer NOT NULL;
ALTER TABLE gestao.crmitem ADD CONSTRAINT fk_crmitem_crmoco FOREIGN KEY (id_crmoco) REFERENCES gestao.crmoco (id_crmoco);
ALTER TABLE gestao.crmitem DROP CONSTRAINT fk_crmitem_produto;
ALTER TABLE gestao.crmitem ALTER COLUMN obs TYPE character(150);
ALTER TABLE gestao.crmitem ALTER COLUMN obs DROP NOT NULL;
ALTER TABLE gestao.crmoco ALTER COLUMN tipo TYPE smallint USING tipo::smallint;
ALTER TABLE gestao.crmoco ADD COLUMN cod_vendedor integer;
--RUN--

--SEQ 871-- 27/05/2022 09:22 ALAN
ALTER TABLE gestao.produto1 ADD COLUMN descr_invoice character(75);
--RUN--

--SEQ 872-- 01/06/2022 08:50 ALAN
ALTER TABLE gestao.fatconversao ADD COLUMN und_secundaria smallint;
--RUN--

--SEQ 873-- 10/06/2022 10:34 WILLIAN
ALTER TABLE gestao.crmoco ADD COLUMN numero integer;
ALTER TABLE gestao.crmoco ADD CONSTRAINT key_crmoco_numero UNIQUE(id_empresa, numero);
--RUN--

--SEQ 874-- 13/06/2022 09:3	0 ALAN
ALTER TABLE gestao.estrutura ADD COLUMN arq_imagem character varying(255);
--RUN--

--SEQ 875-- 13/06/2022 16:11 WILLIAN
ALTER TABLE gestao.nf ADD COLUMN cod_agrupador integer;
ALTER TABLE gestao.nf ADD CONSTRAINT key_nf_agrupador UNIQUE(id_empresa, cod_agrupador);
--RUN--

--SEQ 876-- 29/06/2022 14:20 JCS
ALTER TABLE gestao.produto1 ADD COLUMN bloq_desconto smallint NOT NULL DEFAULT 0;
--RUN--

--SEQ 877-- 11/07/2022 15:00 WILLIAN
ALTER TABLE gestao.crmoco ADD COLUMN id_pedido integer;
ALTER TABLE gestao.crmitem ADD COLUMN descr_prod character(75);
ALTER TABLE gestao.crmitem ADD COLUMN unidade character(6);

UPDATE gestao.crmitem SET descr_prod=substring(consulta.descr_det,1,75), unidade=consulta.unidade
  FROM (SELECT d.descr_det as descr_det,a.id_crmitem as id_crmitem, d.unidade as unidade FROM gestao.crmitem A
         LEFT OUTER JOIN gestao.crmoco B ON (b.id_crmoco=a.id_crmoco)
         LEFT OUTER JOIN gestao.tabcomp C ON (c.id_empresa=b.id_empresa AND c.nome_tabcomp='produtos')
         LEFT OUTER JOIN gestao.produto D ON (d.id_erp=a.id_produto AND d.id_empresa=coalesce(c.id_empresa_tabcomp,b.id_empresa))
       ) as consulta 
WHERE crmitem.id_crmitem=consulta.id_crmitem;
--RUN--

--SEQ 878-- 12/07/2022 10:00 JULIO
ALTER TABLE gestao.carga ADD COLUMN ordem integer;
--RUN--

--SEQ 879-- 01/08/2022 10:00 Alan
ALTER TABLE gestao.boleto ADD COLUMN chave_pix character varying(256);
--RUN--

--SEQ 880-- 21/09/2022 10:00 Alan
INSERT INTO gestao.moddocfiscal (codigo,descricao) VALUES ('66' ,'Nota Fiscal da Energia El trica Eletr nica');
--RUN--

--SEQ 881-- 07/10/2022 14:23 JCS
CREATE INDEX key_scd_num_oc ON gestao.scd (num_oc);
--RUN--

--SEQ 882-- 26/10/2022 14:57 JCS
ALTER TABLE gestao.descpromo ADD COLUMN aplic_desc_promocao smallint NOT NULL DEFAULT 0;
--RUN--

--SEQ 883-- 27/11/2022 09:15 JCS
ALTER TABLE gestao.carga ADD COLUMN wms_bloqueio smallint NOT NULL DEFAULT 0;
--RUN--

--SEQ 884-- 28/11/2022 11:02 WILLIAN
ALTER TABLE gestao.nfdet ALTER COLUMN ndi TYPE character(12);
--RUN--

--SEQ 885-- 06/12/2022 13:43 WILLIAN
ALTER TABLE gestao.produto ALTER COLUMN site_produto TYPE character(200);
--RUN--

--SEQ 886-- 08/12/2022 16:49 JCS
ALTER TABLE gestao.sscc DROP CONSTRAINT key_sscc_prefixo;
ALTER TABLE gestao.sscc ADD CONSTRAINT key_sscc_prefixo UNIQUE(codigo_sscc, prefixo_origem, sequencial, id_empresa);
--RUN--

--SEQ 887-- 13/12/2022 16:33 JCS
ALTER TABLE gestao.sc ADD COLUMN descricao character(200);
--RUN--

--SEQ 888-- 14/12/2022 12:07 JCS
ALTER TABLE gestao.pauxpro ADD COLUMN divisor numeric(15,6);
ALTER TABLE gestao.pauxpro ADD COLUMN tx_comissao numeric(7,2);
ALTER TABLE gestao.pauxpro ADD COLUMN tx_icms numeric(7,2);
--RUN--

--SEQ 889-- 10/01/2023 14:36 WILLIAN
ALTER TABLE gestao.portador ADD COLUMN gera_sped1601 smallint NOT NULL DEFAULT 1;
ALTER TABLE gestao.portador ADD COLUMN cnpj character(18);
--RUN--

--SEQ 890-- 18/01/2023 15:17 JCS
CREATE OR REPLACE VIEW gestao.vsaldo_oc AS
SELECT id_empresa,id_produto,sum(qtd_comprada-qtd_recebida-qtd_cancelada) as qtd_saldo_oc,und,min(data_prev_entrega) AS data_prev_entrega
  FROM gestao.ocd A
  LEFT OUTER JOIN gestao.oc B ON (A.id_oc=b.id_oc)
  WHERE id_produto>0 and ja_recebido NOT IN (1,2) AND NOT a.situacao IN ('R','C')
  GROUP BY id_empresa,id_produto,und;
--RUN--

--SEQ 891-- 26/01/2023 15:32 willian
CREATE TABLE gestao.rota
( id_rota serial NOT NULL,
  id_empresa integer NOT NULL,
  descricao character(150) NOT NULL,
  CONSTRAINT pk_rota PRIMARY KEY (id_rota),
  CONSTRAINT fk_rota_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa));
  
CREATE TABLE gestao.rotadet
( id_rotadet serial NOT NULL,
  id_rota integer NOT NULL,
  id_cliente integer,
  id_municipio integer,  
  CONSTRAINT pk_rotadet PRIMARY KEY (id_rotadet),
  CONSTRAINT fk_rotadet_rota FOREIGN KEY (id_rota) REFERENCES gestao.rota (id_rota),
  CONSTRAINT fk_rotadet_municipio FOREIGN KEY (id_municipio) REFERENCES gestao.municipio (id_municipio));

ALTER TABLE gestao.carga ADD COLUMN id_rota integer;
ALTER TABLE gestao.carga ADD CONSTRAINT fk_carga_rota FOREIGN KEY (id_rota) REFERENCES gestao.rota (id_rota);
--RUN--

--SEQ 892-- 31/01/2023 11:13 JCS
INSERT INTO gestao.tabcomp(id_empresa, nome_tabcomp, id_empresa_tabcomp) SELECT id_empresa,'natureza',1 FROM gestao.empresa WHERE id_empresa>1;

CREATE TABLE gestao.natureza (
  id_natureza SERIAL ,
  id_empresa INT NOT NULL ,
  codigo INT NOT NULL ,
  numero CHAR(15) NOT NULL ,
  descr CHAR(40) NOT NULL ,
  ana_sin CHAR(1) NOT  NULL ,
  conta_custo SMALLINT NOT NULL ,
  conta_financeira SMALLINT NOT NULL ,
  transf_conta SMALLINT NOT NULL ,
  carac CHAR(3) NOT NULL ,
  grau SMALLINT NOT NULL ,
  deb_cre SMALLINT NULL ,
  ap_res_ctr SMALLINT NULL ,
  ap_res_ctp SMALLINT NULL ,
  ap_res_caixa SMALLINT NULL ,
  dr_classe SMALLINT NULL ,
  dr_mascara INT NULL ,
  ativo SMALLINT NOT NULL ,
  fro_tipo SMALLINT NULL ,
  fro_desp_manut SMALLINT NULL ,
  fro_desp_comb SMALLINT NULL ,
  fro_desp_alimen SMALLINT NULL ,
  atribuir_custo SMALLINT NULL ,
  cod_ctbconta INT NULL ,
  cod_ctbhisto INT NULL ,
  gera_contabil SMALLINT NULL ,
  agrupamento CHAR(40) NULL ,
  ap_res_class SMALLINT NULL ,
  codigo_contabil INT NULL ,
  rec_sped1601 SMALLINT NOT NULL,
  CONSTRAINT pk_natureza PRIMARY KEY (id_natureza),
  CONSTRAINT fk_cnatureza_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT key_natureza_codigo UNIQUE (id_empresa, codigo),
  CONSTRAINT key_natureza_numero UNIQUE (id_empresa, numero)
  );
--RUN--

--SEQ 893-- 31/01/2023 14:58 WILLIAN
ALTER TABLE gestao.estrutura ADD COLUMN vel_ciclo_prod numeric(10,2);
--RUN--

--SEQ 894-- 01/02/2023 11:00 JCS
CREATE OR REPLACE VIEW gestao.vsped1601 AS
SELECT a.id_empresa,b.id_portador,b.nome,gera_sped1601,a.id_natureza,descr,c.rec_sped1601,dt_movto as data,a.numero,complemento,
  CASE WHEN gera_sped1601=1 AND rec_sped1601=1 THEN valor ELSE 0 END AS tot_vs,
  CASE WHEN gera_sped1601=1 AND rec_sped1601=2 THEN valor ELSE 0 END AS tot_iss,
  CASE WHEN gera_sped1601=1 AND rec_sped1601=9 THEN valor ELSE 0 END AS tot_outros,
  CASE WHEN gera_sped1601=0 OR  rec_sped1601=0 THEN valor ELSE 0 END AS tot_na
  FROM gestao.lanctos A
  LEFT OUTER JOIN gestao.portador B ON (a.banco=b.id_portador)
  LEFT OUTER JOIN gestao.natureza C ON (a.id_natureza=c.id_natureza)
  WHERE tipo='E';
--RUN--


--SEQ 895- 09/02/2023 17:40 JCS
CREATE OR REPLACE VIEW gestao.vpauxpro AS
SELECT a.id_pauta,a.id_prod AS id_produto,preco1,preco2,preco3,a.bc_comissao,a.id_varprod,b.tp_pauta,b.dt_ini,b.dt_fim,a.dt_atual,a.valor_pauta_icms_st,null as cod_pauta_promo, divisor, tx_comissao, tx_icms
  FROM gestao.pauxpro A
  LEFT OUTER JOIN gestao.pauta B ON (a.id_pauta=b.id_pauta)
  WHERE a.id_pauta::text||'-'||(CASE WHEN id_varprod>0 THEN id_varprod ELSE id_prod END)::text NOT IN
  (
SELECT b.id_pauta_vinculada::text||'-'||(CASE WHEN id_varprod>0 THEN id_varprod ELSE id_prod END)::text
  FROM gestao.pauxpro A
  LEFT OUTER JOIN gestao.pauta B ON (a.id_pauta=b.id_pauta)
  WHERE b.tp_pauta=1 AND CURRENT_DATE BETWEEN b.dt_ini AND b.dt_fim
)
UNION ALL
SELECT b.* FROM (
SELECT b.id_pauta_vinculada,a.id_prod AS id_produto,max(b.dt_ini) AS dt_ini, a.valor_pauta_icms_st,MAX(b.codigo) as cod_pauta_promo
  FROM gestao.pauxpro A
  LEFT OUTER JOIN gestao.pauta B ON (a.id_pauta=b.id_pauta)
  WHERE b.tp_pauta=1 AND CURRENT_DATE BETWEEN b.dt_ini AND b.dt_fim 
  GROUP BY b.id_pauta_vinculada,a.id_prod, a.valor_pauta_icms_st) A
  LEFT OUTER JOIN (
  SELECT b.id_pauta_vinculada,a.id_prod AS id_produto,preco1,preco2,preco3,a.bc_comissao,a.id_varprod,b.tp_pauta,b.dt_ini,b.dt_fim,a.dt_atual, a.valor_pauta_icms_st, b.codigo as cod_pauta_promo, divisor, tx_comissao, tx_icms
  FROM gestao.pauxpro A
  LEFT OUTER JOIN gestao.pauta B ON (a.id_pauta=b.id_pauta)
  WHERE b.tp_pauta=1 AND CURRENT_DATE BETWEEN b.dt_ini AND b.dt_fim) B 
  ON (a.id_pauta_vinculada=b.id_pauta_vinculada and a.id_produto=b.id_produto AND a.dt_ini=b.dt_ini);
--RUN--

--SEQ 896- 10/02/2023 09:44 JCS
ALTER TABLE gestao.correntista ALTER COLUMN bairro TYPE character(60);
--RUN--

--SEQ 897- 14/02/2023 15:25 WILLIAN
ALTER TABLE gestao.pcpoper ADD COLUMN ativo smallint NOT NULL DEFAULT 1;
--RUN--

--SEQ 898- 16/02/2023 21:53 JCS
ALTER TABLE gestao.lanctos ADD COLUMN id_filial integer;
CREATE OR REPLACE VIEW gestao.vsped1601 AS
SELECT CASE WHEN id_filial=0 OR id_filial IS NULL THEN a.id_empresa ELSE id_filial END AS id_empresa,b.id_portador,b.nome,gera_sped1601,a.id_natureza,descr,c.rec_sped1601,dt_movto as data,a.numero,complemento,
  CASE WHEN gera_sped1601=1 AND rec_sped1601=1 THEN valor ELSE 0 END AS tot_vs,
  CASE WHEN gera_sped1601=1 AND rec_sped1601=2 THEN valor ELSE 0 END AS tot_iss,
  CASE WHEN gera_sped1601=1 AND rec_sped1601=9 THEN valor ELSE 0 END AS tot_outros,
  CASE WHEN gera_sped1601=0 OR  rec_sped1601=0 THEN valor ELSE 0 END AS tot_na,
  id_filial
  FROM gestao.lanctos A
  LEFT OUTER JOIN gestao.portador B ON (a.banco=b.id_portador)
  LEFT OUTER JOIN gestao.natureza C ON (a.id_natureza=c.id_natureza)
  WHERE tipo='E';
--RUN--

--SEQ 899- 28/02/2023 15:00 JCS
ALTER TABLE gestao.demanda DROP CONSTRAINT fk_demanda_produto;

ALTER TABLE gestao.demanda
  ADD CONSTRAINT fk_demanda_produto FOREIGN KEY (id_produto)
      REFERENCES gestao.produto (id_produto) ON DELETE CASCADE;

ALTER TABLE gestao.produto1 DROP CONSTRAINT fk_produto1_produto;

ALTER TABLE gestao.produto1
  ADD CONSTRAINT fk_produto1_produto FOREIGN KEY (id_produto)
      REFERENCES gestao.produto (id_produto) ON DELETE CASCADE;     
--RUN--	  

--SEQ 900- 03/03/2023 15:15 ALAN
ALTER TABLE gestao.os ALTER COLUMN obs_compl_defeitos TYPE character varying(1000);
--RUN--

--SEQ 901- 16/03/2023 17:25 ALAN
ALTER TABLE gestao.entradet ALTER COLUMN aliq_pis TYPE numeric(8,4);
ALTER TABLE gestao.entradet ALTER COLUMN aliq_cofins TYPE numeric(8,4);
--RUN--

--SEQ 902- 21/03/2023 16:50 JCS
ALTER TABLE gestao.cotacaoi ADD COLUMN cod_ccusto integer;
ALTER TABLE gestao.cotacaoi ADD COLUMN cod_maquina character(10);
--RUN--

--SEQ 903- 27/03/2023 15:50 ALAN
ALTER TABLE gestao.cfopxtes ADD COLUMN aliq_pis numeric(8,4);
ALTER TABLE gestao.cfopxtes ADD COLUMN aliq_cofins numeric(8,4);
--RUN--

--SEQ 904- 31/03/2023 15:16 Willian
ALTER TABLE gestao.produto1 ADD COLUMN qtd_trib_icms_und numeric(12,4);
ALTER TABLE gestao.produto1 ADD COLUMN vl_unid_trib_icms numeric(10,4);

ALTER TABLE gestao.nfdet ADD COLUMN qtd_trib_icmsret numeric(17,4);
ALTER TABLE gestao.nfdet ADD COLUMN vl_unid_trib_icmsret numeric(10,4);
ALTER TABLE gestao.nfdet ADD COLUMN vl_icms_mono_ret numeric(15,2);

ALTER TABLE gestao.sticms DROP CONSTRAINT chk_sticms_csticms;
ALTER TABLE gestao.sticms ADD CONSTRAINT chk_sticms_csticms CHECK (cst_icms = '00'::bpchar OR cst_icms = '10'::bpchar OR cst_icms = '20'::bpchar OR cst_icms = '30'::bpchar OR cst_icms = '40'::bpchar OR cst_icms = '41'::bpchar OR cst_icms = '50'::bpchar OR cst_icms = '51'::bpchar OR cst_icms = '60'::bpchar OR cst_icms = '61'::bpchar OR cst_icms = '70'::bpchar OR cst_icms = '90'::bpchar OR cst_icms = 'NA'::bpchar);
INSERT INTO gestao.cst(tributo, dt1, codigo, tp_operacao, descricao) VALUES ('ICMS','2023-01-01','61','A','Tributa  o monof sica sobre combust veis cobrada anteriormente');
--RUN--

--SEQ 905- 31/03/2023 15:16 Willian
DELETE FROM gestao.registro WHERE chave='Correntista' AND nome LIKE 'Situa  o Especifica NF:%' AND (LENGTH(TRIM(valor))=0 OR valor IS NULL)
--RUN--

--SEQ 906- 18/03/2023 11:15 JCS
ALTER TABLE gestao.req DISABLE TRIGGER ALL;
UPDATE gestao.req set origem=NULL WHERE origem=' ';
UPDATE gestao.req set origem=NULL WHERE id_req IN (SELECT min(id_req) FROM gestao.req WHERE origem IS NOT NULL GROUP BY origem HAVING count(*)>1);
ALTER TABLE gestao.req ENABLE TRIGGER ALL;

ALTER TABLE gestao.req ADD CONSTRAINT key_req_origem UNIQUE (origem);
--RUN--

--SEQ 907- 24/04/2023 14:15 Willian
UPDATE gestao.estruturaop SET id_operacao=consulta.id_pcpoper
 FROM
  (SELECT b.id_pcpoper,a.id_estruturaop FROM gestao.estruturaop A
   LEFT OUTER JOIN gestao.pcpoper B ON (b.codigo=a.id_operacao)
   WHERE NOT b.codigo=b.id_pcpoper) AS consulta
 WHERE estruturaop.id_estruturaop=consulta.id_estruturaop;

UPDATE gestao.estruturaop SET id_setor=consulta.id_pcpsetor
 FROM
  (SELECT b.id_pcpsetor,a.id_estruturaop FROM gestao.estruturaop A
   LEFT OUTER JOIN gestao.pcpsetor B ON (b.codigo=a.id_setor)
   WHERE NOT b.codigo=b.id_pcpsetor) AS consulta
 WHERE estruturaop.id_estruturaop=consulta.id_estruturaop;
--RUN--

--SEQ 908- 04/05/2023 14:00 Alan
CREATE INDEX key_estinventario_data2 ON gestao.estinventario USING btree (id_empresa, id_produto, data);
CREATE INDEX key_nfendereco_id_nf ON gestao.nfendereco USING btree (id_nf, tipo);
CREATE INDEX key_tesxcfop_empresa ON gestao.tesxcfop USING btree (id_empresa,cst_icms,cod_tes,cfop);
CREATE INDEX key_nfdet_id_tes ON gestao.nfdet USING btree (id_nf,id_tes,cfop,id_st);
--RUN--

--SEQ 909- 08/05/2023 10:38 WILLIAN
ALTER TABLE gestao.dfeevento DROP CONSTRAINT key_chave_dfe_evento;
--RUN--

--SEQ 910- 08/05/2023 16:40 JCS
ALTER TABLE gestao.entradet ADD COLUMN vl_icmscp numeric(15,2);
--RUN--

--SEQ 911- 26/05/2023 15:00 JCS
ALTER TABLE gestao.pauxpro DROP CONSTRAINT chk_pauxpro_preco;
ALTER TABLE gestao.pauxpro ADD CONSTRAINT chk_pauxpro_preco CHECK ((preco1 >= 0 Or preco1=-1) AND preco2 >= 0 AND preco3 >= 0);
--RUN--

--SEQ 912- 14/05/2023 18:00 JCS
CREATE TABLE gestao.campanha (
  id_campanha SERIAL NOT NULL ,
  id_empresa INTEGER NOT NULL,
  nome CHAR(60) NOT NULL ,
  dt1 DATE NOT NULL ,
  dt2 DATE NOT NULL ,
  ativa SMALLINT NOT NULL ,
  tipo SMALLINT  NOT NULL ,
  id_subgrupo INT NULL ,
  vl_meta DECIMAL(15,2) NOT NULL ,
  vl_premio DECIMAL(15,2) NOT NULL,
  CONSTRAINT pk_campanha PRIMARY KEY (id_campanha),
  CONSTRAINT fk_campanha_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_campanha_subgrupo FOREIGN KEY (id_subgrupo) REFERENCES gestao.grupo (id_grupo)
);
--RUN--

--SEQ 913- 19/06/2023 12:00 JCS
ALTER TABLE gestao.pauxpro DROP CONSTRAINT key_pauta_produto;
CREATE UNIQUE INDEX key_pauta_produto ON gestao.pauxpro (id_pauta, id_prod, COALESCE(largura,0), COALESCE(altura,0), COALESCE(id_varprod,0));
--RUN--

--SEQ 914- 22/06/2023 17:35 JCS
ALTER TABLE gestao.itemdocto ADD COLUMN cod_benef_fiscal character(10);
ALTER TABLE gestao.itemdocto ADD COLUMN vl_deson_icms numeric(15,2);
--RUN--

--SEQ 915- 29/06/2023 09:05 Alan
CREATE TABLE gestao.checklist
(
  id_checklist serial NOT NULL,
  id_os integer NOT NULL,  
  id_pcpoper integer NOT NULL,
  conferido smallint,
  CONSTRAINT pk_checklist PRIMARY KEY (id_checklist),
  CONSTRAINT key_checklistxpcpoper UNIQUE (id_os,id_pcpoper),
  CONSTRAINT fk_checklist_os FOREIGN KEY (id_os) REFERENCES gestao.os (id_os),
  CONSTRAINT fk_checklist_pcpoper FOREIGN KEY (id_pcpoper) REFERENCES gestao.pcpoper (id_pcpoper)
);
--RUN--

--SEQ 917- 12/07/2023 15:06 Willian
ALTER TABLE gestao.municipio ADD COLUMN vl_ped_min numeric(12,2);
--RUN--

--SEQ 918- 12/07/2023 17:35 Willian
CREATE TABLE gestao.tarifafrete
(
  id_tarifafrete serial NOT NULL,
  id_transportador integer NOT NULL,
  tarifa integer NOT NULL,
  dt_ini date NOT NULL,
  dt_fin date NOT NULL,
  peso_ini numeric(15,3) NOT NULL DEFAULT 0,
  peso_fin numeric(15,3) NOT NULL DEFAULT 0,
  vl_pedagio numeric(10,2),
  tp_calc_pedagio smallint NOT NULL DEFAULT 1,
  perc_gris numeric(7,2),
  vl_gris_min numeric(10,2),
  vl_itr numeric(10,2),
  vl_despacho_min numeric(12,2),
  perc_despacho numeric(7,2),
  perc_frete_valor numeric(7,2),
  vl_frete_min numeric(12,2),
  vl_frete_ton numeric(12,2),
  limite_peso numeric(12,3),
  vl_peso_exced numeric(10,3),
  CONSTRAINT pk_tarifafrete PRIMARY KEY (id_tarifafrete),
  CONSTRAINT key_tarifafrete_tarifa UNIQUE (id_transportador, tarifa, dt_ini, dt_fin, peso_ini, peso_fin)
);  
CREATE TABLE gestao.tarifaxmunicip
(
  id_tarifaxmunicip serial NOT NULL,
  id_transportador integer NOT NULL,
  id_municipio integer NOT NULL,
  tarifa integer NOT NULL,
  vl_tda numeric(12,2),
  aliq_icms numeric(7,2),
  aliq_issqn numeric(7,2),
  CONSTRAINT pk_tarifaxmunicip PRIMARY KEY (id_tarifaxmunicip),
  CONSTRAINT fk_tarifaxmunicip_municipio FOREIGN KEY (id_municipio) REFERENCES gestao.municipio (id_municipio),
  CONSTRAINT key_tarifa_municipio UNIQUE(id_transportador, id_municipio)
);  
--RUN--

--SEQ 919- 27/07/2023 15:55 JCS
ALTER TABLE gestao.produto1 ADD COLUMN env_separado_exp smallint;
ALTER TABLE gestao.boleto ADD COLUMN usuario character(12);
--RUN--

--SEQ 920- 02/08/2023 17:53 JCS
CREATE INDEX key_boleto_data_doc ON gestao.boleto (data_doc);
--RUN--

--SEQ 921- 04/08/2023 10:21 WILLIAN
ALTER TABLE gestao.dfe ADD COLUMN especie_docto character(3) NOT NULL DEFAULT 'NFe';
ALTER TABLE gestao.dfeevento ADD COLUMN especie_docto character(3) NOT NULL DEFAULT 'NFe';
--RUN--

--SEQ 922- 15/08/2023 09:45 ALAN
ALTER TABLE gestao.nfdet ALTER COLUMN vl_unit_comercial TYPE numeric(18,6);
--RUN--

--SEQ 923- 16/08/2023 09:19 WILLIAN
ALTER TABLE gestao.dfeevento DROP CONSTRAINT key_nsu_evento;
ALTER TABLE gestao.dfeevento ADD CONSTRAINT key_nsu_evento UNIQUE(nsu, id_empresa, especie_docto);
ALTER TABLE gestao.dfe DROP CONSTRAINT key_nsu;
ALTER TABLE gestao.dfe ADD CONSTRAINT key_nsu UNIQUE(nsu, id_empresa, especie_docto);
--RUN--

--SEQ 924- 17/08/2023 13:56 WILLIAN
ALTER TABLE gestao.nf ADD COLUMN dt_estoque DATE;
--RUN--

--SEQ 925- 22/08/2023 10:22 WILLIAN
ALTER TABLE gestao.proposta ALTER COLUMN prazo_entrega TYPE character(60);
--RUN--

--SEQ 926- 29/08/2023 17:30 ALAN
ALTER TABLE gestao.scd ALTER COLUMN referencia TYPE character(35);
--RUN--

--SEQ 927- 30/08/2023 16:31 JCS
ALTER TABLE gestao.produto ADD CONSTRAINT chk_produto_id_erp CHECK (id_erp>0);
--RUN--

--SEQ 928- 05/09/2023 16:47 JCS
ALTER TABLE gestao.nfdet DROP CONSTRAINT chk_nfdet_gerar_estoque;
ALTER TABLE gestao.nfdet ADD CONSTRAINT chk_nfdet_gerar_estoque CHECK (gerar_estoque IN ('S','N','T','P'));
--RUN--

--SEQ 929- 12/09/2023 14:37 WILLIAN
CREATE TABLE gestao.spedr4010
(
  id_spedr4010 serial NOT NULL,
  id_entrada integer,
  id_entsiscon character(30),
  id_evento character(36) NOT NULL,
  id_estab integer NOT NULL,
  cod_natureza_rend integer NOT NULL,
  data_fg date NOT NULL,
  vl_rend_bruto numeric(15,2) NOT NULL,
  vl_rend_trib numeric(15,2),
  vl_ir numeric(15,2),
  status character(1),
  nr_recibo character(52),
  sit_evento smallint,
  CONSTRAINT pk_spedr4010 PRIMARY KEY (id_spedr4010),
  CONSTRAINT fk_spedr4010_entrada FOREIGN KEY (id_entrada) REFERENCES gestao.entradas (id_entrada)
);
CREATE TABLE gestao.spedr4020
(
  id_spedr4020 serial NOT NULL,
  id_entrada integer,
  id_entsiscon character(30),
  id_evento character(36) NOT NULL,
  id_estab integer NOT NULL,
  cod_natureza_rend integer NOT NULL,
  data_fg date NOT NULL,
  vl_bruto numeric(15,2) NOT NULL,
  vl_bc_ir numeric(15,2),
  vl_ir numeric(15,2),
  vl_bc_agreg numeric(15,2),
  vl_agreg numeric(15,2),
  status character(1),
  nr_recibo character(52),
  sit_evento smallint,
  CONSTRAINT pk_spedr4020 PRIMARY KEY (id_spedr4020),
  CONSTRAINT fk_spedr4020_entrada FOREIGN KEY (id_entrada) REFERENCES gestao.entradas (id_entrada)
);
--RUN--

--SEQ 930- 12/09/2023 16:00 ALAN
ALTER TABLE gestao.nfs ADD COLUMN padrao smallint;
update gestao.nfs set padrao=2;
ALTER TABLE gestao.nfs ALTER COLUMN padrao SET NOT NULL;
ALTER TABLE gestao.nfs DROP CONSTRAINT key_nfs_numero_rps;
ALTER TABLE gestao.nfs ADD CONSTRAINT key_nfs_numero_rps UNIQUE(num_rps, serie_rps, tipo_rps, id_empresa,padrao);
--RUN--

--SEQ 931- 28/09/2023 16:00 JCS
ALTER TABLE gestao.spedf100 ADD COLUMN id_entsiscon character(30);
--RUN--

--SEQ 932- 28/10/2023 20:50 JCS
CREATE MATERIALIZED VIEW gestao.vprod_caracteristica AS SELECT id_empresa,carac1,carac2,carac3,carac4,carac5 FROM gestao.produto GROUP BY id_empresa,carac1,carac2,carac3,carac4,carac5 ORDER BY id_empresa,carac1,carac2,carac3,carac4,carac5;
CREATE MATERIALIZED VIEW gestao.vprod_familia AS SELECT id_empresa,familia FROM gestao.produto WHERE familia>' '  GROUP BY id_empresa,familia ORDER BY id_empresa,familia;
--RUN--

--SEQ 933- 29/10/2023 18:43 JCS
ALTER TABLE gestao.sticms ADD COLUMN perc_icmsst_preco numeric(10,6);
--RUN--

--SEQ 934- 09/11/2023 11:10 JCS
UPDATE gestao.opins SET id_op2=NULL WHERE  id_op2=0;
UPDATE gestao.opins SET unidade=id_opins%10000 WHERE id_op2 IN (
select id_op2 from gestao.opins where id_op2>0 group by  id_op2, id_produto,unidade having count(*)>1
) ;
ALTER TABLE gestao.opins ADD CONSTRAINT key_opins_op2 UNIQUE(id_op2, id_produto,unidade);
--RUN--

--SEQ 935- 09/11/2023 14:17 JCS
ALTER TABLE gestao.estlocal ADD COLUMN exc_merc_revenda smallint NOT NULL DEFAULT 0;
--RUN--

--SEQ 936- 15/11/2023 18:31 JCS
ALTER TABLE gestao.estruturad ADD COLUMN id_estlocal integer;
--RUN--

--SEQ 937- 29/11/2023 09:18 ALAN
ALTER TABLE gestao.produto1 ADD COLUMN descr_garantia character(100);
ALTER TABLE gestao.produto1 ADD COLUMN mes_garantia smallint;
--RUN--

--SEQ 938- 06/12/2023 09:40 JCS
ALTER TABLE gestao.grupo ADD COLUMN agrup_producao character(40) NOT NULL DEFAULT ' ';
ALTER TABLE gestao.capproducao ADD COLUMN valid_diaria smallint NOT NULL DEFAULT 1;
--RUN--

--SEQ 939- 07/12/2023 17:40 WILLIAN
ALTER TABLE gestao.pauta ADD COLUMN taxa_financ numeric(6,2);
ALTER TABLE gestao.pauta ADD COLUMN taxa_adm numeric(6,2);
ALTER TABLE gestao.pauta ADD COLUMN perc_trib numeric(6,2);
--RUN--

--SEQ 940- 13/12/2023 11:40 ALAN
ALTER TABLE gestao.nfs ALTER COLUMN cod_verificacao TYPE character(32);
--RUN--

--SEQ 941- 14/12/2023 14:20 JCS
ALTER TABLE gestao.entradas DROP CONSTRAINT chk_entradas_nf_servicos;
ALTER TABLE gestao.entradas ADD CONSTRAINT chk_entradas_nf_servicos CHECK (nf_servico IN ('N','S','M','O'));
--RUN--

--SEQ 942- 05/01/2024 11:32 ALAN
CREATE TABLE gestao.sitos
(
  id_sitos integer NOT NULL,
  descricao character(30) NOT NULL,
  sigla character(5) NOT NULL,
  ativo smallint NOT NULL,
  CONSTRAINT pk_sitos PRIMARY KEY (id_sitos)
);
ALTER TABLE gestao.os ADD COLUMN num_os_site character(20);
ALTER TABLE gestao.colaborador ADD COLUMN tp_colaborador smallint;
ALTER TABLE gestao.colaborador ADD COLUMN senha character(8);
--RUN--

--SEQ 943- 08/01/2024 19:40 JCS
ALTER TABLE gestao.vendedor ADD COLUMN whatsapp1 character(20);
ALTER TABLE gestao.vendedor ADD COLUMN whatsapp2 character(20);
ALTER TABLE gestao.vendedor ADD COLUMN whatsapp3 character(20);
--RUN--

--SEQ 944- 15/01/2024 10:50 Alan
ALTER TABLE gestao.colaborador ADD COLUMN login_api character(30);
ALTER TABLE gestao.colaborador RENAME senha TO senha_api;
ALTER TABLE gestao.colaborador ALTER COLUMN senha_api TYPE character(12);
ALTER TABLE gestao.os ADD COLUMN hr_agendamento time without time zone;
--RUN--

--SEQ 945- 15/01/2024 17:50 WILLIAN
ALTER TABLE gestao.carga DROP CONSTRAINT chk_carga_situacao;
ALTER TABLE gestao.carga ADD CONSTRAINT chk_carga_situacao CHECK (situacao='P' OR situacao='L' OR situacao='D' OR situacao='B');
ALTER TABLE gestao.nfs ALTER COLUMN aliq_iss TYPE numeric(7,4);
--RUN--

--SEQ 946- 15/02/2024 16:30 ALAN
ALTER TABLE gestao.itemmanutencao ADD COLUMN id_tipo integer;
--RUN--

--SEQ 947- 27/02/2024 09:00 JCS
CREATE TABLE gestao.spedk250
(
  id_spedk250 serial NOT NULL,
  id_empresa integer NOT NULL,
  periodo date NOT NULL,
  doc_op character(30) NOT NULL,
  data date NOT NULL,
  id_produto integer NOT NULL,
  qtd_produzida numeric(15,3) NOT NULL,
  inf_usuario smallint,
  CONSTRAINT pk_spedk250 PRIMARY KEY (id_spedk250),
  CONSTRAINT fk_spedk250_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_spedk250_produto FOREIGN KEY (id_produto)  REFERENCES gestao.produto (id_produto),
  CONSTRAINT key_spedk250_empresa UNIQUE (id_empresa, periodo, doc_op, id_produto),
  CONSTRAINT chk_spedk230_data CHECK (to_char(data, 'MMYYYY') = to_char(periodo, 'MMYYYY'))
);
--RUN--

--SEQ 948- 11/03/2024 15:45 ALAN
ALTER TABLE gestao.os ADD COLUMN id_nf integer;
ALTER TABLE gestao.os ADD COLUMN id_nfs integer;
--RUN--

--SEQ 949- 14/03/2024 16:40 WILLIAN
CREATE TABLE gestao.brincos
(
  id_brinco serial NOT NULL,
  num_brinco character(40) NOT NULL,
  peso_vivo numeric(14,3) NOT NULL,
  peso_abatido numeric(14,3) NOT NULL,
  situacao smallint NOT NULL DEFAULT 1,
  id_entradet integer,
  id_producao integer,
  CONSTRAINT pk_brinco PRIMARY KEY (id_brinco),
  CONSTRAINT fk_brinco_entradet FOREIGN KEY (id_entradet) REFERENCES gestao.entradet (id_entradet)
);
--RUN--

--SEQ 0950-- 18/03/2024 15:15 ALAN
ALTER TABLE gestao.lanctos ALTER complemento TYPE character(120);
--RUN--

--SEQ 0951-- 19/03/2024 11:56 JCS
CREATE TABLE gestao.preconeg (
  id_preconeg SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  data DATE NOT NULL ,
  id_cliente INT NOT NULL ,
  id_formapag INT NULL ,
  id_produto INT NOT NULL ,
  qtd DECIMAL(15,3) NULL ,
  vl_preco_inicial DECIMAL(15,4) NOT NULL ,
  vl_preco_final DECIMAL(15,4) NULL ,
  tx_comissao DECIMAL(7,2) NOT NULL ,
  obs CHAR(100) NULL ,
  num_pedido INT NULL,
  CONSTRAINT pk_preconeg PRIMARY KEY (id_preconeg),
  CONSTRAINT fk_preconeg_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_preconeg_produto FOREIGN KEY (id_produto) REFERENCES gestao.produto (id_produto)
);
--RUN--

--SEQ 0952-- 19/03/2024 14:58 willian
ALTER TABLE gestao.brincos ADD COLUMN id_empresa int NOT NULL;
--RUN--

--SEQ 0953-- 09/04/2024 17:15 jcs
CREATE OR REPLACE VIEW gestao.vitemproduzido AS 
 SELECT produto.id_produto,
    produto.id_empresa,
    produto.id_erp,
    produto.codigo,
    produto.descricao,
    produto.unidade,
    produto.tipo,
    produto.ativo
   FROM gestao.produto
  WHERE produto.tipo IN ('03','04');
--RUN--

--SEQ 0954-- 12/04/2024 17:40 JCS
ALTER TABLE gestao.produto ALTER COLUMN descr_det TYPE character varying(150);
ALTER TABLE gestao.produto ALTER COLUMN utilizacao TYPE character varying(255);
ALTER TABLE gestao.produto ALTER COLUMN referencia TYPE character varying(35);
ALTER TABLE gestao.produto ALTER COLUMN cod_original TYPE character varying(14);  
--RUN--

--SEQ 0955-- 18/04/2024 10:00 willian
ALTER TABLE gestao.brincos ALTER COLUMN num_brinco TYPE integer USING num_brinco::integer;
ALTER TABLE gestao.brincos ADD COLUMN tp_abate smallint;
--RUN--

--SEQ 0956-- 19/04/2024 15:20 Alan
CREATE TABLE gestao.fromanut
(
  id_fromanut serial not null,
  id_empresa integer not null,    
  codigo integer not null,
  descricao character(40) not null,
  CONSTRAINT pk_fromanut PRIMARY KEY (id_fromanut),  
  CONSTRAINT key_fromanut_codigo UNIQUE (id_empresa,codigo),  
  CONSTRAINT fk_fromanut_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa(id_empresa)
);

CREATE TABLE gestao.frolan
(
  id_frolan serial not null,
  id_empresa integer not null,  
  codigo integer not null,    
  cod_veiculo integer not null,
  id_viagem integer not null,
  data date not null,
  km integer not null,
  id_tipo integer not null,
  cod_fromanut integer null,
  id_forne integer not null,
  historico character(40) default '',
  n_doc character(8) default '',
  qtd numeric(12,4),
  vl_unit numeric(15,4),
  valor numeric(15,2),  
  pago_motora smallint,
  rec_motorist smallint,
  id_ctp integer,
  id_ctr integer,
  estoque smallint,
  id_produto integer,
  id_local integer,
  id_carga integer,
  CONSTRAINT pk_frolan PRIMARY KEY (id_frolan),
  CONSTRAINT key_frolan_codigo UNIQUE (id_empresa,codigo),
  CONSTRAINT fk_frolan_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa(id_empresa),
  CONSTRAINT fk_frolan_veiculo FOREIGN KEY (cod_veiculo,id_empresa) REFERENCES gestao.veiculo(codigo,id_empresa),
  CONSTRAINT fk_frolan_ctp     FOREIGN KEY (id_ctp) REFERENCES gestao.ctp(id_ctp),
  CONSTRAINT fk_frolan_carga   FOREIGN KEY (id_carga) REFERENCES gestao.carga(id_carga),
  CONSTRAINT fk_frolan_fromanut FOREIGN KEY (cod_fromanut,id_empresa) REFERENCES gestao.fromanut(codigo,id_empresa)
);
--RUN--

--SEQ 0957-- 25/04/2024 11:20 Alan
CREATE TABLE gestao.froreq
(
  guid character(30) not null,
  id_empresa integer not null,
  numero integer not null,
  data date not null,
  sit smallint not null,
  cod_veiculo integer not null,
  km_veiculo integer not null,
  id_fornecedor integer not null,
  esp_docto character(3) not null default '',
  num_docto integer not null,
  cod_fromanut integer not null,
  descr_servicos character(512),
  desconto numeric(12,2),
  total numeric(12,2),
  obs character(80) default '',
  usuario character(12) not null default '',
  id_viagem integer,
  pago_motora smallint,
  CONSTRAINT pk_froreq PRIMARY KEY (guid),
  CONSTRAINT key_froreq_numero UNIQUE (id_empresa,numero),
  CONSTRAINT fk_froreq_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa(id_empresa),
  CONSTRAINT fk_froreq_veiculo FOREIGN KEY (cod_veiculo,id_empresa) REFERENCES gestao.veiculo(codigo,id_empresa),
  CONSTRAINT fk_frolan_fromanut FOREIGN KEY (cod_fromanut,id_empresa) REFERENCES gestao.fromanut(codigo,id_empresa),
  CONSTRAINT fk_froreq_viagem FOREIGN KEY (id_viagem) REFERENCES gestao.viagem(id_viagem)
);

CREATE TABLE gestao.froreqd
(
  id_froreqd serial not null,
  guid character(30) not null,
  id_produto integer not null,
  descr_produto character(40) default '',
  qtdade numeric(12,3),
  unidade character(3) default '',
  preco_unit numeric(12,4),
  total numeric(12,2),
  CONSTRAINT pk_froreqd PRIMARY KEY (id_froreqd),
  CONSTRAINT fk_froreq_froreqd FOREIGN KEY (guid) REFERENCES gestao.froreq (guid)
);

ALTER TABLE gestao.viagem ADD COLUMN vl_comissao numeric(10,2);
ALTER TABLE gestao.ctp DISABLE TRIGGER all;
update gestao.ctp set guid_vinc=null where guid_vinc='';
ALTER TABLE gestao.ctp ADD CONSTRAINT fk_ctp_froreq FOREIGN KEY (guid_vinc) REFERENCES gestao.froreq(guid);
ALTER TABLE gestao.ctp ENABLE TRIGGER all;
--RUN--

--SEQ 0958-- 29/04/2024 16:22 Alan
UPDATE gestao.produto SET tx_desc_lote=0 WHERE tx_desc_lote IS NULL;
ALTER TABLE gestao.produto ALTER COLUMN tx_desc_lote SET NOT NULL;
--RUN--

--SEQ 0959-- 30/04/2024 17:30 Alan
ALTER TABLE gestao.produto1 ALTER COLUMN descr_invoice TYPE character(150);
--RUN--

--SEQ 0960-- 07/05/2024 09:37 Alan
ALTER TABLE gestao.frolan ALTER COLUMN historico TYPE character(80);
--RUN--

--SEQ 0961-- 24/05/2024 14:20 WILLIAN
ALTER TABLE gestao.portador ADD COLUMN api_client_id character varying(60);
ALTER TABLE gestao.portador ADD COLUMN api_client_secret character varying(60);
ALTER TABLE gestao.portador ADD COLUMN api_cert_crt character varying(200);
ALTER TABLE gestao.portador ADD COLUMN api_cert_key character varying(200);
ALTER TABLE gestao.portador ADD COLUMN api_chave_pix character varying(100);
--RUN--

--SEQ 0962-- 27/05/2024 16:20 ALAN
ALTER TABLE gestao.nf ADD COLUMN id_portaria integer;
CREATE INDEX key_nf_portaria ON gestao.nf USING btree (id_portaria);
ALTER TABLE gestao.portaria ADD COLUMN id_transp integer;
ALTER TABLE gestao.portaria ADD fone character(30);
ALTER TABLE gestao.portaria ADD tag character(30);
ALTER TABLE gestao.portaria ADD nome_acompanhante1 character(30);
ALTER TABLE gestao.portaria ADD nome_acompanhante2 character(30);
ALTER TABLE gestao.portaria ADD nome_acompanhante3 character(30);
ALTER TABLE gestao.portaria ADD hr_chegada time without time zone;
ALTER TABLE gestao.portaria ADD hr_entrada time without time zone;
ALTER TABLE gestao.portaria ADD hr_saida time without time zone;
--RUN--

--SEQ 0963-- 05/06/2024 10:20 WILLIAN
ALTER TABLE gestao.frolan ALTER COLUMN id_viagem DROP NOT NULL;
--RUN--

--SEQ 0964-- 06/06/2024 10:30 WILLIAN
ALTER TABLE gestao.carga ADD COLUMN cod_ajudante integer;
ALTER TABLE gestao.carga ADD COLUMN data_chegada date;
ALTER TABLE gestao.carga ADD COLUMN km_percorrida numeric(12,3);
--RUN--

--SEQ 0965-- 06/06/2024 17:30 JCS
CREATE INDEX key_scd_num_cotacao ON gestao.scd (num_cotacao);
--RUN--

--SEQ 0966-- 16/06/2024 19:30 JCS
ALTER TABLE gestao.entradet ADD COLUMN und_estoque character(6);
ALTER TABLE gestao.entradet ADD COLUMN qtd_estoque numeric(15,3);
--RUN--

--SEQ 0967-- 19/06/2024 19:30 ALAN
ALTER TABLE gestao.frolan ADD CONSTRAINT fk_frolan_viagem FOREIGN KEY (id_viagem) REFERENCES gestao.viagem(id_viagem);
--RUN--

--SEQ 0968-- 26/06/2024 14:30 ALAN
ALTER TABLE gestao.mdfe ADD COLUMN tpemis smallint;
update gestao.mdfe set tpemis=1;
ALTER TABLE gestao.mdfe  ALTER COLUMN tpemis SET NOT NULL;
--RUN--

--SEQ 0969-- 03/07/2024 11:50 WILLIAN
ALTER TABLE gestao.motorista ADD COLUMN id_colaborador integer;
ALTER TABLE gestao.motorista ADD CONSTRAINT fk_motorista_colaborador FOREIGN KEY (id_colaborador) REFERENCES gestao.colaborador(id_colaborador);
ALTER TABLE gestao.veiculo ADD COLUMN vl_veiculo numeric(15,2);
ALTER TABLE gestao.veiculo ADD COLUMN vl_mes_depreciacao numeric(15,2);
ALTER TABLE gestao.veiculo ADD COLUMN periodo1_depreciacao date;
ALTER TABLE gestao.veiculo ADD COLUMN periodo2_depreciacao date;
ALTER TABLE gestao.nfdet ADD COLUMN ind_desc_deson smallint; 
--RUN--

--SEQ 0970-- 18/07/2024 14:55 JCS
CREATE INDEX key_op_localizador ON gestao.op (localizador);
--RUN--

--SEQ 0971-- 26/07/2024 11:11 WILLIAN
CREATE INDEX key_estmovto_lote ON gestao.estmovto (id_lote, id_empresa, tipo, data);
--RUN--

--SEQ 0972-- 29/07/2024 17:09 JCS
ALTER TABLE gestao.carga DROP CONSTRAINT chk_carga_situacao;
ALTER TABLE gestao.carga ADD CONSTRAINT chk_carga_situacao CHECK (situacao  IN ('P','L','D','B','E'));
--RUN--

--SEQ 0973-- 05/08/2024 08:34 JCS
ALTER TABLE gestao.ccc ADD COLUMN cod_situacao smallint; 
--RUN--

--SEQ 0974-- 05/08/2024 08:34 JCS
ALTER TABLE gestao.metavenda ADD COLUMN peso numeric(15,3) NOT NULL DEFAULT 0;
ALTER TABLE gestao.metavenda ADD COLUMN vl_fator numeric(15,4) NOT NULL DEFAULT 0;
--RUN--

--SEQ 0975-- 08/08/2024 11:05 JCS
ALTER TABLE gestao.metavenda DROP CONSTRAINT key_metavenda_cod_vendedor;
CREATE UNIQUE INDEX key_metavenda_cod_vendedor ON gestao.metavenda (id_empresa, mes_ano, cod_vendedor, tipo , COALESCE(cod_grupo,0));
--RUN--

--SEQ 0976-- 20/08/2024 16:45 Alan
ALTER TABLE gestao.ocd ADD COLUMN tx_icms numeric(8,2);
--RUN--

--SEQ 0977-- 22/08/2024 10:15 JCS
ALTER TABLE gestao.carga ADD COLUMN lim_entregas integer;
ALTER TABLE gestao.carga ADD COLUMN lim_valor numeric(15,2);
--RUN--

--SEQ 0978-- 27/08/2024 11:05 JCS
ALTER TABLE gestao.pcpsetor ADD COLUMN sigla character(5);
ALTER TABLE gestao.pcpsetor ADD COLUMN ordem smallint;
UPDATE gestao.pcpsetor set sigla=substring(descricao,1,5),ordem=codigo;
--RUN--

--SEQ 0979-- 27/08/2024 16:30 JCS
CREATE INDEX key_produto_idxfti ON gestao.produto USING gin(idxfti);
--RUN--

--SEQ 0980-- 29/08/2024 11:39 JCS
DROP INDEX gestao.key_metavenda_cod_vendedor;
CREATE UNIQUE INDEX key_metavenda_cod_vendedor ON gestao.metavenda (id_empresa, mes_ano, cod_vendedor, tipo , COALESCE(cod_grupo,0), COALESCE(cod_marca,0));
--RUN--

--SEQ 0981-- 19/09/2024 14:07 Willian
ALTER TABLE gestao.sticms ADD COLUMN cod_benef_rbc character(10);
ALTER TABLE gestao.nfdet ADD COLUMN cod_benef_rbc character(10);
ALTER TABLE gestao.nfdet ADD COLUMN cod_benef_cred_presumido1 character(10);
ALTER TABLE gestao.nfdet ADD COLUMN perc_cred_presumido1 numeric(10,4);
ALTER TABLE gestao.nfdet ADD COLUMN vl_cred_presumido1 numeric(15,2);
--RUN--

--SEQ 0982-- 20/09/2024 17:25 Alan
ALTER TABLE gestao.produto ALTER COLUMN largura TYPE numeric(12,2);
ALTER TABLE gestao.produto ALTER COLUMN altura TYPE numeric(12,2);
--RUN--

--SEQ 0983-- 23/09/2024 14:22 WILLIAN
ALTER TABLE gestao.cargadet ADD COLUMN id_peditem integer;
ALTER TABLE gestao.cargadet DROP CONSTRAINT key_cargadet_carga;
ALTER TABLE gestao.cargadet ADD CONSTRAINT key_cargadet_carga UNIQUE(id_carga, id_produto, unidade, seq, id_pedido, id_peditem);
--RUN--

--SEQ 0984-- 27/09/2024 15:05 JCS
ALTER TABLE gestao.descpromo ADD COLUMN vl_min_pedido numeric(15,2);
--RUN--

--SEQ 0985-- 07/10/2024 16:40 JCS
ALTER TABLE gestao.produto ALTER COLUMN descr_det TYPE character varying(150);
ALTER TABLE gestao.produto ALTER COLUMN utilizacao TYPE character varying(255);	
ALTER TABLE gestao.produto ALTER COLUMN referencia TYPE character varying(35);

--SEQ 0986-- 18/10/2024 09:10 JCS
ALTER TABLE gestao.crmitem ALTER COLUMN descr_prod TYPE character varying(200);
--RUN--

--SEQ 0987-- 08/11/2024 09:12 WILLIAN
ALTER TABLE gestao.portador ALTER COLUMN api_client_id TYPE character varying(200);
ALTER TABLE gestao.portador ALTER COLUMN api_client_secret TYPE character varying(300);
ALTER TABLE gestao.portador ADD COLUMN api_application_key character varying(100);
ALTER TABLE gestao.boleto ADD COLUMN status smallint NOT NULL DEFAULT 1;
ALTER TABLE gestao.boleto ALTER COLUMN status SET DEFAULT 0;
ALTER TABLE gestao.boleto ADD COLUMN pix_emv character varying(500);
ALTER TABLE gestao.boleto ADD COLUMN pix_url character varying(300);
ALTER TABLE gestao.boleto ADD COLUMN pix_txid character varying(200);
ALTER TABLE gestao.boleto ADD COLUMN dias_protesto integer;
ALTER TABLE gestao.boleto ADD COLUMN tp_protesto smallint;
ALTER TABLE gestao.boleto ADD COLUMN dias_negativacao integer;
ALTER TABLE gestao.boleto ADD COLUMN tp_negativacao smallint;
ALTER TABLE gestao.boleto ADD COLUMN tp_multa smallint;
ALTER TABLE gestao.boleto ADD COLUMN vl_multa numeric(10,2);
ALTER TABLE gestao.boleto ADD COLUMN dias_multa integer;
ALTER TABLE gestao.boleto ADD COLUMN tp_juro smallint;
ALTER TABLE gestao.boleto ADD COLUMN vl_juro numeric(10,2);
ALTER TABLE gestao.boleto ADD COLUMN dias_juro integer;
ALTER TABLE gestao.boleto ADD COLUMN tp_desconto smallint;
ALTER TABLE gestao.boleto ADD COLUMN vl_desconto numeric(10,2);
ALTER TABLE gestao.boleto ADD COLUMN dt_desconto date;
ALTER TABLE gestao.boleto ADD COLUMN dias_baixa integer;

ALTER TABLE gestao.boleto ALTER COLUMN instrucao DROP NOT NULL;
--RUN--

--SEQ 0988-- 14/11/2024 09:45 ALAN
ALTER TABLE gestao.detnatureza ADD CONSTRAINT fk_detnatureza_natureza FOREIGN KEY (id_natureza) REFERENCES gestao.natureza (id_natureza) NOT VALID;
ALTER TABLE gestao.lanctos ADD CONSTRAINT fk_lanctos_natureza FOREIGN KEY (id_natureza) REFERENCES gestao.natureza (id_natureza) NOT VALID;
--RUN--

--SEQ 0989-- 05/12/2024 08:15 JCS
DROP INDEX gestao.key_metavenda_cod_vendedor;
CREATE UNIQUE INDEX key_metavenda_cod_vendedor ON gestao.metavenda (id_empresa, mes_ano, cod_vendedor, tipo , COALESCE(cod_grupo,0), COALESCE(cod_subgrupo,0), COALESCE(cod_marca,0));
--RUN--

--SEQ 0990-- 19/12/2024 17:57 JCS
ALTER TABLE gestao.estruturad ADD COLUMN req_auto smallint NOT NULL DEFAULT 1;
--RUN--

--SEQ 0991-- 24/12/2024 14:15 ALAN
CREATE TABLE gestao.bkp_carac
(
  id_produto integer not null,
  carac1 character varying(30),
  carac2 character varying(30),
  carac3 character varying(30),
  carac4 character varying(30),
  carac5 character varying(30)
);
INSERT INTO gestao.bkp_carac(id_produto, carac1, carac2, carac3, carac4, carac5) (select id_produto, carac1, carac2, carac3, carac4, carac5 from gestao.produto where carac1<>'' or carac2 <>'' or carac3<>'' or carac4<>'' or carac5<>'');
INSERT INTO gestao.produto1(id_produto) (select a.id_produto from gestao.produto as a left outer join gestao.produto1 as b on(b.id_produto=a.id_produto) where (a.carac1<>'' or a.carac2 <>'' or a.carac3<>'' or a.carac4<>'' or a.carac5<>'') and b.id_produto is null);
ALTER TABLE gestao.produto1 ADD COLUMN carac1 character varying(70);
ALTER TABLE gestao.produto1 ADD COLUMN carac2 character varying(70);
ALTER TABLE gestao.produto1 ADD COLUMN carac3 character varying(70);
ALTER TABLE gestao.produto1 ADD COLUMN carac4 character varying(70);
ALTER TABLE gestao.produto1 ADD COLUMN carac5 character varying(70);
ALTER TABLE gestao.produto1 ADD COLUMN carac6 character varying(70);
UPDATE gestao.produto1 set carac1=(select carac1 from gestao.produto where id_produto=gestao.produto1.id_produto);
UPDATE gestao.produto1 set carac2=(select carac2 from gestao.produto where id_produto=gestao.produto1.id_produto);
UPDATE gestao.produto1 set carac3=(select carac3 from gestao.produto where id_produto=gestao.produto1.id_produto);
UPDATE gestao.produto1 set carac4=(select carac4 from gestao.produto where id_produto=gestao.produto1.id_produto);
UPDATE gestao.produto1 set carac5=(select carac5 from gestao.produto where id_produto=gestao.produto1.id_produto);
--RUN--

--SEQ 0992-- 26/12/2024 09:10 ALAN
DROP MATERIALIZED VIEW gestao.vprod_carac1;
DROP MATERIALIZED VIEW gestao.vprod_carac2;
DROP MATERIALIZED VIEW gestao.vprod_carac3;
DROP MATERIALIZED VIEW gestao.vprod_carac4;
DROP MATERIALIZED VIEW gestao.vprod_carac5;
DROP MATERIALIZED VIEW gestao.vprod_caracteristica;
ALTER TABLE gestao.produto DROP COLUMN carac1;
ALTER TABLE gestao.produto DROP COLUMN carac2;
ALTER TABLE gestao.produto DROP COLUMN carac3;
ALTER TABLE gestao.produto DROP COLUMN carac4;
ALTER TABLE gestao.produto DROP COLUMN carac5;
CREATE MATERIALIZED VIEW gestao.vprod_caracteristica AS SELECT b.id_empresa,a.carac1,a.carac2,a.carac3,a.carac4,a.carac5,a.carac6 FROM gestao.produto1 as a left outer join gestao.produto as b on(b.id_produto=a.id_produto) GROUP BY b.id_empresa,a.carac1,a.carac2,a.carac3,a.carac4,a.carac5,a.carac6 ORDER BY b.id_empresa,a.carac1,a.carac2,a.carac3,a.carac4,a.carac5,a.carac6;
CREATE MATERIALIZED VIEW gestao.vprod_carac1 AS SELECT produto.id_empresa,produto1.carac1 FROM gestao.produto left outer join gestao.produto1 on(produto1.id_produto=produto.id_produto) WHERE produto1.carac1::text > ' '::text GROUP BY produto.id_empresa, produto1.carac1 ORDER BY produto.id_empresa, produto1.carac1 WITH DATA;
CREATE MATERIALIZED VIEW gestao.vprod_carac2 AS SELECT produto.id_empresa,produto1.carac2 FROM gestao.produto left outer join gestao.produto1 on(produto1.id_produto=produto.id_produto) WHERE produto1.carac2::text > ' '::text GROUP BY produto.id_empresa, produto1.carac2 ORDER BY produto.id_empresa, produto1.carac2 WITH DATA;
CREATE MATERIALIZED VIEW gestao.vprod_carac3 AS SELECT produto.id_empresa,produto1.carac3 FROM gestao.produto left outer join gestao.produto1 on(produto1.id_produto=produto.id_produto) WHERE produto1.carac3::text > ' '::text GROUP BY produto.id_empresa, produto1.carac3 ORDER BY produto.id_empresa, produto1.carac3 WITH DATA;
CREATE MATERIALIZED VIEW gestao.vprod_carac4 AS SELECT produto.id_empresa,produto1.carac4 FROM gestao.produto left outer join gestao.produto1 on(produto1.id_produto=produto.id_produto) WHERE produto1.carac4::text > ' '::text GROUP BY produto.id_empresa, produto1.carac4 ORDER BY produto.id_empresa, produto1.carac4 WITH DATA;
CREATE MATERIALIZED VIEW gestao.vprod_carac5 AS SELECT produto.id_empresa,produto1.carac5 FROM gestao.produto left outer join gestao.produto1 on(produto1.id_produto=produto.id_produto) WHERE produto1.carac5::text > ' '::text GROUP BY produto.id_empresa, produto1.carac5 ORDER BY produto.id_empresa, produto1.carac5 WITH DATA;
CREATE MATERIALIZED VIEW gestao.vprod_carac6 AS SELECT produto.id_empresa,produto1.carac6 FROM gestao.produto left outer join gestao.produto1 on(produto1.id_produto=produto.id_produto) WHERE produto1.carac6::text > ' '::text GROUP BY produto.id_empresa, produto1.carac6 ORDER BY produto.id_empresa, produto1.carac6 WITH DATA;
--RUN--

--SEQ 0993-- 26/12/2024 09:10 ALAN
ALTER TABLE gestao.sticms ADD COLUMN cod_benef_cred_presumido character(10);
ALTER TABLE gestao.sticms ADD COLUMN tp_calc_cred_presumido smallint;
--RUN--

--SEQ 0994-- 04/02/2025 15:33 JCS
CREATE INDEX key_produto_id_prodvinc ON gestao.produto (id_prodvinc,id_empresa);
--RUN--

--SEQ 0995-- 04/02/2025 15:33 JCS
CREATE OR REPLACE VIEW gestao.vsaldo_oc AS 
 SELECT b.id_empresa,
    a.id_produto,
    sum(a.qtd_comprada - a.qtd_recebida - a.qtd_cancelada) AS qtd_saldo_oc,
    a.und,
    min(a.data_prev_entrega) AS data_prev_entrega,
    STRING_AGG(b.numero::text, ' ') as num_oc
   FROM gestao.ocd a
     LEFT JOIN gestao.oc b ON a.id_oc = b.id_oc
  WHERE a.id_produto > 0 AND (b.ja_recebido <> ALL (ARRAY[1, 2])) AND NOT (a.situacao = ANY (ARRAY['R'::bpchar, 'C'::bpchar]))
  GROUP BY b.id_empresa, a.id_produto, a.und;
--RUN--

--SEQ 0996-- 13/02/2025 14:30 Willian
ALTER TABLE gestao.entradet ADD COLUMN ind_desc_deson smallint;
ALTER TABLE gestao.uen ADD COLUMN margem_min_semaforo numeric(10,2);
ALTER TABLE gestao.uen ADD COLUMN margem_des_semaforo numeric(10,2);
--RUN--

--SEQ 0997-- 19/02/2025 16:55 Alan
ALTER TABLE gestao.natureza ALTER COLUMN carac DROP NOT NULL;
update gestao.natureza set carac=null where carac='';
ALTER TABLE gestao.natureza ADD CONSTRAINT key_natureza_carac UNIQUE(id_empresa,carac);
--RUN--

--SEQ 0998-- 06/03/2025 14:26 WILLIAN
ALTER TABLE gestao.tarifafrete ALTER COLUMN perc_frete_valor TYPE numeric(10,4);
ALTER TABLE gestao.tarifafrete ADD COLUMN tp_calc_frete smallint NOT NULL DEFAULT 1;
ALTER TABLE gestao.tarifafrete ADD COLUMN limite_peso_pedagio numeric(12,3);
ALTER TABLE gestao.tarifafrete ADD COLUMN vl_pedagio_ton numeric(12,2);
ALTER TABLE gestao.tarifafrete ADD COLUMN comprimento_prod_tarifado numeric(12,3);
ALTER TABLE gestao.tarifafrete ADD COLUMN vl_tarifa_comprimento numeric(12,2);
--RUN--

--SEQ 0999-- 10/03/2025 14:00 ALAN
CREATE TABLE gestao.tes
(
  id_tes integer NOT NULL,
  id_empresa integer NOT NULL,
  codigo integer NOT NULL,
  ativo smallint NOT NULL,
  tipo character(1) NOT NULL,
  descr character(100) NOT NULL,
  cfop_dentro integer NOT NULL,
  cfop_fora integer NOT NULL,
  calc_icms smallint NOT NULL,
  calc_ipi smallint NOT NULL,
  calc_pis_cofins smallint NOT NULL,
  desc_icms numeric(6,2) NOT NULL,
  descr_desc_icms character(50) NOT NULL,
  gerar_ctr smallint NOT NULL,
  atual_estoque smallint NOT NULL,
  cred_icms smallint NOT NULL,
  cred_ipi smallint NOT NULL,
  texto_padrao character(20) NOT NULL,
  poder_terc character(1) NOT NULL,
  soma_ipi smallint NOT NULL,
  calc_ipi_frete smallint NOT NULL,
  calc_ipi_da smallint NOT NULL,
  vincular_docto smallint NOT NULL,
  baixar_ctr smallint NOT NULL,
  id_natureza integer NOT NULL,
  operacional smallint NOT NULL,
  integrar_sar smallint NOT NULL,
  lancar_icms smallint NOT NULL,
  lancar_ipi smallint NOT NULL,
  conta_deb_ctb character(30) NOT NULL,
  hist_deb_ctb character(30) NOT NULL,
  conta_cre_ctb character(30) NOT NULL,
  hist_cre_ctb character(30) NOT NULL,
  cod_exp_fiscal_av1 character(10),
  cod_exp_fiscal_ap1 character(10),
  cod_exp_fiscal_av2 character(10),
  cod_exp_fiscal_ap2 character(10),
  prefixo_ctr character(3) NOT NULL,
  gera_prod_fiscal smallint NOT NULL,
  flag_faturamento smallint NOT NULL,
  flag_valor_contabil smallint NOT NULL,
  flag_ativo_permanente smallint NOT NULL,
  flag_compras smallint NOT NULL,
  flag_fat_servicos smallint NOT NULL,
  flag_cons_trib_icms smallint NOT NULL,
  gera_lancto_contabil character(1) NOT NULL DEFAULT 'S'::bpchar,
  gera_lancto_fiscal character(1) NOT NULL DEFAULT 'S'::bpchar,
  desc_pis_cofins numeric(6,2),
  descr_desc_pis_cofins character(50),
  natureza character(1) DEFAULT 'N'::bpchar,
  cod_ccusto integer,
  nat_op character(60),
  linha_dacon character(2),
  lancar_ctp smallint DEFAULT 1,
  gera_estoque_fiscal smallint,
  data_cadastro date,
  gera_deb_especial smallint,
  cod_aj character(10),
  descricao_aj character(100),
  cst_ipi character(2),
  cst_pis integer,
  cst_cofins integer,
  cod_mensagemnf1 integer,
  cod_mensagemnf2 integer,
  fat_qtd_pecas smallint,
  nat_bc_credito character(2),
  ind_orig_cred character(1),
  ind_nat_frt character(1),
  cred_icms_lib_dcip smallint,
  flag_soma_saidas_ciap smallint NOT NULL DEFAULT 1,
  cod_cred character(3),
  ind_cred_ori smallint NOT NULL DEFAULT 0,
  nat_receita character(3),
  id_st integer,
  cod_conta_icms_deb integer,
  irrf_retido smallint,
  tes_valida_cons_final smallint,
  tp_atividade_dime integer,
  desc_cofins numeric(7,2),
  cod_mot_deson smallint,
  cod_ic_deson integer,
  usar_st_exclusiva smallint,
  codigo_enq_ipi character(3),
  id_estlocal_trx integer,
  exigir_oc smallint,
  ind_incfiscal smallint NOT NULL DEFAULT 0,
  calc_difal_entrada smallint,
  ignorar_val_cfop_uf smallint,
  cod_infcomp integer,
  tipo_infcomp character(1),
  classificacao character(30),
  emite_cf smallint NOT NULL DEFAULT 1,
  reajusta_custo_reposicao smallint NOT NULL DEFAULT 1,
  cod_base_cred character(2),
  cst_icms_ent character(3),
  cst_ipi_ent character(2),
  cst_pis_ent character(2),
  cst_cofins_ent character(2),
  nat_rec_pis_cofins character(4),
  est_vendedor character(1),
  usar_bacao smallint NOT NULL,
  tipo_sar smallint,
  obs1_nf character(80),
  obs2_nf character(80),
  id_cst integer NOT NULL, --TES NO SISCON
  tce smallint NOT NULL,
  gerar_comissao smallint NOT NULL,
  tipo_correntista integer NOT NULL,
  descr_compl character varying(999),
  CONSTRAINT pk_tes PRIMARY KEY (id_tes),
  CONSTRAINT fk_tes_empresa FOREIGN KEY (id_empresa)
      REFERENCES gestao.empresa (id_empresa) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT key_tes_codigo UNIQUE (id_empresa, codigo),
  CONSTRAINT chk_tes_gera_lancto_contabil CHECK (gera_lancto_contabil = ANY (ARRAY['S'::bpchar, 'N'::bpchar, 'T'::bpchar, 'A'::bpchar])),
  CONSTRAINT chk_tes_gera_lancto_fiscal CHECK (gera_lancto_fiscal = 'S'::bpchar OR gera_lancto_fiscal = 'N'::bpchar),
  CONSTRAINT chk_tes_tipo CHECK (tipo = 'E'::bpchar OR tipo = 'S'::bpchar)
)
--RUN--

--SEQ 1000-- 20/03/2025 09:55 WILLIAN
ALTER TABLE gestao.tarifafrete ALTER COLUMN vl_peso_exced TYPE numeric(12,6);
--RUN--

--SEQ 1001-- 21/03/2025 15:00 ALAN
ALTER TABLE gestao.tes DROP COLUMN cod_base_cred;
ALTER TABLE gestao.tes DROP COLUMN nat_rec_pis_cofins;
--RUN--

--SEQ 1002-- 03/04/2025 09:45 ALAN
ALTER TABLE IF EXISTS gestao.itemdocto DROP CONSTRAINT IF EXISTS fk_itemdocto_tessiscon;
ALTER TABLE IF EXISTS gestao.itemdocto ADD CONSTRAINT fk_itemdocto_tessiscon FOREIGN KEY (id_tessiscon) REFERENCES gestao.tes (id_tes);
--RUN--

--SEQ 1003-- 11/04/2025 11:04 JCS
ALTER TABLE gestao.produto ADD CONSTRAINT chk_produto_id_prodvinc1 CHECK (id_prodvinc IN (id_erp,0) OR id_erp>900000) NOT VALID;
ALTER TABLE gestao.produto ADD CONSTRAINT chk_produto_id_prodvinc2 CHECK (id_prodvinc NOT IN (id_erp,0) OR id_erp<900000) NOT VALID;
--RUN--

--SEQ 1004-- 14/04/2025 15:10 ALAN
CREATE TABLE gestao.prodretorno
(
  id_prodretorno serial NOT NULL,
  id_empresa integer NOT NULL,
  numero integer NOT NULL,
  data date NOT NULL,
  hora time without time zone NOT NULL,
  turno smallint NOT NULL,
  numero_op integer,
  cod_operador character(10) NOT NULL,
  cod_maquina character(10) NOT NULL,
  cod_tpretorno character(10) NOT NULL,
  peso_bruto numeric(12,3) NOT NULL,
  tara numeric(12,3) NOT NULL,
  peso_liquido numeric(12,3) NOT NULL,
  pesagem_fim_bobina character(1) NOT NULL,
  id_produto integer,
  CONSTRAINT pk_prodretorno PRIMARY KEY (id_prodretorno),
  CONSTRAINT fk_prodretorno_empresa FOREIGN KEY (id_empresa)
      REFERENCES gestao.empresa (id_empresa) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT fk_prodretorno_pcpmaq1 FOREIGN KEY (id_empresa, cod_maquina)
      REFERENCES gestao.pcpmaq (id_empresa, codigo) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT key_prodretorno_numero UNIQUE (id_empresa, numero),
  CONSTRAINT chk_prodretorno_pesagem_fim_bobina CHECK (pesagem_fim_bobina = ANY (ARRAY['S'::bpchar, 'N'::bpchar])),
  CONSTRAINT chk_prodretorno_peso_liquido CHECK (peso_liquido > 0::numeric)
);

CREATE INDEX key_prodretorno_numero_op ON gestao.prodretorno USING btree(id_empresa, numero_op);
--RUN--

--SEQ 1005-- 21/04/2025 09:00 JCS
ALTER TABLE gestao.carga ADD COLUMN id_mun_carreg integer;
--RUN--

--SEQ 1006-- 22/04/2025 09:45 JCS
CREATE OR REPLACE VIEW gestao.vsaldo_oc AS 
 SELECT b.id_empresa,
    a.id_produto,
    sum(a.qtd_comprada - a.qtd_recebida - a.qtd_cancelada) AS qtd_saldo_oc,
    a.und,
    min(a.data_prev_entrega) AS data_prev_entrega,
    STRING_AGG(b.numero::text, ' ') as num_oc
   FROM gestao.ocd a
     LEFT JOIN gestao.oc b ON a.id_oc = b.id_oc
  WHERE a.id_produto > 0 AND (b.oc_recebida <> ALL (ARRAY[1, 2])) AND NOT (a.situacao = ANY (ARRAY['R'::bpchar, 'C'::bpchar]))
  GROUP BY b.id_empresa, a.id_produto, a.und;
--RUN--

--SEQ 1007-- 12/05/2025 16:30 ALAN
ALTER TABLE gestao.ctc ADD CONSTRAINT key_ctc_chave UNIQUE(chave_acesso);
--RUN--

--SEQ 1008-- 10/06/2025 13:30 ALAN
ALTER TABLE gestao.produto1 ADD COLUMN var_qtd_oc numeric(5,2);
--RUN--

--SEQ 1009-- 26/06/2025 13:563 JCS
ALTER TABLE gestao.proposta ALTER COLUMN obs TYPE character varying(1024);
--RUN--

--SEQ 1010-- 04/07/2025 15:04 WILLIAN
ALTER TABLE gestao.nf ALTER COLUMN num_protocolo TYPE NUMERIC(17);
--RUN--

--SEQ 1011-- 10/07/2025 16:19 JCS
ALTER TABLE gestao.capproducao ADD COLUMN tempo_prod_prev integer NOT NULL DEFAULT 0;
--RUN--

--SEQ 1012-- 28/07/2025 16:30 ALAN
ALTER TABLE gestao.produto DISABLE TRIGGER ALL;
update gestao.produto set id_produto_grade=null where id_produto_grade=0;
ALTER TABLE gestao.produto ENABLE TRIGGER ALL;
ALTER TABLE gestao.produto ADD CONSTRAINT fk_produto_grade FOREIGN KEY (id_empresa, id_produto_grade) REFERENCES gestao.produto (id_empresa, id_erp);
--RUN--

--SEQ 1013-- 30/07/2025 17:20 ALAN
ALTER TABLE gestao.osdet  ALTER COLUMN vl_unit TYPE numeric(15,4);
--RUN--

--SEQ 1014-- 11/08/2025 15:20 WILLIAN
ALTER TABLE gestao.crmoco ADD COLUMN cod_motorista integer;
ALTER TABLE gestao.crmoco ADD COLUMN cod_setor integer;
--RUN--

--SEQ 1015-- 13/08/2025 15:20 JCS
CREATE TABLE gestao.contato (
  id_contato SERIAL NOT NULL ,
  id_empresa INT NOT NULL,
  id_entidade CHAR(20) NOT NULL ,
  id_chatwoot INT NULL ,
  nome CHAR(100) NOT NULL ,
  empresa CHAR(100) NULL ,
  cargo CHAR(100) NULL ,
  departamento CHAR(100) NULL ,
  dt_aniversario DATE NULL ,
  telefone CHAR(20) NULL ,
  ramal CHAR(10) NULL ,
  celular CHAR(20) NULL ,
  whatsapp CHAR(20) NULL ,
  email CHAR(150) NULL ,
  ativo SMALLINT NULL ,
  anotacoes TEXT,
  CONSTRAINT pk_contato PRIMARY KEY (id_contato),
  CONSTRAINT fk_contato_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa)
);

CREATE TABLE gestao.notificacao (
  id_notificacao SERIAL NOT NULL ,
  id_contato INT NOT NULL ,
  tipo CHAR(20) NOT NULL ,
  canal CHAR(20) NOT NULL,
  CONSTRAINT pk_cnotificacao PRIMARY KEY (id_notificacao),
  CONSTRAINT fk_notificacao_contato FOREIGN KEY (id_contato) REFERENCES gestao.contato (id_contato),
  CONSTRAINT key_notificacao_ontato UNIQUE (id_contato, tipo, canal)
  );
--RUN--

--SEQ 1016-- 14/08/2025 15:30 ALAN
ALTER TABLE gestao.mdfedet DROP CONSTRAINT fk_mdfedoc_mdfe;
ALTER TABLE gestao.mdfedet ADD CONSTRAINT fk_mdfedet_mdfe FOREIGN KEY (id_mdfe) REFERENCES gestao.mdfe (id_mdfe);
--RUN--

--SEQ 1017-- 15/08/2025 08:55 WILLIAN
ALTER TABLE gestao.crmoco DROP CONSTRAINT chk_crmoco_gera_saldo;
ALTER TABLE gestao.crmoco ADD CONSTRAINT chk_crmoco_gera_saldo CHECK (gera_saldo = ANY (ARRAY['N'::bpchar, 'D'::bpchar, 'C'::bpchar, 'A'::bpchar]));
--RUN--

--SEQ 1018-- 25/08/2025 15:20 JCS
CREATE TABLE gestao.tribrtc (
    id_tribrtc SERIAL,
    id_nfdet INT,
    id_ctc INT,
    id_peditem INT,
    id_entradet INT,
    
    -- Imposto Seletivo
    cst_is VARCHAR(3),
    class_trib_is VARCHAR(6),
    v_bc_is NUMERIC(15, 2),
    p_is NUMERIC(7, 4),
    p_is_especifica NUMERIC(7, 4),
    u_trib VARCHAR(6),
    q_trib NUMERIC(15, 4),
    v_is NUMERIC(15, 2),

    -- IBS / CBS (comum)
    cst_ibscbs VARCHAR(3),
    class_trib_ibscbs VARCHAR(6),
    v_bc_ibscbs NUMERIC(15, 2),

    -- IBS - UF
    p_ibs_uf NUMERIC(7, 4),
    p_dif_uf NUMERIC(7, 4),
    v_dif_uf NUMERIC(15, 2),
    v_dev_trib_uf NUMERIC(15, 2),
    p_red_aliq_uf NUMERIC(7, 4),
    p_aliq_efet_uf NUMERIC(7, 4),
    v_ibs_uf NUMERIC(15, 2),

    -- IBS - Município
    p_ibs_mun NUMERIC(7, 4),
    p_dif_mun NUMERIC(7, 4),
    v_dif_mun NUMERIC(15, 2),
    v_dev_trib_mun NUMERIC(15, 2),
    p_red_aliq_mun NUMERIC(7, 4),
    p_aliq_efet_mun NUMERIC(7, 4),
    v_ibs_mun NUMERIC(15, 2),

    -- IBS - Soma UF + Município
    v_ibs NUMERIC(15, 2),

    -- CBS
    p_cbs NUMERIC(7, 4),
    p_dif_cbs NUMERIC(7, 4),
    v_dif_cbs NUMERIC(15, 2),
    v_dev_trib_cbs NUMERIC(15, 2),
    p_red_aliq_cbs NUMERIC(7, 4),
    p_aliq_efet_cbs NUMERIC(7, 4),
    v_cbs NUMERIC(15, 2),
    cst_reg_cbs VARCHAR(3),
    class_trib_reg_cbs VARCHAR(6),
    p_aliq_efet_reg_ibs_uf NUMERIC(7, 4),
    v_trib_reg_ibs_uf NUMERIC(15, 2),
    p_aliq_efet_reg_ibs_mun NUMERIC(7, 4),
    v_trib_reg_ibs_mun NUMERIC(15, 2),
    p_aliq_efet_reg_cbs NUMERIC(7, 4),
    v_trib_reg_cbs NUMERIC(15, 2),

    -- Crédito presumido IBS
    c_cred_pres_ibs VARCHAR(2),
    p_cred_pres_ibs NUMERIC(7, 4),
    v_cred_pres_ibs NUMERIC(15, 2),
    v_cred_pres_cond_sus_ibs NUMERIC(15, 2),

    -- Crédito presumido CBS
    c_cred_pres_cbs VARCHAR(2),
    p_cred_pres_cbs NUMERIC(7, 4),
    v_cred_pres_cbs NUMERIC(15, 2),
    v_cred_pres_cond_sus_cbs NUMERIC(15, 2),

    -- Compra Governamental
    p_ibs_uf_cg NUMERIC(7, 4),
    v_ibs_uf_cg NUMERIC(15, 2),
    p_ibs_mun_cg NUMERIC(7, 4),
    v_ibs_mun_cg NUMERIC(15, 2),
    p_cbs_cg NUMERIC(7, 4),
    v_cbs_cb NUMERIC(15, 2),

    -- Monofásico
    q_bc_mono NUMERIC(15, 4),
    ad_rem_ibs NUMERIC(7, 4),
    ad_rem_cbs NUMERIC(7, 4),
    v_ibs_mono NUMERIC(15, 2),
    v_cbs_mono NUMERIC(15, 2),

    -- Monofásico - Retenção
    q_bc_mono_reten NUMERIC(15, 4),
    ad_rem_ibs_reten NUMERIC(7, 4),
    v_ibs_mono_reten NUMERIC(15, 2),
    ad_rem_cbs_reten NUMERIC(7, 4),
    v_cbs_mono_reten NUMERIC(15, 2),

    -- Monofásico - Cobrada Anteriormente
    q_bc_mono_ret NUMERIC(15, 4),
    ad_rem_ibs_ret NUMERIC(7, 4),
    v_ibs_mono_ret NUMERIC(15, 2),
    ad_rem_cbs_ret NUMERIC(7, 4),
    v_cbs_mono_ret NUMERIC(15, 2),

    -- Monofásico - Diferido
    p_dif_ibs_mono NUMERIC(7, 4),
    v_ibs_mono_dif NUMERIC(15, 2),
    p_dif_cbs_mono NUMERIC(7, 4),
    v_cbs_mono_dif NUMERIC(15, 2),

    -- Totais Monofásicos por item
    v_tot_ibs_mono NUMERIC(15, 2),
    v_tot_cbs_mono NUMERIC(15, 2),

    -- Transferência de Crédito
    v_ibs_transf NUMERIC(15, 2),
    v_cbs_transf NUMERIC(15, 2),

    -- ZFM
    tp_cred_pres_zfm CHAR(1),
    v_cred_pres_zfm NUMERIC(15, 2),

    CONSTRAINT pk_tribrtc PRIMARY KEY (id_tribrtc),
    CONSTRAINT fk_tribrtc_nfdet FOREIGN KEY (id_nfdet)  REFERENCES gestao.nfdet (id_nfdet),
    CONSTRAINT fk_tribrtc_ctc FOREIGN KEY (id_ctc)  REFERENCES gestao.ctc (id_ctc),
    CONSTRAINT fk_tribrtc_entradet FOREIGN KEY (id_entradet)  REFERENCES gestao.entradet (id_entradet),
    CONSTRAINT key_tribrtc_id_nfdet UNIQUE (id_nfdet),
    CONSTRAINT key_tribrtc_id_ctc UNIQUE (id_ctc),
    CONSTRAINT key_tribrtc_id_peditem UNIQUE (id_peditem),
    CONSTRAINT key_tribrtc_id_entradet UNIQUE (id_entradet),
    CONSTRAINT chk_tribrtc_fk_one CHECK (((CASE WHEN id_nfdet IS NULL THEN 0 ELSE 1 END)+(CASE WHEN id_ctc IS NULL THEN 0 ELSE 1 END)+(CASE WHEN id_peditem IS NULL THEN 0 ELSE 1 END)+(CASE WHEN id_entradet IS NULL THEN 0 ELSE 1 END))=1)
);
--RUN--

--SEQ 1019-- 01/09/2025 16:40 Willian
ALTER TABLE gestao.crmitem ADD COLUMN motivo character(40) DEFAULT ' ';
--RUN--

--SEQ 1020-- 10/09/2025 14:00 Alan
CREATE TABLE gestao.dda(
  id_dda SERIAL NOT NULL,
  id_empresa integer NOT NULL,  
  data date NOT NULL,
  situacao character(1) NOT NULL,
  id_ctp integer,    
  cod_barras character(44) NOT NULL,
  nr_doc character(15) NOT NULL,
  emiss date NOT NULL,
  vecto date NOT NULL,
  valor	numeric(12,2) NOT NULL,
  cnpj_cpf_cedente character(18),
  nome_cedente character(40),
  cnpj_cpf_sac_aval character(18),
  nome_sac_aval character(40),
  obs character(255),
  CONSTRAINT pk_id_dda PRIMARY KEY (id_dda),
  CONSTRAINT fk_dda_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_dda_ctp FOREIGN KEY (id_ctp) REFERENCES gestao.ctp (id_ctp),
  CONSTRAINT key_dda_cod_barras UNIQUE (cod_barras),
  CONSTRAINT chk_dda_situacao CHECK (situacao in('V','B') and id_ctp is not null or situacao in('P','C') and id_ctp is null)
  );
--RUN--

--SEQ 1021-- 17/09/2025 09:00 Alan
CREATE TABLE gestao.turno
(
  id_turno integer NOT NULL,
  id_empresa integer NOT NULL,
  descricao character(40),
  hr1 time without time zone,
  hr2 time without time zone,
  CONSTRAINT pk_turno PRIMARY KEY (id_turno),
  CONSTRAINT fk_turno_empresa FOREIGN KEY (id_empresa) REFERENCES gestao.empresa (id_empresa)
)
--RUN--

--SEQ 1022-- 18/09/2025 09:00 WILLIAN
ALTER TABLE gestao.ctc ALTER nat_carga TYPE character(60);
--RUN--

--SEQ 1023-- 18/09/2025 18:00 JCS
CREATE INDEX key_carga_tp_veic_frete ON gestao.carga (tp_veic_frete);
--RUN--

--SEQ 1024-- 24/09/2025 15:20 JCS
ALTER TABLE gestao.pagtos ADD COLUMN id_recbto integer;
--RUN--

--SEQ 1025-- 03/10/2025 08:20 WILLIAN
CREATE INDEX key_chave_dfe ON gestao.fretepag (id_empresa, chave_dfe);
--RUN--

--SEQ 1026-- 07/10/2025 10:15 Alan
ALTER TABLE gestao.mdfe ADD COLUMN id_resp_pag integer;
ALTER TABLE gestao.mdfe ADD COLUMN pedagio numeric(12,2);
ALTER TABLE gestao.mdfe ADD COLUMN taxas numeric(12,2);
ALTER TABLE gestao.mdfe ADD COLUMN despesas numeric(12,2);
ALTER TABLE gestao.mdfe ADD COLUMN frete_valor numeric(12,2);
ALTER TABLE gestao.mdfe ADD COLUMN outros numeric(12,2);
ALTER TABLE gestao.mdfe ADD COLUMN descr_despesas character(60);
ALTER TABLE gestao.mdfe ADD COLUMN vl_contrato numeric(12,2);
ALTER TABLE gestao.mdfe ADD COLUMN indaltodesemp smallint;
ALTER TABLE gestao.mdfe ADD COLUMN indpag smallint;
ALTER TABLE gestao.mdfe ADD COLUMN vl_adiantamento numeric(12,2);
ALTER TABLE gestao.mdfe ADD COLUMN indantecipaadiant smallint;
ALTER TABLE gestao.mdfe ADD COLUMN dt_vecto1 date;
ALTER TABLE gestao.mdfe ADD COLUMN vl_parc1 numeric(12,2);
ALTER TABLE gestao.mdfe ADD COLUMN dt_vecto2 date;
ALTER TABLE gestao.mdfe ADD COLUMN vl_parc2 numeric(12,2);
ALTER TABLE gestao.mdfe ADD COLUMN dt_vecto3 date;
ALTER TABLE gestao.mdfe ADD COLUMN vl_parc3 numeric(12,2);
ALTER TABLE gestao.mdfe ADD COLUMN tp_antecip smallint;
ALTER TABLE gestao.mdfe ADD COLUMN id_portador integer;
--RUN--

--SEQ 1027-- 16/10/2025 15:10 Alan
ALTER TABLE gestao.estsaldo ADD COLUMN dthr_atual timestamp without time zone;
--RUN--

--SEQ 1028-- 22/10/2025 11:20 JCS
ALTER TABLE gestao.dfe ADD COLUMN cfop character varying(19);
--RUN--

--SEQ 1029-- 27/10/2025 11:06 JCS
ALTER TABLE gestao.grupo ADD COLUMN cod_inicial_prod integer;
ALTER TABLE gestao.grupo ADD COLUMN cod_final_prod integer;
--RUN--

--SEQ 1030-- 28/10/2025 09:45 ALAN
ALTER TABLE gestao.os ADD COLUMN garantia smallint;
--RUN--

--SEQ 1031-- 30/10/2025 14:30 ALAN
ALTER TABLE gestao.pagtos DISABLE TRIGGER ALL;
update gestao.pagtos set id_remessa=null where id_remessa=0;
ALTER TABLE gestao.pagtos ENABLE TRIGGER ALL;
CREATE UNIQUE INDEX key_pagtos_ctp_remessa ON gestao.pagtos USING btree (id_ctp, id_remessa);
--RUN--

--SEQ 1032-- 11/11/2025 13:43 ALAN
ALTER TABLE gestao.dda ADD CONSTRAINT key_dda_id_ctp UNIQUE(id_ctp);
--RUN--

--SEQ 1033-- 12/11/2025 11:00 JCS
ALTER TABLE gestao.tes ADD COLUMN operacao character(40) NOT NULL DEFAULT ' ';
ALTER TABLE gestao.produto  ADD COLUMN cod_grupotrib integer DEFAULT 1;
--RUN--

--SEQ 1034-- 12/11/2025 12:00 JCS
CREATE TABLE gestao.classtrib (
  id_classtrib SERIAL NOT NULL ,
  codigo CHAR(6) NOT NULL ,
  cst CHAR(3) NOT NULL ,
  descricao VARCHAR(200) NOT NULL ,
  tipo_aliquota VARCHAR(40) NOT NULL ,
  nomenclatura VARCHAR(20) NOT NULL ,
  tratamento_tributario VARCHAR(200) NOT NULL ,
  incompativel_com_suspensao SMALLINT NOT NULL ,
  exige_grupo_desoneracao SMALLINT NOT NULL ,
  possui_percentual_reducao SMALLINT NOT NULL ,
  indica_aprop_cred_adquirente_cbs SMALLINT NOT NULL ,
  indica_aprop_cred_adquirente_ibs SMALLINT NOT NULL ,
  indica_cred_presumido_fornecedor SMALLINT NOT NULL ,
  indica_cred_presumido_adquirente SMALLINT NOT NULL ,
  credito_operacao_antecedente VARCHAR(20) NOT NULL ,
  perc_red_cbs DECIMAL(6,2) NOT NULL ,
  perc_red_ibs_uf DECIMAL(6,2) NOT NULL ,
  perc_red_ibs_mun DECIMAL(6,2) NOT NULL ,
  dt1 DATE NOT NULL ,
  dt2 DATE NOT NULL,
  CONSTRAINT pk_classtrib PRIMARY KEY (id_classtrib),
  CONSTRAINT key_classtrib_codigo UNIQUE (codigo)
  );

CREATE TABLE gestao.aliqrtc (
  id_aliqrtc SERIAL NOT NULL ,
  tipo SMALLINT NOT NULL ,
  codigo CHAR(10) NOT NULL ,
  data DATE NOT NULL ,
  aliq_referencia DECIMAL(7,2) NOT NULL ,
  aliq_propria DECIMAL(7,2) NOT NULL ,
  trib_is SMALLINT NOT NULL ,
  aliq_adval DECIMAL(10,4) NOT NULL ,
  aliq_adrem DECIMAL(15,4) NOT NULL ,
  forma_aplicacao CHAR(20) NOT NULL,
  CONSTRAINT pk_aliqrtc PRIMARY KEY (id_aliqrtc),
  CONSTRAINT key_aliqrtc_codigo UNIQUE (codigo,tipo,data)  
);

CREATE TABLE gestao.grupotrib (
  id_grupotrib SERIAL NOT NULL ,
  codigo INT NOT NULL ,
  nome CHAR(50) NOT NULL ,
  ativo SMALLINT NOT NULL,
  CONSTRAINT pk_grupotrib PRIMARY KEY (id_grupotrib),
  CONSTRAINT key_grupotrib_codigo UNIQUE (codigo)  
);

CREATE TABLE gestao.grupotribdet (
  id_grupotribdet SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  id_grupotrib INT NOT NULL ,
  vigencia DATE NOT NULL ,
  operacao CHAR(40) NOT NULL ,
  st_especifica CHAR(20) NOT NULL ,
  cclasstrib CHAR(6) NOT NULL ,
  classtrib_reg CHAR(6) NULL,
  CONSTRAINT pk_grupotribdet PRIMARY KEY (id_grupotribdet),
  CONSTRAINT key_grupotribdet_id UNIQUE (id_grupotrib,vigencia,operacao,st_especifica) ,
  CONSTRAINT fk_grupotribdet_empresa   FOREIGN KEY (id_empresa)   REFERENCES gestao.empresa (id_empresa),
  CONSTRAINT fk_grupotribdet_grupotrib FOREIGN KEY (id_grupotrib)   REFERENCES gestao.grupotrib (id_grupotrib),
  CONSTRAINT fk_grupotribdet_cclasstrib1   FOREIGN KEY (cclasstrib)   REFERENCES gestao.classtrib (codigo),
  CONSTRAINT fk_grupotribdet_cclasstrib2   FOREIGN KEY (classtrib_reg)   REFERENCES gestao.classtrib (codigo)
);
--RUN--

--SEQ 1035-- 16/11/2025 18:35 JCS
ALTER TABLE gestao.nfdet  ADD COLUMN chave_doc_ref character varying(44);
ALTER TABLE gestao.nfdet ADD COLUMN nitem_ref integer;

DROP TABLE gestao.tribrtc ;

CREATE TABLE gestao.tribrtc (
    id_tribrtc SERIAL,
    id_nfdet INT,
    id_ctc INT,
    id_peditem INT,
    id_entradet INT,
    
    -- Imposto Seletivo
    cst_is VARCHAR(3),
    classtrib_is VARCHAR(6),
    v_bc_is NUMERIC(15, 2),
    p_is NUMERIC(7, 4),
    p_is_especifica NUMERIC(7, 4),
    u_trib VARCHAR(6),
    q_trib NUMERIC(15, 4),
    v_is NUMERIC(15, 2),

    -- IBS / CBS (comum)
    cst_ibscbs VARCHAR(3),
    classtrib_ibscbs VARCHAR(6),
    v_bc_ibscbs NUMERIC(15, 2),

    -- IBS - UF
    p_ibs_uf NUMERIC(7, 4),
    p_dif_uf NUMERIC(7, 4),
    v_dif_uf NUMERIC(15, 2),
    v_dev_trib_uf NUMERIC(15, 2),
    p_red_aliq_uf NUMERIC(7, 4),
    p_aliq_efet_uf NUMERIC(7, 4),
    v_ibs_uf NUMERIC(15, 2),

    -- IBS - Município
    p_ibs_mun NUMERIC(7, 4),
    p_dif_mun NUMERIC(7, 4),
    v_dif_mun NUMERIC(15, 2),
    v_dev_trib_mun NUMERIC(15, 2),
    p_red_aliq_mun NUMERIC(7, 4),
    p_aliq_efet_mun NUMERIC(7, 4),
    v_ibs_mun NUMERIC(15, 2),

    -- IBS - Soma UF + Município
    v_ibs NUMERIC(15, 2),

    -- CBS
    p_cbs NUMERIC(7, 4),
    p_dif_cbs NUMERIC(7, 4),
    v_dif_cbs NUMERIC(15, 2),
    v_dev_trib_cbs NUMERIC(15, 2),
    p_red_aliq_cbs NUMERIC(7, 4),
    p_aliq_efet_cbs NUMERIC(7, 4),
    v_cbs NUMERIC(15, 2),

    -- IBS / CBS Regular
    cst_ibscbs_reg VARCHAR(3),
    classtrib_ibscbs_reg VARCHAR(6),
    p_aliq_efet_reg_ibs_uf NUMERIC(7, 4),
    v_trib_reg_ibs_uf NUMERIC(15, 2),
    p_aliq_efet_reg_ibs_mun NUMERIC(7, 4),
    v_trib_reg_ibs_mun NUMERIC(15, 2),
    p_aliq_efet_reg_cbs NUMERIC(7, 4),
    v_trib_reg_cbs NUMERIC(15, 2),

    -- Crédito presumido IBS
    c_cred_pres_ibs VARCHAR(2),
    p_cred_pres_ibs NUMERIC(7, 4),
    v_cred_pres_ibs NUMERIC(15, 2),
    v_cred_pres_cond_sus_ibs NUMERIC(15, 2),

    -- Crédito presumido CBS
    c_cred_pres_cbs VARCHAR(2),
    p_cred_pres_cbs NUMERIC(7, 4),
    v_cred_pres_cbs NUMERIC(15, 2),
    v_cred_pres_cond_sus_cbs NUMERIC(15, 2),

    -- Compra Governamental
    p_ibs_uf_cg NUMERIC(7, 4),
    v_ibs_uf_cg NUMERIC(15, 2),
    p_ibs_mun_cg NUMERIC(7, 4),
    v_ibs_mun_cg NUMERIC(15, 2),
    p_cbs_cg NUMERIC(7, 4),
    v_cbs_cb NUMERIC(15, 2),

    -- Monofásico
    q_bc_mono NUMERIC(15, 4),
    ad_rem_ibs NUMERIC(7, 4),
    ad_rem_cbs NUMERIC(7, 4),
    v_ibs_mono NUMERIC(15, 2),
    v_cbs_mono NUMERIC(15, 2),

    -- Monofásico - Retenção
    q_bc_mono_reten NUMERIC(15, 4),
    ad_rem_ibs_reten NUMERIC(7, 4),
    v_ibs_mono_reten NUMERIC(15, 2),
    ad_rem_cbs_reten NUMERIC(7, 4),
    v_cbs_mono_reten NUMERIC(15, 2),

    -- Monofásico - Cobrada Anteriormente
    q_bc_mono_ret NUMERIC(15, 4),
    ad_rem_ibs_ret NUMERIC(7, 4),
    v_ibs_mono_ret NUMERIC(15, 2),
    ad_rem_cbs_ret NUMERIC(7, 4),
    v_cbs_mono_ret NUMERIC(15, 2),

    -- Monofásico - Diferido
    p_dif_ibs_mono NUMERIC(7, 4),
    v_ibs_mono_dif NUMERIC(15, 2),
    p_dif_cbs_mono NUMERIC(7, 4),
    v_cbs_mono_dif NUMERIC(15, 2),

    -- Totais Monofásicos por item
    v_tot_ibs_mono NUMERIC(15, 2),
    v_tot_cbs_mono NUMERIC(15, 2),

    -- Transferência de Crédito
    v_ibs_transf NUMERIC(15, 2),
    v_cbs_transf NUMERIC(15, 2),

    -- ZFM
    tp_cred_pres_zfm CHAR(1),
    v_cred_pres_zfm NUMERIC(15, 2),

    -- Valor Total do Item
    vitem NUMERIC(15, 2),

    CONSTRAINT pk_tribrtc PRIMARY KEY (id_tribrtc),
    CONSTRAINT fk_tribrtc_nfdet FOREIGN KEY (id_nfdet)  REFERENCES gestao.nfdet (id_nfdet) ON DELETE CASCADE,
    CONSTRAINT fk_tribrtc_ctc FOREIGN KEY (id_ctc)  REFERENCES gestao.ctc (id_ctc) ON DELETE CASCADE,
    CONSTRAINT fk_tribrtc_entradet FOREIGN KEY (id_entradet)  REFERENCES gestao.entradet (id_entradet) ON DELETE CASCADE,
    CONSTRAINT key_tribrtc_id_nfdet UNIQUE (id_nfdet),
    CONSTRAINT key_tribrtc_id_ctc UNIQUE (id_ctc),
    CONSTRAINT key_tribrtc_id_peditem UNIQUE (id_peditem),
    CONSTRAINT key_tribrtc_id_entradet UNIQUE (id_entradet),
    CONSTRAINT chk_tribrtc_fk_one CHECK (((CASE WHEN id_nfdet IS NULL THEN 0 ELSE 1 END)+(CASE WHEN id_ctc IS NULL THEN 0 ELSE 1 END)+(CASE WHEN id_peditem IS NULL THEN 0 ELSE 1 END)+(CASE WHEN id_entradet IS NULL THEN 0 ELSE 1 END))=1)
);

--RUN--

--SEQ 1036-- 28/11/2025 16:30 WILLIAN
CREATE TABLE gestao.spedk220
(
  id_spedk220 serial NOT NULL,
  id_empresa integer NOT NULL,
  data date NOT NULL,
  id_produto_orig integer NOT NULL,
  id_produto_dest integer NOT NULL,
  id_estlocal integer NOT NULL,
  qtdade numeric(17,3) NOT NULL,
  id_estmovto integer NOT NULL,
  historico character(50),
  CONSTRAINT pk_spedk220 PRIMARY KEY (id_spedk220)
);
--RUN--

--SEQ 1037-- 08/12/2025 09:45 ALAN
ALTER TABLE gestao.ctc ADD COLUMN id_tes integer;
--RUN--

--SEQ 1038-- 17/12/2025 18:55 JCS
ALTER TABLE gestao.ctc ADD COLUMN cod_grupotrib integer;
ALTER TABLE gestao.ctc ADD COLUMN vl_pis numeric(15,2);
ALTER TABLE gestao.ctc ADD COLUMN vl_cofins numeric(15,2);
--RUN--

--SEQ 1039-- 30/12/2025 11:20 ALAN
ALTER TABLE gestao.marca ADD COLUMN usuario character(12);
ALTER TABLE gestao.rota ADD COLUMN ativo smallint;
update gestao.rota set ativo=1;
ALTER TABLE gestao.rota ALTER COLUMN ativo SET NOT NULL;
--RUN--

--SEQ 1040-- 02/01/2026 13:40 ALAN
select now();
--RUN--

--SEQ 1041-- 29/01/2026 15:36 JCS
ALTER TABLE gestao.carga ADD COLUMN wms_prioridade smallint NOT NULL DEFAULT 2;
--RUN--

--SEQ 1042-- 02/02/2026 10:16 JCS
ALTER TABLE gestao.estrutura ADD COLUMN qtd_vol_padrao integer;
ALTER TABLE gestao.op ADD COLUMN qtd_volumes integer;
--RUN--

--SEQ 1043-- 02/02/2026 10:20 ALAN
ALTER TABLE gestao.nfs ADD COLUMN cod_trib_mun integer;
UPDATE gestao.nfs SET cod_trib_mun=0;
ALTER TABLE gestao.nfs ALTER COLUMN cod_trib_mun SET NOT NULL;
--RUN--

--SEQ 1044-- 06/02/2026 10:30 willian
ALTER TABLE gestao.entradas ADD COLUMN vl_taxa_tda_frete numeric(15,2);
ALTER TABLE gestao.entradas ADD COLUMN vl_taxa_tde_frete numeric(15,2);
ALTER TABLE gestao.entradas ADD COLUMN vl_taxa_produto_frete numeric(15,2);
--RUN--

--SEQ 1045-- 10/02/2026 08:10 ALAN
ALTER TABLE gestao.nfs ADD COLUMN cod_interno_nfse integer;
ALTER TABLE gestao.nfs ADD COLUMN chave_acesso_nfse character(50);
ALTER TABLE gestao.nfs ADD COLUMN nr_dpse integer;
ALTER TABLE gestao.nfs ADD COLUMN versao character(10);
ALTER TABLE gestao.nfs ADD COLUMN versao_layout character(5);
ALTER TABLE gestao.nfs ADD COLUMN chave_acesso_subst character(50);
ALTER TABLE gestao.nfs ADD COLUMN cod_just_subst integer;
ALTER TABLE gestao.nfs ADD COLUMN des_mot_subst character varying(255);
--RUN--

--SEQ 1046-- 11/02/2026 09:30 ALAN
ALTER TABLE gestao.nfevento ADD COLUMN id_nfs integer;
--RUN--

--SEQ 1047-- 11/02/2026 19:30 JCS
ALTER TABLE gestao.marca ADD COLUMN bloq_lote_venda smallint NOT NULL DEFAULT 0;
--RUN--

--SEQ 1048-- 12/02/2026 16:45 ALAN
ALTER TABLE gestao.tribrtc ADD COLUMN id_nfs integer;
ALTER TABLE gestao.tribrtc ADD CONSTRAINT fk_tribrtc_nfs FOREIGN KEY (id_nfs) REFERENCES gestao.nfs (id_nfs);
ALTER TABLE gestao.tribrtc ADD CONSTRAINT key_tribrtc_id_nfs UNIQUE(id_nfs);
ALTER TABLE gestao.tribrtc DROP CONSTRAINT chk_tribrtc_fk_one;
ALTER TABLE gestao.tribrtc ADD CONSTRAINT chk_tribrtc_fk_one CHECK (((CASE WHEN id_nfdet IS NULL THEN 0 ELSE 1 END)+(CASE WHEN id_ctc IS NULL THEN 0 ELSE 1 END)+(CASE WHEN id_peditem IS NULL THEN 0 ELSE 1 END)+(CASE WHEN id_entradet IS NULL THEN 0 ELSE 1 END)+(CASE WHEN id_nfs IS NULL THEN 0 ELSE 1 END))=1);
--RUN--

--SEQ 1049-- 23/02/2026 14:00 ALAN
ALTER TABLE gestao.nfs ADD COLUMN item_nbs integer;
ALTER TABLE gestao.ibptax add COLUMN ind_op integer;
--RUN--

--SEQ 1050-- 26/02/2026 14:00 JCS
ALTER TABLE gestao.nfdet ALTER COLUMN ndi TYPE character(15);
--RUN--

--- EM TESTE (JCS) ---
CREATE TABLE gestao.sped0210 (
  id_sped0210 SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  id_produto INT NOT NULL ,
  periodo DATE NOT NULL ,
  id_componente INT NOT NULL ,
  qtdade DECIMAL(20,6) NOT NULL ,
  tx_perda DECIMAL(8,4) NOT NULL,
  gerar_consumo SMALLINT
);

ALTER TABLE gestao.sped0210 ADD CONSTRAINT pk_sped0210 PRIMARY KEY (id_sped0210);

ALTER TABLE gestao.sped0210 ADD CONSTRAINT fk_sped0210_empresa    FOREIGN KEY (id_empresa)    REFERENCES gestao.empresa (id_empresa);
ALTER TABLE gestao.sped0210 ADD CONSTRAINT fk_sped0210_produto    FOREIGN KEY (id_produto)    REFERENCES gestao.produto (id_produto);
ALTER TABLE gestao.sped0210 ADD CONSTRAINT fk_sped0210_componente FOREIGN KEY (id_componente) REFERENCES gestao.produto (id_produto);
ALTER TABLE gestao.sped0210 ADD CONSTRAINT chk_sped0210_qtdade CHECK (qtdade>0);
ALTER TABLE gestao.sped0210 ADD CONSTRAINT key_sped0210_produto UNIQUE (id_produto, periodo, id_componente);

CREATE INDEX key_sped0210_componente ON gestao.sped0210 (id_componente);


CREATE TABLE gestao.spedk230 (
  id_spedk230 SERIAL NOT NULL ,
  id_empresa INT NOT NULL ,
  periodo DATE NOT NULL ,
  doc_op CHAR(30) NOT NULL,
  dt1 DATE,
  dt2 DATE,
  id_produto INT NOT NULL ,
  qtd_produzida DECIMAL(15,3) NOT NULL,
  inf_usuario SMALLINT
);

ALTER TABLE gestao.spedk230 ADD CONSTRAINT pk_spedk230 PRIMARY KEY (id_spedk230);
ALTER TABLE gestao.spedk230 ADD CONSTRAINT key_spedk230_empresa UNIQUE (id_empresa, periodo, doc_op, id_produto);

ALTER TABLE gestao.spedk230 ADD CONSTRAINT fk_spedk230_empresa    FOREIGN KEY (id_empresa)    REFERENCES gestao.empresa (id_empresa);
ALTER TABLE gestao.spedk230 ADD CONSTRAINT fk_spedk230_produto    FOREIGN KEY (id_produto)    REFERENCES gestao.produto (id_produto);

ALTER TABLE gestao.spedk230 ADD CONSTRAINT chk_spedk230_dt1_1 CHECK ((dt2 IS NULL AND doc_op='') OR dt1 IS NOT NULL);

ALTER TABLE gestao.spedk230 ADD CONSTRAINT chk_spedk230_dt2_1 CHECK (dt2>=dt1);
ALTER TABLE gestao.spedk230 ADD CONSTRAINT chk_spedk230_dt2_2 CHECK (to_char(dt2,'MMYYYY')=to_char(periodo,'MMYYYY'));


CREATE TABLE gestao.spedk235 (
  id_spedk235 SERIAL NOT NULL ,
  id_spedk230 INT NOT NULL ,
  data DATE NOT NULL ,
  id_produto INT NOT NULL ,
  qtd_consumida DECIMAL(15,3) NOT NULL,
  id_prod_subst INT NULL 
);

ALTER TABLE gestao.spedk235 ADD CONSTRAINT pk_spedk235 PRIMARY KEY (id_spedk235);
ALTER TABLE gestao.spedk235 ADD CONSTRAINT key_spedk235_spedk230 UNIQUE (id_spedk230, data, id_produto);

ALTER TABLE gestao.spedk235 ADD CONSTRAINT fk_spedk235_spedk230   FOREIGN KEY (id_spedk230)   REFERENCES gestao.spedk230 (id_spedk230);
ALTER TABLE gestao.spedk235 ADD CONSTRAINT fk_spedk235_produto    FOREIGN KEY (id_produto)    REFERENCES gestao.produto (id_produto);
ALTER TABLE gestao.spedk235 ADD CONSTRAINT fk_spedk235_produto2   FOREIGN KEY (id_prod_subst) REFERENCES gestao.produto (id_produto);
