ALTER TABLE TBNFS
    ADD CONTABILIZACAO_ID INTEGER;

ALTER TABLE TBNFS_PARCELAMENTO
    ADD TIPO INTEGER DEFAULT 1;

COMMENT ON COLUMN TBNFS_PARCELAMENTO.TIPO IS
'1 - Nota Fiscal
2 - Cupom';

CREATE SEQUENCE GTBCAIXABANCO_LANCAMENTO_REG START WITH 1148160;

ALTER SEQUENCE GTBCAIXABANCO_LANCAMENTO_REG RESTART WITH 1148160;

ALTER TABLE TBNFS_PARCELAMENTO
    ADD CAIXA_ID INTEGER;

ALTER TABLE TBMFE_PARCELAMENTO
    ADD PARCELAMENTO_ID INTEGER;

CREATE OR ALTER trigger ttbmfe_au0 for tbmfe
active after update position 0
AS
begin

  if(new.situacao <> old.situacao)then
  begin
    update tbmfe_item i set i.flag_atualizacao = i.flag_atualizacao + 1 where i.serie = new.serie and i.numero = new.numero and i.caixa_id = new.caixa_id;
    update tbmfe_parcelamento p set p.flag_atualizacao = p.flag_atualizacao + 1 where p.serie = new.serie and p.numero = new.numero and p.caixa_id = new.caixa_id;
    update tbmfe_parcelamento_item c set c.flag_atualizacao = c.flag_atualizacao + 1 where c.cfe_serie = new.serie and c.cfe_numero = new.numero and c.caixa_id = new.caixa_id;
  end

  if(new.situacao <> old.situacao)then
  begin
    if(new.situacao = 'C')then
    begin
        update tbmfe_item i set i.status = 1 where i.serie = new.serie and i.numero = new.numero and i.caixa_id = new.caixa_id;
    end else
    begin
        update tbmfe_item i set i.status = 0 where i.serie = new.serie and i.numero = new.numero and i.caixa_id = new.caixa_id;
    end
  end
end;

create trigger ttbcaixabanco_lan_reg_b00i for tbcaixabanco_lancamento_reg
active before insert position 0
as
begin
  if (new.controle is null) then
    new.controle = gen_id(gtbcaixabanco_registro,1);
end;

CREATE OR ALTER trigger ttbmfe_bd0 for tbmfe
active before delete position 0
AS
begin

  delete from tbmfe_item i where i.serie = old.serie and i.numero = old.numero and i.caixa_id = old.caixa_id;
  delete from tbmfe_parcelamento i where i.serie = old.serie and i.numero = old.numero and i.caixa_id = old.caixa_id;
  delete from tbmfe_parcelamento_item i where i.cfe_serie = old.serie and i.cfe_numero = old.numero and i.caixa_id = old.caixa_id;

end;

CREATE TABLE TBPDV_LOG (
    ID INTEGER NOT NULL,
    DATA_HORA TIMESTAMP DEFAULT current_timestamp,
	DATA TIMESTAMP DEFAULT current_date,
    DESCRICAO VARCHAR(500),
    CAIXA_ID INTEGER);

ALTER TABLE TBPDV_LOG
ADD CONSTRAINT PK_TBPDV_LOG
PRIMARY KEY (ID);

CREATE SEQUENCE GTBPDV_LOG;

create trigger ttbpdv_log_b01i for tbpdv_log
active before insert position 0
as
begin
  if (new.id is null) then
    new.id = gen_id(gtbpdv_log,1);
end;

CREATE INDEX ITBPDV_LOG_01
ON TBPDV_LOG (DATA,CAIXA_ID);


CREATE TABLE TBMFE_CLIENTE (
    ID_PESSOA         INTEGER NOT NULL,
    NOME              VARCHAR(60),
    ATIVO             CHAR(1),
    TIPO_PESSOA       CHAR(1),
    CNPJ_CPF          VARCHAR(14),
    FONE              VARCHAR(14),
    ENDERECO          VARCHAR(60),
    NUMERO            VARCHAR(60),
    COMPLEMENTO       VARCHAR(60),
    BAIRRO            VARCHAR(60),
    CIDADE            INTEGER,
    CEP               VARCHAR(8),
    EMAIL             VARCHAR(60),
    DATA_NASCIMENTO   DATE,
    TAG_ID            INTEGER,
    FLAG_ATUALIZACAO  INTEGER DEFAULT 0
);

ALTER TABLE TBMFE_CLIENTE
    ADD CAIXA_ID INTEGER;

