01. DADOS GERAIS
Linha de Produto: | PIMSCS. |
---|---|
Segmento: | Agroindústria. |
Módulo: | Pesagem e Análises de Matéria-Prima |
Função: | SPA_OFF → Controle de Tráfego / Controle de Tráfego (CTE). SPA_OFF → Balança / Balança de Entrada (BE). SPA_OFF → Balança / Balança de Saída (BS). |
Ticket: | #5439959 |
Story : |
02. SITUAÇÃO/REQUISITO
No aplicativo SPA Offline, nos pontos de controle CTE, BE e BS, desenvolver integração com o fornecedor ESTI por meio de banco de dados;
03. SOLUÇÃO
Foi desenvolvido no aplicativo SPA Offline, integração com o fornecedor ESTI por meio de banco de dados.
Os registros de integração são controlados a partir de status da carga, os quais são:
1 – Registro gerado;
2 – Captura do peso de entrada realizada pela integração;
3 – Registro processado pelo PIMSServer no BE;
4 – Pesagem de entrada integrada com sucesso no PIMS;
5 – Problemas na pesagem de entrada com necessidade de pesar novamente;
6 – Captura do peso de saída realizada pela integração;
7 – Registro processado pelo PIMSServer no BS;
8 – Pesagem de saída integrada com sucesso no PIMS;
9 – Problemas na pesagem de entrada com necessidade de pesar novamente;
20 – Registro desprezado pelo PIMSServer na pesagem de entrada;
21 – Registro desprezado pelo PIMSServer na pesagem de saída.
22 - Carga descartada pelo Client SPA Offline;
Parâmetros
Seção | Entrada | Descrição |
RCMP_CAR | FG_INTEGRAR_AUTOMACAO_CTE | Flag para habilitar/desabilitar inserção registro do CTE em tabela de integração CTT_INTEGR_PIMS. |
RCMP_CAR | FG_INTEGRAR_AUTOMACAO_PESAGEM | Flag para habilitar/desabilitar processo de integrar automação de pesagem em tabela de integração CTT_INTEGR_PIMS |
04. DEMAIS INFORMAÇÕES
create table CTT_INTEGR_PIMS ( ID number(30,0) NOT NULL, ID_VIAGEM number(30,0) NOT NULL, ID_CARGA number(3,0) NOT NULL, CD_CM_GUARITA number(8,0), CD_CM_ENTRADA number(8,0), CD_CM_SAIDA number(8,0), CD_JULIETA number(8,0), TICKET_RASTREIO number(32,0), INSTANCIA varchar2(5), TAG number(9,0), TP_PESAGEM varchar(1), FG_STATUS varchar2(2), DT_STATUS date, HR_STATUS date, QT_PESO number(7,0), CD_BALANCA number(3,0), CD_BOCA_DES varchar2(5), FG_SORTEIO varchar(1), CD_UPNIVEL1 varchar2(6), MENSAGEM_1 varchar2(12), MENSAGEM_2 varchar2(12), MENSAGEM_3 varchar2(12), HR_LEITURA_BE date, HR_LEITURA_BS date, QT_PESAGENS number(1,0), QT_VOL_1A number(3,0), QT_VOL_2A number(3,0), QT_VOL_3A number(3,0), CONSTRAINT CTT_INTEGR_PIMS_PK PRIMARY KEY (ID) USING INDEX TABLESPACE PIMS_INDX) TABLESPACE PIMS_DATA; create table LOG_CTT_INTEGR_PIMS ( ID number(30,0), ID_VIAGEM number(30,0), ID_CARGA number(3,0), CD_CM_GUARITA number(8,0), CD_CM_ENTRADA number(8,0), CD_CM_SAIDA number(8,0), CD_JULIETA number(8,0), TICKET_RASTREIO number(32,0), INSTANCIA varchar2(5), TAG number(9,0), TP_PESAGEM varchar(1), FG_STATUS varchar2(2), DT_STATUS date, HR_STATUS date, QT_PESO number(7,0), CD_BALANCA number(3,0), CD_BOCA_DES varchar2(5), FG_SORTEIO varchar(1), CD_UPNIVEL1 varchar2(6), MENSAGEM_1 varchar2(12), MENSAGEM_2 varchar2(12), MENSAGEM_3 varchar2(12), HR_LEITURA_BE date, HR_LEITURA_BS date, QT_PESAGENS number(1,0), QT_VOL_1A number(3,0), QT_VOL_2A number(3,0), QT_VOL_3A number(3,0), USUARIO varchar2(50), DATA_HORA date, OPERACAO varchar2(50)) TABLESPACE PIMS_DATA; --Sequences -- Create sequence create sequence INTEGR_PIMS_CONCEITO_ID minvalue 1 maxvalue 9999999999 start with 121 increment by 1 cache 20 cycle; -- Create sequence create sequence INTEGR_PIMS_CONCEITO_ID_VIAGEM minvalue 1 maxvalue 9999999999 start with 101 increment by 1 cache 20 cycle; --Trigger para alimentar a tabela de LOG da integração CREATE OR REPLACE TRIGGER LOG_CTT_INTEGR_PIMS BEFORE INSERT OR UPDATE OR DELETE ON CTT_INTEGR_PIMS FOR EACH ROW DECLARE BEGIN BEGIN IF INSERTING THEN INSERT INTO LOG_CTT_INTEGR_PIMS (ID, ID_VIAGEM, ID_CARGA, CD_CM_GUARITA, CD_CM_ENTRADA, CD_CM_SAIDA, CD_JULIETA, TICKET_RASTREIO, INSTANCIA, TAG, TP_PESAGEM, FG_STATUS, DT_STATUS, HR_STATUS, QT_PESO, CD_BALANCA, CD_BOCA_DES, FG_SORTEIO, CD_UPNIVEL1, MENSAGEM_1, MENSAGEM_2, MENSAGEM_3, HR_LEITURA_BE, HR_LEITURA_BS, QT_PESAGENS, QT_VOL_1A, QT_VOL_2A, QT_VOL_3A, USUARIO, DATA_HORA, OPERACAO) VALUES (:NEW.ID, :NEW.ID_VIAGEM, :NEW.ID_CARGA, :NEW.CD_CM_GUARITA, :NEW.CD_CM_ENTRADA, :NEW.CD_CM_SAIDA, :NEW.CD_JULIETA, :NEW.TICKET_RASTREIO, :NEW.INSTANCIA, :NEW.TAG, :NEW.TP_PESAGEM, :NEW.FG_STATUS, :NEW.DT_STATUS, :NEW.HR_STATUS, :NEW.QT_PESO, :NEW.CD_BALANCA, :NEW.CD_BOCA_DES, :NEW.FG_SORTEIO, :NEW.CD_UPNIVEL1, :NEW.MENSAGEM_1, :NEW.MENSAGEM_2, :NEW.MENSAGEM_3, :NEW.HR_LEITURA_BE, :NEW.HR_LEITURA_BS, :NEW.QT_PESAGENS, :NEW.QT_VOL_1A, :NEW.QT_VOL_2A, :NEW.QT_VOL_3A, USER, sysdate, 'INSERT'); ELSE IF UPDATING THEN INSERT INTO LOG_CTT_INTEGR_PIMS (ID, ID_VIAGEM, ID_CARGA, CD_CM_GUARITA, CD_CM_ENTRADA, CD_CM_SAIDA, CD_JULIETA, TICKET_RASTREIO, INSTANCIA, TAG, TP_PESAGEM, FG_STATUS, DT_STATUS, HR_STATUS, QT_PESO, CD_BALANCA, CD_BOCA_DES, FG_SORTEIO, CD_UPNIVEL1, MENSAGEM_1, MENSAGEM_2, MENSAGEM_3, HR_LEITURA_BE, HR_LEITURA_BS, QT_PESAGENS, QT_VOL_1A, QT_VOL_2A, QT_VOL_3A, USUARIO, DATA_HORA, OPERACAO) VALUES (:NEW.ID, :NEW.ID_VIAGEM, :NEW.ID_CARGA, :NEW.CD_CM_GUARITA, :NEW.CD_CM_ENTRADA, :NEW.CD_CM_SAIDA, :NEW.CD_JULIETA, :NEW.TICKET_RASTREIO, :NEW.INSTANCIA, :NEW.TAG, :NEW.TP_PESAGEM, :NEW.FG_STATUS, :NEW.DT_STATUS, :NEW.HR_STATUS, :NEW.QT_PESO, :NEW.CD_BALANCA, :NEW.CD_BOCA_DES, :NEW.FG_SORTEIO, :NEW.CD_UPNIVEL1, :NEW.MENSAGEM_1, :NEW.MENSAGEM_2, :NEW.MENSAGEM_3, :NEW.HR_LEITURA_BE, :NEW.HR_LEITURA_BS, :NEW.QT_PESAGENS, :NEW.QT_VOL_1A, :NEW.QT_VOL_2A, :NEW.QT_VOL_3A, USER, sysdate, 'UPDATE'); ELSE IF DELETING THEN INSERT INTO LOG_CTT_INTEGR_PIMS (ID, ID_VIAGEM, ID_CARGA, CD_CM_GUARITA, CD_CM_ENTRADA, CD_CM_SAIDA, CD_JULIETA, TICKET_RASTREIO, INSTANCIA, TAG, TP_PESAGEM, FG_STATUS, DT_STATUS, HR_STATUS, QT_PESO, CD_BALANCA, CD_BOCA_DES, FG_SORTEIO, CD_UPNIVEL1, MENSAGEM_1, MENSAGEM_2, MENSAGEM_3, HR_LEITURA_BE, HR_LEITURA_BS, QT_PESAGENS, QT_VOL_1A, QT_VOL_2A, QT_VOL_3A, USUARIO, DATA_HORA, OPERACAO) VALUES (:OLD.ID, :OLD.ID_VIAGEM, :OLD.ID_CARGA, :OLD.CD_CM_GUARITA, :OLD.CD_CM_ENTRADA, :OLD.CD_CM_SAIDA, :OLD.CD_JULIETA, :OLD.TICKET_RASTREIO, :OLD.INSTANCIA, :OLD.TAG, :OLD.TP_PESAGEM, :OLD.FG_STATUS, :OLD.DT_STATUS, :OLD.HR_STATUS, :OLD.QT_PESO, :OLD.CD_BALANCA, :OLD.CD_BOCA_DES, :OLD.FG_SORTEIO, :OLD.CD_UPNIVEL1, :OLD.MENSAGEM_1, :OLD.MENSAGEM_2, :OLD.MENSAGEM_3, :OLD.HR_LEITURA_BE, :OLD.HR_LEITURA_BS, :OLD.QT_PESAGENS, :OLD.QT_VOL_1A, :OLD.QT_VOL_2A, :OLD.QT_VOL_3A, USER, sysdate, 'DELETE'); END IF; END IF; END IF; EXCEPTION WHEN OTHERS THEN RAISE_APPLICATION_ERROR(-20001, 'Erro ao inserir na tabela log de integração PIMS (LOG_CTT_INTEGR_PIMS) ' || ' ' || sqlerrm); END; END;