Árvore de páginas


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 :

DAGROFSW-476 - Obtendo detalhes do item... STATUS


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çãoEntradaDescrição
RCMP_CARFG_INTEGRAR_AUTOMACAO_CTEFlag para habilitar/desabilitar inserção registro do CTE em tabela de integração CTT_INTEGR_PIMS.
RCMP_CARFG_INTEGRAR_AUTOMACAO_PESAGEMFlag para habilitar/desabilitar processo de integrar automação de pesagem em tabela de integração CTT_INTEGR_PIMS


04. DEMAIS INFORMAÇÕES


Scripts
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;