API GEEKR

Versão

Proprietário

Nota

Data

Versão

Proprietário

Nota

Data

1.0

@Renan Mitsuo Oka

Criação de documento

12/05/2023

  1. Menu Especiais > parametros > Integração > GEEKR/Swager

  2. Ative a opção Integração com sistema GEEKR e informe a URL de Comunicação https://api-tecsa-prod.azurewebsites.net/api/Notificacao e a URL de token https://api-tecsa-prod.azurewebsites.net/api/Usuario/autenticar?user=tecsa&senha=6dWfu4EYuJ.

  3. Altera a trigger “Checa_movexa_tecsa_after() a trigger abaixo será responsável para inserir os dados na tabela geekr para envio de json

    DECLARE RETORNO TEXT DEFAULT '' ; RETNUM NUMERIC(13,0) DEFAULT 0; DESCCONV TEXT DEFAULT '' ; CODICONV TEXT DEFAULT '' ; CUREXAMEINC RECORD; DEFA_FATUATU NUMERIC(13,0) DEFAULT 0; FATURAATU NUMERIC(13,0) DEFAULT 0; URGENTEPACATU NUMERIC(13,0) DEFAULT 0; TXURGATU NUMERIC(1,0) DEFAULT 0; VALPORURGATU NUMERIC(3,0) DEFAULT 0; VALOREXAATU NUMERIC(13,2) DEFAULT 0; POSAMO TEXT DEFAULT ''; NOMECLIENTEATU TEXT DEFAULT ''; CODIGOCLIENTEATU INTEGER; NOMEANIMALATU TEXT DEFAULT ''; NOMEEXAMEATU TEXT DEFAULT ''; IDEXAMEATU INTEGER; STATUSANTERIORATU CHAR(2) DEFAULT ''; STATUSATUALATU CHAR(2) DEFAULT ''; PROBLEMAATU NUMERIC(1); DESCRICAOPROBLEMAATU TEXT DEFAULT ''; ENVIADOATU NUMERIC(1); OBSFMATU TEXT DEFAULT ''; GRAVAGEEK NUMERIC(1); DATA_ACAOATU DATE; HORA_ACAOATU CHAR(5); MOVPAC_IDATU INTEGER; MOVEXA_IDATU INTEGER; PRONTUARIO_IDATU INTEGER; CLINICA_IDATU INTEGER; BEGIN IF TG_OP = 'INSERT' THEN UPDATE MOVPAC SET GERA_INTER = 1 WHERE MOVPAC.ID = NEW.MOVPAC_ID; END IF; IF TG_OP = 'UPDATE' THEN IF NEW.STATUSEXM <> OLD.STATUSEXM THEN IF NEW.STATUSEXM = 'TR' THEN UPDATE MOVPAC SET GERA_INTER = 1 WHERE MOVPAC.ID = NEW.MOVPAC_ID; END IF; END IF; END IF; IF TG_OP = 'UPDATE' THEN GRAVAGEEK := 0; ENVIADOATU :=0; SELECT INTO POSAMO, NOMECLIENTEATU, CODIGOCLIENTEATU, NOMEANIMALATU, NOMEEXAMEATU, IDEXAMEATU, OBSFMATU, MOVPAC_IDATU, MOVEXA_IDATU, PRONTUARIO_IDATU, CLINICA_IDATU MOVEXA.POSTO||MOVEXA.AMOSTRA, PROP.NOME, PRONTUARIO.PROP_ID, PRONTUARIO.NOMEANI, EXAME.DESCRICAO, EXAME.ID, MOVEXA.OBSFM, MOVEXA.MOVPAC_ID, MOVEXA.ID AS MOVEXA_ID, MOVPAC.PRONTUARIO_ID, MOVPAC.CLINICA_ID FROM MOVEXA LEFT JOIN MOVPAC ON MOVPAC.ID = MOVEXA.MOVPAC_ID LEFT JOIN PRONTUARIO ON PRONTUARIO.ID = MOVPAC.PRONTUARIO_ID LEFT JOIN PROP ON PROP.ID = PRONTUARIO.PROP_ID LEFT JOIN EXAME ON EXAME.ID = MOVEXA.EXAME_ID WHERE MOVEXA.ID = NEW.ID; STATUSANTERIORATU := OLD.STATUSEXM; STATUSATUALATU := NEW.STATUSEXM; PROBLEMAATU := 0; DATA_ACAOATU := CAST(CURRENT_TIMESTAMP(2) AS DATE); HORA_ACAOATU := SUBSTRING(CAST(CAST(CURRENT_TIMESTAMP(2) AS TIME) AS TEXT),1,5); IF OLD.STATUSEXM = 'AM' AND NEW.STATUSEXM = 'TR' THEN PROBLEMAATU := 0; DESCRICAOPROBLEMAATU := ''; GRAVAGEEK := 1; END IF; IF OLD.STATUSEXM = 'TR' AND NEW.STATUSEXM = 'FM' THEN PROBLEMAATU := 1; DESCRICAOPROBLEMAATU := OBSFMATU; GRAVAGEEK := 1; END IF; IF OLD.STATUSEXM = 'TR' AND NEW.STATUSEXM = 'PT' THEN PROBLEMAATU := 0; DESCRICAOPROBLEMAATU := ''; GRAVAGEEK := 1; END IF; IF OLD.STATUSEXM = 'FM' AND NEW.STATUSEXM = 'TR' THEN PROBLEMAATU := 0; DESCRICAOPROBLEMAATU := ''; GRAVAGEEK := 1; END IF; IF OLD.STATUSEXM = 'PT' AND NEW.STATUSEXM = 'TR' THEN PROBLEMAATU := 0; DESCRICAOPROBLEMAATU := ''; GRAVAGEEK := 1; END IF; IF OLD.STATUSEXM = 'TR' AND NEW.STATUSEXM = 'NC' THEN SELECT INTO DESCRICAOPROBLEMAATU 'Motivo: '||TRIM(COALESCE(MOTIVO.DESCRICAO,''))||' Obs: '||TRIM(COALESCE(NOVACOL.OBSMOT,'')) FROM NOVACOL LEFT JOIN MOVPAC ON MOVPAC.ID = NOVACOL.MOVPAC_ID LEFT JOIN MOTIVO ON MOTIVO.ID = NOVACOL.MOTIVO_ID WHERE NOVACOL.MOVPAC_ID = NEW.MOVPAC_ID AND NOVACOL.EXAME_ID = NEW.EXAME_ID ORDER BY NOVACOL.ID DESC LIMIT 1; PROBLEMAATU := 1; --DESCRICAOPROBLEMAATU := 'TESTE' ;--OBSFMATU; GRAVAGEEK := 1; END IF; IF OLD.STATUSEXM = 'TR' AND NEW.STATUSEXM = 'EM' THEN PROBLEMAATU := 0; DESCRICAOPROBLEMAATU := ''; GRAVAGEEK := 1; END IF; IF OLD.STATUSEXM = 'EM' AND NEW.STATUSEXM = 'TR' THEN PROBLEMAATU := 0; DESCRICAOPROBLEMAATU := ''; GRAVAGEEK := 1; END IF; IF OLD.STATUSEXM = 'TR' AND NEW.STATUSEXM = 'AP' THEN PROBLEMAATU := 0; DESCRICAOPROBLEMAATU := ''; GRAVAGEEK := 1; END IF; IF OLD.STATUSEXM = 'AP' AND NEW.STATUSEXM = 'LA' THEN PROBLEMAATU := 0; DESCRICAOPROBLEMAATU := ''; GRAVAGEEK := 1; END IF; IF OLD.STATUSEXM = 'LA' AND NEW.STATUSEXM = 'CF' THEN PROBLEMAATU := 0; DESCRICAOPROBLEMAATU := ''; GRAVAGEEK := 1; END IF; IF OLD.STATUSEXM = 'TR' AND NEW.STATUSEXM = 'CF' THEN PROBLEMAATU := 0; DESCRICAOPROBLEMAATU := ''; GRAVAGEEK := 1; END IF; IF GRAVAGEEK = 1 THEN INSERT INTO GEEKR (AMOSTRA, NOMECLIENTE, CODIGOCLIENTE, NOMEANIMAL, NOMEEXAME, IDEXAME, STATUSANTERIOR, STATUSATUAL, PROBLEMA, DESCRICAOPROBLEMA, ENVIADO, DATA_ACAO, HORA_ACAO, PRONTUARIO_ID, MOVPAC_ID, MOVEXA_ID, CLINICA_ID) VALUES (NEW.POSTO||NEW.AMOSTRA, NOMECLIENTEATU, CODIGOCLIENTEATU, NOMEANIMALATU, NOMEEXAMEATU, IDEXAMEATU, STATUSANTERIORATU, STATUSATUALATU, PROBLEMAATU, DESCRICAOPROBLEMAATU, ENVIADOATU, DATA_ACAOATU, HORA_ACAOATU, PRONTUARIO_IDATU, MOVPAC_IDATU, MOVEXA_IDATU, CLINICA_IDATU); END IF; END IF; RETURN NEW; END;

     

  4. Para ativar a função crie um atalho do interfacevet e coloque o parametro “geekr”