ALTER TABLE TBUSUARIO
    ADD ACCESS_TOKEN VARCHAR(100),
    ADD REFRESH_TOKEN VARCHAR(100),
    ADD EXPIRES_IN TIMESTAMP;

CREATE TABLE TBUSUARIO_API (
    ID INTEGER NOT NULL,
    USUARIO_ID INTEGER,
    ACCESS_TOKEN VARCHAR(100),
    REFRESH_TOKEN VARCHAR(100),
    EXPIRES_IN TIMESTAMP);

ALTER TABLE TBUSUARIO_API
ADD CONSTRAINT PK_TBUSUARIO_API
PRIMARY KEY (ID);

CREATE SEQUENCE GTBUSUARIO_API;

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

CREATE GENERATOR GTBUSUARIO_API_DETALHE;

CREATE TABLE TBUSUARIO_API_DETALHE (
    ID              BIGINT NOT NULL,
    INTEGRACAO_ID   INTEGER DEFAULT 0,
    USUARIO_ID      INTEGER DEFAULT 0,
    DISPOSITIVO_ID  INTEGER DEFAULT 0,
    VERSSAO         INTEGER DEFAULT 0,
    LOG_API         BLOB SUB_TYPE 1 SEGMENT SIZE 80
);

ALTER TABLE TBUSUARIO_API_DETALHE ADD CONSTRAINT PK_TBUSUARIO_API_DETALHE PRIMARY KEY (ID);

CREATE INDEX ITBUSUARIO_API_DETALH_01 ON TBUSUARIO_API_DETALHE (INTEGRACAO_ID, USUARIO_ID, DISPOSITIVO_ID);
CREATE INDEX ITBUSUARIO_API_DETALH_02 ON TBUSUARIO_API_DETALHE (INTEGRACAO_ID);
CREATE INDEX ITBUSUARIO_API_DETALH_03 ON TBUSUARIO_API_DETALHE (USUARIO_ID);
CREATE INDEX ITBUSUARIO_API_DETALH_04 ON TBUSUARIO_API_DETALHE (DISPOSITIVO_ID);

CREATE OR ALTER TRIGGER TTBUSUARIO_API_DET_B01I FOR TBUSUARIO_API_DETALHE
ACTIVE BEFORE INSERT POSITION 0
as
begin
  if (new.id is null) then
    new.id = gen_id(gTBUSUARIO_API_detalhe,1);
end;

ALTER TABLE TBUSUARIO_API
    ADD BLOQUEADO INTEGER;


CREATE GENERATOR GTMPCALC_PLACA;

CREATE TABLE TMPCALC_PLACA(
	ID INTEGER NOT NULL,
	PRODUTO_ID INTEGER,
	PRODUTO VARCHAR(400),
	ESTABELECIMENTO_ID INTEGER,
	LOCALIZACAO_ID INTEGER,
	SALDO_ESTOQUE NUMERIC(18,5),
	SALDO_PECA NUMERIC(18,4),
	SALDO NUMERIC(18,5),
	SALDO_INDISPONIVEL NUMERIC(18,4),
	ALOCADO NUMERIC(18,5)
);

CREATE OR ALTER TRIGGER TTMPCALC_PLACA_B01I FOR TMPCALC_PLACA
ACTIVE BEFORE INSERT POSITION 0
as
begin
  if (new.id is null) then
    new.id = gen_id(GTMPCALC_PLACA,1);

  new.datahora = current_timestamp;
end;

ALTER TABLE TMPCALC_PLACA
    ADD REMESSA_ID INTEGER;

ALTER TABLE TMPCALC_PLACA
    ADD BAIXADO NUMERIC(18,5);

CREATE INDEX ITMPCALC_PLACA_IDX2
ON TMPCALC_PLACA (REMESSA_ID);

CREATE INDEX ITMPCALC_PLACA_IDX1
ON TMPCALC_PLACA (PRODUTO_ID);

