Páginas filhas
  • ER_PCREQ-8127_Integração_com_Originação

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.                                                             

  

(Obrigatório)

Informações Gerais

 

Especificação

Produto

PIMSMULTICULTIVOS

Módulo

PIMSMC

Segmento Executor

Agroindústria

Projeto1

A_AGR_DES001

IRM1

PCREQ-6819

Requisito1

PCREQ-8127

Subtarefa1

PDR_AGR_DES001-27

Chamado2

 

Release de Entrega Planejada

PIMS12.1.9

Réplica

 

País

(X ) Brasil  (  ) Argentina  (  ) Mexico  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colombia   (  ) Outro _____________.

Outros

<Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>.

   Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos). 

(Obrigatório)

Objetivo

 

Integração de Recepção de Matéria Prima e demais integrações definidas pelo usuário utilizando WebService genérico.

 

(Obrigatório)

Definição da Regra de Negócio

1 - Inclusão da Estimativa/ha Padrão e de configurações para obrigatoriedade em informar a Unidade Receptora, Equipe e Sistema de Colheita no apontamento de Ordem de Colheita e integração do apontamento de Ordem de Colheita e inclusão de configuração para obrigatoriedade em informar a Unidade Receptora e Equipe na Pesagem e Manutenção e Integração da Pesagem de Matéria Prima e agrupamento das configurações no cadastro de Cultura/Ocupação.

 

 Objetivo: Inclusão da Estimativa/ha Padrão e de configuração para obrigatoriedade em informar a Unidade Receptora, Equipe e Sistema de Colheita no apontamento de Ordem de Colheita e integração do apontamento de Ordem de Colheita e inclusão de configuração para obrigatoriedade em informar a Unidade Receptora e Equipe na Pesagem e Manutenção e Integração da Pesagem de Matéria Prima e agrupamento das configurações no cadastro de Cultura/Ocupação.

Menu: Tabelas > Culturas > Cultura/Ocupação

Entrada de Menu: CFCM0018

Esboço da tela:

Dados:

 Demais Campos:

-         Estimativa/ha padrão: Estimativa por hectare padrão para a Cultura/Ocupação. Na Ordem de Colheita, recuperar a estimativa do cadastro de Estimativa de Colheita para o Local de Produção, caso não tenha Estimativa de Colheita recuperar a Estimativa/ha padrão configurada para a Cultura/Ocupação, caso contrário o usuário deve informar a Estimativa. Na geração da Ordem Colheita através da integração de Recepção de Matéria Prima considerar a Estimativa/ha enviada na integração, caso não exista, considerar a estimativa do Local de Produção informado na Estimativa de Colheita, caso contrário utilizar a Estimativa/ha padrão informada na Cultura/Ocupação. Não permite valor negativo. (Tamanho do campo: 6 inteiros e 4 decimais).

 

Configurações:

 -    Gerais:

  • Perene: Indica se a Cultura/Ocupação é Perene ou não (o termo perene designa algo permanente ou que dura muito anos. Desse modo, a cultura perene é a cultura que após ser plantada e concluir um ciclo produtivo, não há necessidade de se replantar). Valor padrão “Não”. Quando configurado que “Sim”, ao copiar Talhão será permitido informar se deve iniciar um novo ciclo ou não. Caso seja informado que deve iniciar um novo ciclo as datas de Plantio serão limpas para o novo Período de Produção, o Estágio para o novo Período de Produção será o Estágio Inicial configurado para a Cultura e o Ciclo do para o novo Período de Produção será atualizado para (ciclo atual + 1), caso contrário as datas de plantio serão copiadas para o novo Período de Produção, o Estágio será atualizado para o Próximo Estágio configurado no cadastro de Estágios. Quando configurado que NÃO é Perene, o campo “Cálculo da Idade com base em” ficará desabilitado e com o valor “Data de Plantio”.
  • Controle por Planta: Indica se são controladas individualmente as Plantas da Cultura/Ocupação.

Utilização:

  • Na Geração de Plantas para o Talhão, filtra apenas os Períodos de Produção que possuem Cultura/Ocupação que são controladas por Planta.
  • No Cadastro de Plantas para o Talhão, filtra apenas os Períodos de Produção que possuem Cultura/Ocupação que são controladas por Planta.
  • Desabilita o campo “Número de Plantas” no cadastro de Talhão quando a Cultura/Ocupação possuir controle por planta (o número de plantas será calculado de acordo com o número de plantas ativas).
  • Não obrigar informar Área nos apontamentos: Indica se é obrigatório informar Área (e seus campos relacionados) nos Apontamentos de Aplicação de Insumos e nos Apontamentos de Plantio.

Quando configurado para “Não” obrigar informar Área nos apontamentos, os campos abaixo deixarão de ser obrigatórios:

  • Apontamento de Aplicação de Insumos: “Vazão Programada / ha”, “Dose programada / ha” e “Área (ha)”.
  • Apontamento de Plantio: “Área Realizada (ha)”, “[Unidade] / Ha” (para semente) e “Dose programada” (para outros insumos).
  • Validar Centro de Custo com Período de Produção: Indica se nos apontamentos o Centro de Custo será validado de acordo com o Período de Produção. Se sim, ao informar o Período de Produção nos apontamentos o sistema irá carregar automaticamente o Centro de Custo configurado para o Período de Produção e Unidade Administrativa. Configuração localizada no Cadastro de Período de Produção.
  • Possui controle de Ramal por Local de Produção: Indica que os Locais de Produção associados a Cultura/Ocupação têm controle de Ramal. Valor padrão “Não”. Quando configurado que “Sim”, no Cadastro de Ramal, ao filtrar os Locais de Produção para cadastrar o Ramal, o sistema irá filtrar apenas os Locais de Produção associados à Cultura/Ocupação, se “Não” existir não permitirá cadastrar Ramal para o Local de Produção associado à Cultura/Ocupação.
  • Pesagem - Envio de Ordem de Produção para Entrada em Estoque: Indica se para Cultura/Ocupação é feito o envio da Ordem de Produção para Entrada em Estoque ao registrar a Produção de Matéria Prima na Pesagem ou Análise de Matéria Prima ou Liberação de Apontamento de Pesagem de Colheita ou Finalização de Boletins de Pesagem de Colheita. Valor padrão é “Não”. Quando configurado que “Sim”, ao registrar a Pesagem ou Manutenção de Pesagem ou Análise de Matéria Prima ou Liberação de Apontamento de Pesagem de Colheita ou Finalização de Boletins de Pesagem de Colheita, o sistema irá verificar se existe Ordem de Produção para o Período de Produção e o para Centro de Custo de contrapartida para Entrada em Estoque, se não existir, não permitirá realizar a entrada em estoque.
  • Informar o número da Nota Fiscal, Série e Tipo da Nota Fiscal na Manutenção da Pesagem, Pesagem e Registro de Colheita: Quando marcado indica que será obrigatório informar o número da Nota Fiscal, Série e Tipo da Nota Fiscal na Manutenção da Pesagem, Pesagem e Registro de Colheita, caso contrário o número da Nota Fiscal, Série e Tipo da Nota Fiscal será desabilitado na Manutenção da Pesagem, Pesagem e Registro de colheita.

  -    Plantio:

  • Consiste Área de Plantio: Indica se consiste a área no Apontamento de Plantio. Quando marcado indica que consiste a área no apontamento de plantio, ou seja, se for realizado apontamento de plantio onde a soma das áreas apontadas for superior a área do Local de Produção é emitida mensagem (se configurado para consistir a área de plantio) questionando se o usuário deseja continuar, se responder que sim permite o apontamento indicando que o mesmo é replantio.
  • Plantio com Semente: Indica se o Plantio da Cultura/Ocupação é realizado com Semente ou Não. Valor padrão “Sim”.

Utilização:

  • No cadastro de Variedades/Híbridos, os campos "Peso de 1000 sementes em gramas" e "Nº. da Peneira" ficam desabilitados quando a Cultura/Ocupação da Variedade não utiliza Semente no Plantio.
  • Somente é permitido registrar Apontamento de Tratamento de Semente/Muda quando a Cultura/Ocupação utilizar semente no Plantio.
  • No Apontamento de Plantio, serão desabilitados os campos “N° Trat. Semente”, “Peneira”, “Vigor (%)” e “Germinação (%)” quando a Cultura/Ocupação não utilizar Semente no Plantio.
  • Informar Tratamento de Semente/Muda no Plantio: Indica se será obrigatório informar Tratamento de Semente/Muda no Apontamento de Plantio. Campo habilitado somente quando configurado “Plantio com Semente”, caso contrário estará desabilitado e desmarcado.
  • Não obrigar informar Sistema de Plantio: Indica se é obrigatório “Sistema de Plantio” no Apontamento de Plantio.
  • Não obrigar informar Sistema de Cultivo: Indica se é obrigatório “Sistema de Cultivo” no Apontamento de Plantio.

-    Recepção de Matéria Prima:

  • Obrigar a informar Unidade Receptora: Indica se o campo “Unidade Receptora” é obrigatório na Pesagem de Matéria Prima. Quando marcado indica que a Unidade Receptora é obrigatória e será validada na Pesagem de Matéria Prima e Manutenção da Pesagem. Para a execução de Finalização de Pesagem (na Pesagem, Manutenção de Pesagem ou Análise de Matéria Prima) é obrigatório informar a Unidade Receptora independente da configuração. Por padrão o campo é marcado.
  • Obrigar a informar Equipe: Indica se o campo “Equipe” é obrigatório na Pesagem de Matéria Prima. Quando marcado indica que a Equipe é obrigatória e será validada na Pesagem de Matéria Prima e Manutenção da Pesagem. Por padrão o campo é marcado.
  • Usar “Nº de Id. da Carga” na pesagem: Tem como objetivo configurar se para a Ocupação é necessário informar o “N° de Id. Da Carga” na Pesagem. Para pesagem de Algodão se faz necessário informar o “N° de Id. Da Carga”, conhecido como “fardão”, quando a produção é própria a carga pode ser informada também no Registro de Colheita, quando não é própria somente é informada na Pesagem.
  • Todas as Pesagens são Analisadas: Indica se Todas as Pesagens são Analisadas para a Cultura/Ocupação. Se configurado que “Sim”, somente será permitido Finalizar a Pesagem se a mesma possuir análise registrada. A finalização da Pesagem irá integrar com o ERP alimentando o estoque de Matéria Prima (desde que a Unidade Receptora esteja configurada para integrar com o Estoque). Por padrão o campo é desmarcado.

-    Beneficiamento:

  • Utilizar Blocos de Produtos Acabados Pré-Cadastrados: Indica se os Blocos de Produtos Beneficiados / Acabados devem estar pré-cadastrados (marcado indica que sim e desmarcado indica que não). Quando configurado para utilizar blocos pré-cadastrados, no apontamento de blocagem do beneficiamento para a Cultura/Ocupação obrigará que o bloco informado esteja previamente cadastrado.
  • Permite repetir número de Bloco em Períodos de Produção distintos: Indica se no Apontamento de Blocagem (Módulo de Beneficiamento) poderá ter mais de um registro para a mesma Ocupação, Unidade Administrativa e número de Bloco para Períodos de Produção distintos. Caso essa configuração não esteja marcada, haverá uma validação impedindo que exista mais de um Apontamento de Blocagem com essa característica.
  • Permite finalizar e integrar produtos no Apontamento de Blocagem: Indica se o usuário poderá finalizar e integrar os produtos beneficiados no Apontamento de Blocagem (Módulo de Beneficiamento).
  • Classificação como Referência na Entrada em Estoque (EMS Datasul): Indica se a Classificação no Beneficiamento será enviada na integração de Entrada em Estoque do EMS Datasul como sendo a Referência no ERP. (Marcado indica que ‘Sim’ e desmarcado indica que ‘Não’).
  • Bloco como Localização na Entrada em Estoque (EMS Datasul): Indica se o Bloco no Beneficiamento será enviado na integração de Entrada em Estoque do EMS Datasul como sendo a Localização no ERP. (Marcado indica que ‘Sim’ e desmarcado indica que ‘Não’).

-    Receitas:

  • Necessita de Contrato de Venda da Produção para produto Matéria Prima: Indica se para Cultura/Ocupação é necessário possuir Contrato de Venda Produção ao registrar a Produção de Matéria Prima. Valor padrão “Não”. Quando configurado que “Sim”, ao registrar a Pesagem ou Manutenção de Pesagem ou Beneficiamento para Produto Matéria Prima o sistema irá verificar se existe Contrato de Venda de Produção vigente para o Local de Produção e Produto, se não existir não permitirá registrar a produção.
  • Necessita de Contrato de Venda da Produção para produto Beneficiado: Indica se para Cultura/Ocupação é necessário possuir Contrato de Venda Produção ao registrar a Produção dos produtos Beneficiados / Acabados. Valor padrão “Não”. Quando configurado que “Sim”, ao registrar o Beneficiamento para Produto Beneficiado / Acabado o sistema irá verificar se existe Contrato de Venda de Produção vigente para o Local de Produção e Produto, se não existir não permitirá registrar a produção.

 -    Ordem de Colheita:

  • Controle de Colheita por Talhão e Variedade: Indica se a Cultura/Ocupação possui controle de colheita por Talhão e Variedade. Valor padrão “Não”. Quando configurado para Controle de Colheita por Talhão e Variedade, na Ordem de Colheita é obrigatório informar a Variedade do Talhão para o qual está sendo aberta a Ordem de Colheita, se o Talhão possuir apenas uma variedade o sistema já irá carregá-la automaticamente.
  • Obrigar a informar Equipe: Indica se o campo “Equipe” é obrigatório na Ordem de Colheita. Quando marcado indica que a Equipe é obrigatória e será validada na Ordem de Colheita. Por padrão o campo é marcado.
  • Obrigar a informar Unidade Receptora: Indica se o campo “Unidade Receptora” é obrigatório na Ordem de Colheita. Quando marcado indica que o campo Unidade Receptora é obrigatório e será validado na Ordem de Colheita. Por padrão o campo é marcado.
  • Obrigar a informar Sistema de Colheita: Indica se o campo “Sistema de Colheita” é obrigatório na Ordem de Colheita. Quando marcado indica que o campo Sistema de Colheita é obrigatório e será validado na Ordem de Colheita. Por padrão o campo é marcado.

Especificação Técnica:

Tabelas:

Descrição

Nome

Situação

Cadastro de Cultura/Ocupação

OCUPACAO

Existente

 

- Incluir os seguintes campos na Tabela OCUPACAO

ALTER TABLE OCUPACAO ADD QT_KG_EST_PAD NUMBER(10,4);

COMMENT ON COLUMN OCUPACAO.QT_KG_EST_PAD IS 'Estimativa (KG) padrão';

ALTER TABLE OCUPACAO ADD FG_UNIREC_PES VARCHAR2(1) DEFAULT 'S' NOT NULL;

COMMENT ON COLUMN OCUPACAO.FG_UNIREC_PES IS 'Obrigatório informar A Unidade Receptora na Pesagem de Matéria Prima';

ALTER TABLE OCUPACAO ADD FG_EQUIPE_PES VARCHAR2(1) DEFAULT 'S' NOT NULL;

COMMENT ON COLUMN OCUPACAO.FG_EQUIPE_PES IS 'Obrigatório informar a equipe na pesagem de Matéria Prima';

ALTER TABLE OCUPACAO ADD FG_UNIREC_ORDCOLH VARCHAR2(1) DEFAULT 'S' NOT NULL;

COMMENT ON COLUMN OCUPACAO.FG_UNIREC_ORDCOLH IS 'Obrigatório informar a Unidade Receptora na Ordem de Colheita';

ALTER TABLE OCUPACAO ADD FG_EQUIPE_ORDCOLH VARCHAR2(1) DEFAULT 'S' NOT NULL;

COMMENT ON COLUMN OCUPACAO.FG_EQUIPE_ORDCOLH IS 'Obrigatório informar a Equipe na Ordem de Colheita';

ALTER TABLE OCUPACAO ADD FG_SISTCOL_ORDCOLH VARCHAR2(1) DEFAULT 'S' NOT NULL;

COMMENT ON COLUMN OCUPACAO.FG_SISTCOL_ORDCOLH IS 'Obrigatório informar o Sistema de Colheita na Ordem de Colheita';

 

-    Campos tipados da tabela OCUPACAO:

Tabela

Campo

Padrão

Visualização

Gravação

OCUPACAO

FG_UNIREC_PES

S

Sim

S

 

 

 

Não

N

 

FG_EQUIPE_PES

S

Sim

S

 

 

 

Não

N

 

FG_UNIREC_ORDCOLH

S

Sim

S

 

 

 

Não

N

 

FG_EQUIPE_ORDCOLH

S

Sim

S

 

 

 

Não

N

 

FG_SISTCOL_ORDCOLH

S

Sim

S

 

 

 

Não

N

Demais Funcionalidades:

-    Incluir as descrições em vermelho no manual

-    Ajustar a guia de “Configurações” para separar por grupos de configurações.

-    Alterar os seguintes termos:

  • De: Apontamento de Plantio: Não obrigar informar Sistema de Plantio.
  • Para: Não obrigar informar Sistema de Plantio.
  • De: Apontamento de Plantio: Não obrigar informar Sistema de Cultivo.
  • Para: Não Obrigar informar Sistema de Cultivo.
  • De: Beneficiamento - Utilizar Blocos de Produtos Acabados Pré-Cadastrados.
  • Para: Utilizar Blocos de Produtos Acabados Pré-Cadastrados.
  • De: Beneficiamento – Permite repetir número de Bloco em Períodos de Produção distintos.
  • Para: Permite repetir número de Bloco em Períodos de Produção distintos.
  • De: Beneficiamento – Permite finalizar e integrar produtos no Apontamento de Blocagem.
  • Para: Permite finalizar e integrar produtos no Apontamento de Blocagem.

-    Incluir o campo para informar Estimativa/ha Padrão na cultura/ocupação que será utilizado para recuperar na Ordem de Colheita e na integração de Pesagem de Matéria Prima (QT_KG_EST_PAD na tabela OCUAPACAO).

-    Não permitir informar valor negativo na Estimativa/ha Padrão (QT_KG_EST_PAD da tabela OCUPACAO).

-    Alterar a guia “Configurações” para agrupar por categoria da seguinte maneira:

  • Beneficiamento:
    • Utilizar Blocos de Produtos Acabados Pré-Cadastrados
    • Permite repetir número de Bloco em Períodos de Produção distintos
    • Permite finalizar e integrar produtos no Apontamento de Blocagem
    • Classificação como Referência na Entrada em Estoque (EMS Datasul)
    • Bloco como Localização na Entrada em Estoque (EMS Datasul)
    • Gerais:
      • Perene
      • Controle por Planta
      • Não obrigar informar Área nos apontamentos
      • Validar Centro de Custo com Período de Produção
      • Possui controle de Ramal por Local de Produção
      • Pesagem - Envio de Ordem de Produção para Entrada em Estoque
      • Informar o número da Nota Fiscal, Série e Tipo da Nota Fiscal na Manutenção da Pesagem, Pesagem e Registro de Colheita
    • Ordem de Colheita:
      • Controle de Colheita por Talhão e Variedade
      • Obrigar a informar Equipe
      • Obrigar a informar Unidade Receptora
      • Obrigar a informar Sistema de Colheita
    • Plantio:
      • Consiste Área de Plantio
      • Plantio com Semente
      • Informar Tratamento de Semente/Muda no Plantio
      • Não obrigar informar Sistema de Plantio
      • Não obrigar informar Sistema de Cultivo
    • Receitas
      • Necessita de Contrato de Venda da Produção para produto Matéria Prima
      • Necessita de Contrato de Venda da Produção para produto Beneficiado
    • Recepção de Matéria Prima:
      • Obrigar a informar Unidade Receptora
      • Obrigar a informar Equipe
      • Usar “Nº de Id. da Carga” na pesagem
      • Todas as Pesagens são Analisadas


     

Quando clicar no mais abrir todas as configurações de todos os agrupamentos.

Quando clicar no menos fechar todas configurações de todos os agrupamentos.

Quando clicar no mais abrir todas as configurações para o agrupamento.

Quando clicar no menos fechar todas as configurações para o agrupamento.

 

 2 - Alterações na Ordem de Colheita para validar Equipe, Unidade Receptora e Sistema de Colheita de acordo com a configuração. Sugerir a estimativa de colheita de acordo com a configuração da Cultura/Ocupação.

 Objetivo: Alterações na Ordem de Colheita para validar Equipe, Unidade Receptora e Sistema de Colheita de acordo com a configuração. Sugerir a estimativa de colheita de acordo com a configuração da Cultura/Ocupação.

Menu: Apontamentos > Colheita > Ordem de Colheita

Entrada de Menu: COLM0005

Esboço da tela:

Dados:

Campos Obrigatórios Condicionais:

-         Equipe: o usuário deve digitar a equipe que está sendo programada para executar a Ordem de Colheita quando configurado “Obrigar a informar Equipe” no cadastro de Cultura/Ocupação, na guia “Configurações” na seção “Ordem de Colheita”, caso contrário não será obrigatório informar a Equipe. Quando informada a Equipe, a mesma deve estar previamente cadastrada para a Unidade Administrativa corrente.

-         Unidade Receptora: o usuário deve indicar a unidade que vai receber a colheita da área que está sendo programada à colheita quando configurado “Obrigar a informar Unidade Receptora”, no cadastro de Cultura/Ocupação, na guia “Configurações” na seção “Ordem de Colheita”, caso contrário não será obrigatório informar a Unidade Receptora. Quando informada a Unidade Receptora, a mesma deve estar previamente cadastrada para a Unidade Administrativa corrente.

-         Sistema de Colheita: o usuário deve indicar o sistema de colheita que vai ser executado na área, ex.: mecanizado, manual, etc. Quando configurado “Obrigar a informar Sistema de Colheita “, no cadastro de Cultura/Ocupação na guia “Configurações” na seção “Ordem de Colheita, caso contrário não será obrigatório informar o Sistema de Colheita. Quando informado o Sistema de Colheita deve estar previamente cadastrado.

Detalhes:

Campos Obrigatórios:

Informar apenas um talhão por Ordem de Colheita.

-    Estimativa (kg/ha): o usuário deve digitar a estimativa de colheita para o talhão que deve ser colhido, no entanto se o usuário já tiver realizado a estimativa de colheita o sistema recupera a estimativa automaticamente ou poderá ser recuperado pela Estimativa/ha padrão informada no cadastro de Cultura/Ocupação ou poderá ser informado pelo usuário a estimativa que deve ser colhida.

 

Especificação Técnica:

 Tabelas:

Descrição

Nome

Situação

Apontamento de Ordem de Colheita

ORDCOLHEITA

Existente

Apontamento de Ordem de Colheita – Detalhes

ORDCOLHEITA_LC

Existente

 

-    Remover a obrigatoriedade na tabela Ordem de Colheita dos seguintes campos.

ALTER TABLE ORDCOLHEITA MODIFY ID_EQUIPE NUMBER(38,0) NULL;

ALTER TABLE ORDCOLHEITA MODIFY ID_UNIRECEPTORA NUMBER(38,0) NULL;

ALTER TABLE ORDCOLHEITA MODIFY ID_SISTCOLHEITA NUMBER(38,0) NULL;

-    Quando configurado “Obrigar a informar Equipe” no cadastro de Culturas/Ocupação (FG_EQUIPE_ORDCOLH igual a “S” da tabela OCUPACAO) será obrigatório informar a Equipe, caso contrário a Equipe não será obrigatório.

-    Quando configurado “Obrigar a informar Unidade Receptora” no cadastro de Culturas/Ocupação (FG_UNIREC_ORDCOLH igual a “S” da tabela OCUPACAO) será obrigatório informar a Unidade Receptora, caso contrário a Unidade Receptora não será obrigatório.

-    Quando configurado “Obrigar a informar Sistema de Colheita” no cadastro de Culturas/Ocupação (FG_SISTCOL_ORDCOLH igual a “S” da tabela OCUPACAO) será obrigatório informar o Sistema de Colheita, caso contrário o Sistema de Colheita não será obrigatório.

-    Quando não encontrar estimativa informada para o (Ano Agrícola, Período de Produção, [Fazenda], [Setor] e [Talhão], recuperar a Estimativa (kg/ha) padrão do cadastro de cultura/ocupação (QT_KG_EST_PAD da tabela OCUPACAO) uma vez informada não será mais recuperada a estimativa.


 3 - Alteração na Pesagem de Matéria Prima para validação da Unidade Receptora e Equipe cadastrada de acordo com as configurações por Cultura/Ocupação. Reposicionamento do campo Unidade Receptora e Ocupação. Inclusão do campo e filtro “Número de pesagem externa”.

Objetivo: Validação da Unidade Receptora e Equipe cadastrada na Pesagem de Matéria Prima de acordo com as configurações por Cultura/Ocupação. Reposicionamento do campo Ocupação para ficar antes do campo Unidade Receptora para que a validação de obrigatoriedade do campo Unidade Receptora seja de acordo com a Ocupação. Inclusão do campo e filtro “Número de pesagem externa”.

Menu: Apontamentos > Colheita > Pesagem

Entrada de Menu: COLM0007

Esboço da tela:

Dados:

 Dados

Campos Obrigatórios Condicionais:

 -         Unidade Receptora: Unidade que está fazendo a recepção da Matéria Prima, o sistema já carrega automaticamente com a Unidade Receptora da Ordem de Colheita. Campo desabilitado quando o Boletim de Pesagem estiver liberado para alteração e informado para NÃO integrar novamente. A Unidade Receptora será obrigatória, quando configurado “Obrigar a informar Unidade Receptora”, no cadastro de Cultura/Ocupação, na guia “Configurações” na seção “Recepção de Matéria Prima”, caso contrário não será obrigatório informar a Unidade Receptora. Para “Finalizar” o boletim de pesagem é obrigatório informar a Unidade Receptora. Quando informada, a Unidade Receptora deve estar previamente cadastrada para a Unidade Administrativa corrente. Para pagamento de Transporte de Matéria Prima por Distância a Unidade Receptora deve ser informada.

 -         Equipe: Equipe de colheita, o sistema carrega automaticamente com a Equipe da Ordem de Colheita, podendo o usuário alterar. A Equipe será obrigatória quando configurado “Obrigar a informar Equipe” no cadastro de Cultura/Ocupação, na guia “Configurações” na seção “Recepção de Matéria Prima”, caso contrário não será obrigatório informar a Equipe. Quando informada, a Equipe deve estar previamente cadastrada para a Unidade Administrativa corrente.

 Demais Campos:

 -    Número de Pesagem Externa: Número da Pesagem realizada em sistema externo. (Tamanho do campo: 20 caracteres).

 Demais Funcionalidades:

  -    Finalizar: Finaliza a Pesagem realizando a entrada da Matéria Prima no estoque do ERP.

 Regras para Finalizar e integrar a Pesagem:

  • Somente é permitido “Finalizar” se o Peso Líquido, Primeira Pesagem e Segunda Pesagem forem maior que 0 (zero).
  • Se estiver configurado que “Todas as Pesagens são Analisadas” para a Cultura/Ocupação a qual pertence à Pesagem, somente será permitido Finalizar desde que possua Análise para a Pesagem, caso contrário será emitida a mensagem “É obrigatório realizar Análise de Matéria Prima para a Pesagem”.
  • Somente é permitido “Finalizar” se a Unidade Receptora estiver informada.
  • Somente será integrado com o ERP se a Unidade Receptora estiver configurada para integrar com o Estoque.

 Filtros:

 -    Número de Pesagem Externa: Número da Pesagem realizada em sistema externo. (Tamanho do campo: 20 caracteres).

 Especificação Técnica:

 Tabelas:

Descrição

Nome

Situação

Apontamento de Pesagem de Matéria Prima

APPESAGEMMP

Existente

-         Incluir o campo (NO_BOLETIM_EXT) na tabela APPESAGEMMP.

 ALTER TABLE APPESAGEMMP ADD NO_BOLETIM_EXT VARCHAR2(20);

COMMENT ON COLUMN APPESAGEMMP.NO_BOLETIM_EXT IS 'Número da Pesagem externa gerado pelo ERP';

 Demais Funcionalidades:

 -         Quando informar o Número da Pesagem Externa o mesmo deverá ser gravada na tabela APPESAGEMMO campo NO_BOLETIM_EXT.

 -         Quando configurado “Obrigar a informar a Unidade Receptora” no cadastro de Culturas/Ocupação (FG_UNIREC_PES igual a “S” na tabela OCUAPACAO) a Unidade Receptora será obrigatória, caso contrário a Unidade Receptora não será obrigatória.

 -         Quando configurado “Obrigar a informar a Equipe” no cadastro e Culturas/Ocupação (FG_EQUIPE_PES igual a “S” da tabela OCUPACAO) a Equipe será obrigatório, caso contrário a Equipe não será obrigatória.

 -         Permitir finalizar a pesagem quando possuir Unidade Receptora informada (ID_UNIRECEPTORA da APPESAGEMMP).

 -         Quando informar o filtro “Número da Pesagem da Externa”, buscar todas as Pesagens que possuem o número de pesagem externa igual ao filtro (NO_BOLETIM_EXT da tabela APPESAGEMMP).

 -         Verificar os SQLs que fazem JOIN com a Equipe e Unidade Receptora para LEFT JOIN, pois estes campos podem ficar em branco.

 -         O método selectOrdemColheitaByIdCarga da classe PesagemDAO faz relacionamento com JOIN com a tabela EQUIPE e UNIRECEPTORA da Ordem Colheita. Deve-se alterar para LEFT JOIN já que esses campos passaram a não ser obrigatórios na Ordem de Colheita. Testar informando um “Número. ID Carga” que possui Registro de Colheita cadastrado e com a Ordem de Colheita sem a Unidade Receptora e sem a Equipe.

4 - Alteração na Manutenção da Pesagem de Matéria Prima para validação da Unidade Receptora e Equipe cadastrada de acordo com as configurações por Cultura/Ocupação. Reposicionamento do campo Unidade Receptora e Ocupação. Inclusão do campo e filtro “Número de pesagem externa”.

Objetivo: Validação da Unidade Receptora e Equipe cadastrada na Manutenção da Pesagem de Matéria Prima de acordo com as configurações por Cultura/Ocupação. Reposicionamento do campo Ocupação para ficar antes do campo Unidade Receptora para que a validação de obrigatoriedade do campo Unidade Receptora seja de acordo com a Ocupação. Inclusão do campo e filtro “Número de pesagem externa”.

 Menu: Apontamentos > Colheita > Manutenção da Pesagem

Entrada de Menu: COLM0006

Esboço da tela:

Dados:

 Dados

Campos Obrigatórios Condicionais:

 -         Unidade Receptora: Unidade que está fazendo a recepção da Matéria Prima, o sistema já carrega automaticamente com a Unidade Receptora da Ordem de Colheita. Campo desabilitado quando o Boletim de Pesagem estiver liberado para alteração e informado para NÃO integrar novamente. A Unidade Receptora será obrigatória, quando configurado “Obrigar a informar Unidade Receptora”, no cadastro de Cultura/Ocupação, na guia “Configurações” na seção “Recepção de Matéria Prima”, caso contrário não será obrigatório informar a Unidade Receptora. Para “Finalizar” o boletim de pesagem é obrigatório informar a Unidade Receptora. Quando informada, a Unidade Receptora deve estar previamente cadastrada para a Unidade Administrativa corrente. Para pagamento de Transporte de Matéria Prima por Distância a Unidade Receptora deve ser informada.

-         Equipe: Equipe de colheita, o sistema carrega automaticamente com a Equipe da Ordem de Colheita, podendo o usuário alterar. A Equipe será obrigatória quando configurado “Obrigar a informar Equipe” no cadastro de Cultura/Ocupação, na guia “Configurações” na seção “Recepção de Matéria Prima”, caso contrário não será obrigatório informar a Equipe. Quando informada, a Equipe deve estar previamente cadastrada para a Unidade Administrativa corrente.

 Demais Campos:

-    Número de Pesagem Externa: Número da Pesagem realizada em sistema externo. (Tamanho do campo: 20 caracteres).

 Demais Funcionalidades:

 -    Finalizar: Finaliza a Pesagem realizando a entrada da Matéria Prima no estoque do ERP.

Regras para Finalizar e integrar a Pesagem:

  • Somente é permitido “Finalizar” se o Peso Líquido, Primeira Pesagem e Segunda Pesagem forem maior que 0 (zero).
  • Se estiver configurado que “Todas as Pesagens são Analisadas” para a Cultura/Ocupação a qual pertence à Pesagem, somente será permitido Finalizar desde que possua Análise para a Pesagem, caso contrário será emitida a mensagem “É obrigatório realizar Análise de Matéria Prima para a Pesagem”.
  • Somente é permitido “Finalizar” se a Unidade Receptora estiver informada.
  • Somente será integrado com o ERP se a Unidade Receptora estiver configurada para integrar com o Estoque.

 Filtros:

-    Número de Pesagem Externa: Número da Pesagem realizada em sistema externo. (Tamanho do campo: 20 caracteres).

Especificação Técnica:

 Tabelas:

Descrição

Nome

Situação

Apontamento de Pesagem de Matéria Prima

APPESAGEMMP

Existente

 -         O método selectOrdemColheitaByIdCarga da classe PesagemDAO faz relacionamento com JOIN com a tabela EQUIPE e UNIRECEPTORA da Ordem Colheita. Deve-se alterar para LEFT JOIN já que esses campos passaram a não ser obrigatórios na Ordem de Colheita. Testar informando um “Número. ID Carga” que possui Registro de Colheita cadastrado e com a Ordem de Colheita sem a Unidade Receptora e sem a Equipe.

Demais Funcionalidades:

-         Quando informar o Número da Pesagem Externa o mesmo deverá ser gravada na tabela APPESAGEMMO campo NO_BOLETIM_EXT.

-         Quando configurado “Obrigar a informar a Unidade Receptora” no cadastro de Culturas/Ocupação (FG_UNIREC_PES igual a “S” na tabela OCUAPACAO) a Unidade Receptora será obrigatória, caso contrário a Unidade Receptora não será obrigatória.

-         Quando configurado “Obrigar a informar a Equipe” no cadastro e Culturas/Ocupação (FG_EQUIPE_PES igual a “S” da tabela OCUPACAO) a Equipe será obrigatório, caso contrário a Equipe não será obrigatória.

-         Permitir finalizar a pesagem quando possuir Unidade Receptora informada (ID_UNIRECEPTORA da APPESAGEMMP).

-         Quando informar o filtro “Número da Pesagem da Externa”, buscar todas as Pesagens que possuem o número de pesagem externa igual ao filtro (NO_BOLETIM_EXT da tabela APPESAGEMMP).

-         Verificar os SQLs que fazem JOIN com a Equipe e Unidade Receptora para LEFT JOIN, pois estes campos podem ficar em branco.

 

5 - Alteração na Análise de Matéria Prima para não permitir “Finalizar” se não possuir Unidade Receptora informada na Pesagem.

Objetivo: Alteração na Análise de Matéria Prima para não permitir “Finalizar” se não possuir Unidade Receptora informada na Pesagem.

 Menu: Apontamentos > Colheita > Análise Matéria Prima

Entrada de Menu: COLM0008

Esboço da tela:

Dados:

Demais Campos:

-    Valor Desconto: É o valor em Kg descontado de acordo com o valor de análise da característica. Para ser calculado o desconto é necessário possuir tabela de descontos para a característica da ocupação. A tabela de desconto é por vigência, ou seja, a tabela será a de maior data desde que a data seja menor ou igual à data de movimento da pesagem (para cada característica). Quando não configurado “Obrigar a informar Unidade Receptora”, no cadastro de Cultura/Ocupação, na guia “Configurações” na seção “Recepção de Matéria Prima”, e apontar a Análise de Matéria Prima para uma Pesagem que não possui Unidade Receptora, não será calculado o Valor do Desconto.

 Demais Funcionalidades:

 -    Finalizar: Finaliza a Pesagem realizando a entrada da Matéria Prima no estoque do ERP.

Regras para Finalizar e integrar a Pesagem:

  • Somente é permitido “Finalizar” se o Peso Líquido, Primeira Pesagem e Segunda Pesagem forem maior que 0 (zero).
  • Se estiver configurado que “Todas as Pesagens são Analisadas” para a Cultura/Ocupação a qual pertence à Pesagem, somente será permitido Finalizar desde que possua Análise para a Pesagem, caso contrário será emitida a mensagem “É obrigatório realizar Análise de Matéria Prima para a Pesagem”.
  • Somente é permitido “Finalizar” se a Unidade Receptora estiver informada na Pesagem.
  • Somente será integrado com o ERP se a Unidade Receptora estiver configurada para integrar com o Estoque.

Especificação Técnica:

 Demais Funcionalidades

-         Quando não estiver configurado “Obrigar a informar Unidade Receptora”, no cadastro de Cultura/Ocupação, na guia “Configurações” na seção “Recepção de Matéria Prima” (FG_UNIREC_PES igual a “N” na tabela OCUAPACAO), e apontar a Análise de Matéria Prima para uma Pesagem que não possui Unidade Receptora (ID_UNIRECEPTORA vazio da tabela APPESAGEMMP), não será calculado o valor do desconto.

-         Permitir finalizar a Análise de Matéria Prima quando possuir Unidade Receptora informada (ID_UNIRECEPTORA da APPESAGEMMP).

 

6 - Alteração no relatório Ordem de Colheita para contemplar Equipe, Unidade Receptora e Sistema de Colheita não informados na Ordem de Colheita.

Objetivo: Alteração no relatório Ordem de Colheita para contemplar Equipe, Unidade Receptora e Sistema de Colheita não informados na Ordem de Colheita.

 Menu: Visões > Colheita > Ordem de Colheita

Entrada de Menu: COLV0012

Esboço da tela:

Dados:

Visão Sumário geral

Visão Encerramento de Colheita

 Especificação Técnica:

-         Verificar os SQLs que fazem JOIN com a Unidade Receptora, Equipe e Sistema de Colheita para ser com LEFT JOIN pois pode ser apontado uma Ordem de Colheita sem as informações de Unidade Receptora, Equipe e Sistema de Colheita.


7 - Alteração no relatório de Visões de Colheita para contemplar Pesagem sem Equipe e Unidade Receptora.

Objetivo: Alteração no relatório de visões de Colheita para contemplar Pesagem sem Equipe e Unidade Receptora.

Menu: Visões > Colheita > Visões de Colheita

Entrada de Menu: COLV0013

Esboço da tela:

Dados:

Visão – Classificação de Matéria Prima por Romaneio

Visão – Classificação de Matéria Prima por Talhão

Visão – Médias de Classificação por Equipe

Visão – Sumário de Produção Diário de Colheita

 

Visão – Resumo Diário de Colheita

 

Visão – Controle de Produção por Variedade

Visão – Classificação de Pesagem de Matéria Prima por Equipe

Especificação Técnica:

 -         Verificar os SQLs que fazem JOIN com a Unidade Receptora e Equipe para ser com LEFT JOIN pois pode ser apontado uma Pesagem sem as informações de Unidade Receptora e Equipe.

-         Verificar os SQLs que fazem JOIN com a Ordem de Colheita, pois pode ser criado uma Ordem de Colheita sem a Unidade Receptora, Equipe e Sistema de Colheita. Neste caso para ser com LEFT JOIN para a Unidade Receptora, Equipe e Sistema de Colheita do Apontamento de Ordem de Colheita.

 

8 - Alteração no relatório de Pesagens e Análises para contemplar Pesagem sem Equipe e Unidade Receptora não cadastrada.

Objetivo: Alteração no relatório de Pesagens e Análises para contemplar Pesagem sem Equipe e Unidade Receptora não cadastrado.

 Menu: Visões > Colheita > Pesagens e Análises

Entrada de Menu: COLV0015

Esboço da tela:

Dados:

Visão – Analítica de Pesagens

Visão – Sumário de Pesagens

Visão – Analíticos de Análises

Visão – Sumário de Análises

 Especificação Técnica:

  -         Verificar os SQLs que fazem JOIN com a Unidade Receptora e Equipe para ser com LEFT JOIN pois pode ser apontado uma Pesagem sem as informações de Unidade Receptora e Equipe.

 -         Verificar os SQLs que fazem JOIN com a Ordem de Colheita pois pode ser criado uma Ordem de Colheita sem a Unidade Receptora, Equipe e Sistema de Colheita. Neste caso para ser com LEFT JOIN para a Unidade Receptora, Equipe e Sistema de Colheita do Apontamento de Ordem de Colheita.

 

9 - Alteração no cadastro de Ordem de Colheita para gerar ou atualizar os registros da Ordens de Colheita na tabela intermediária que serão utilizados na Integração de Pesagem de Matéria Prima com ERP.

Objetivo: Alteração no cadastro de Ordem de Colheita para gerar ou atualizar os registros de Ordens de Colheita que serão utilizados na Integração de Pesagem de Matéria Prima com ERP.

 Menu: Apontamentos > Colheita > Ordem de Colheita

Entrada de Menu: COLM0005

Esboço de Tela:

Dados:

Detalhes:

Demais Funcionalidades:

-    Quando incluir o detalhe da Ordem de Colheita, excluir ou alterar a Ordem de Colheita atualizar a tabela intermediária que é utilizada na integração de Pesagem de Matéria Prima (ERP) com as seguintes informações:

Campo

Descrição

Identificação da Ordem de Colheita

Identificação da Ordem de Colheita criada na inclusão da ordem.

Número da Ordem de Colheita

Número da Ordem de Colheita criada na inclusão da ordem

Data da Ordem

Data da abertura da Ordem de Colheita

Código da Equipe

Código da Equipe da Ordem e Colheita

Nome da Equipe

Nome da Equipe

Código Unidade Receptora

Código da Unidade Receptora da Ordem de Colheita

Descrição Unidade receptora

Descrição da Unidade Receptora

Código ERP da Unidade Receptora

Código ERP da Unidade Receptora

Data Início Previsão Colheita

Data início da previsão de colheita da Ordem de Colheita

Data Encerramento Previsão de Colheita

Data de encerramento da Previsão de Colheita da Ordem de Colheita

Tipo da Ordem de Colheita

Tipo da Ordem de Colheita (C=comercial / S=semente)

Situação Ordem de Colheita

Situação da Ordem de Colheita (A=aberta / F=fechada)

Data de Encerramento

Data de Encerramento da Ordem de Colheita

Origem do Encerramento

Origem do Encerramento (M=Manual / P=Período Produção)

Data Reabertura

Data da Reabertura da Ordem de Colheita

Código do Sistema de Colheita

Código do sistema de colheita da Ordem de Colheita

Descrição do Sistema de Colheita

Descrição do sistema de colheita

Código da Safra

Código da safra da Ordem de Colheita

Descrição da Safra

Descrição da safra

Código Período de Produção

Código do Período de Produção

Descrição do Período de Produção

Descrição do Período de Produção

Código da [Fazenda]

Código da [Fazenda] da Ordem de Colheita

Descrição da [Fazenda]

Descrição da [Fazenda]

Código do [Setor]

Código do [Setor] da Ordem de Colheita

Descrição do [Setor]

Descrição do [Setor]

Código do [Talhão]

Código do Talhão da Ordem de Colheita

Código da Ocupação

Código da Ocupação do [Talhão]

Descrição da Ocupação

Descrição da Ocupação do [Talhão]

Código do Produto

Código do Produto associado a Variedade, caso não encontre será o código do produto associado à Cultura/Ocupação caso contrário será gerado sem informação.

Descrição do Produto

Descrição do Produto

Código ERP do Produto

Código ERP do Produto

Código da Variedade

Código da Variedade associado ao [Talhão]

Descrição da Variedade

Descrição da variedade

Código do [Talhão]

Código do Talhão da Ordem de Colheita

Área Colhida

Quantidade da área a ser colhida no [Talhão]

Quilos Estimados

Quantidade de quilos estimados a ser colhido no [Talhão]

Unidade Administrativa

Código da Unidade Administrativa da Ordem de Colheita

Unidade Administrativa ERP

Código da Unidade Administrativa ERP da Ordem de Colheita

Descrição da Unidade Administrativa

Descrição da Unidade Administrativa

Data da Última Atualização

Data da última alteração da Ordem de Colheita

Último Usuário de Atualização

Último usuário que alterou a Ordem de Colheita

Especificação Técnica:

Tabelas:

Descrição

Nome

Situação

Tabela de Interface ERP – Ordem de Colheita

BRG_ORDCOLHEITA_ERP

Nova

 

Demais Funcionalidades:

-         Quando incluir o detalhe da Ordem de Colheita (ORDCOLHEITA_LC), gravar a tabela intermediaria (BRG_ORDCOLHEITA_ERP) com as informações da Ordem de Colheita (ORDCOLHEITA) e com as informações do detalhe (ORDCOLHEITA_LC).

-         Quando alterar a Ordem de Colheita (ORDCOLHEITA), verificar se a ordem de colheita tem informação na tabela intermediária (BRG_ORDCOLHEITA_ERP), caso exista gravar as alterações efetuadas na Ordem de Colheita (ORDCOLHEITA) na tabela intermediária (BRG_ORDCOLHEITA_ERP).

-         Quando alterar o detalhe da Ordem de Colheita (ORDCOLHEITA_LC), verificar se a ordem de colheita tem informação na tabela intermediária (BRG_ORDCOLHEITA_ERP), caso exista gravar as alterações efetuados no detalhe da ordem de colheita (ORDCOLHEITA_LC) na tabela intermediária (BRG_ORDCOLHEITA_ERP), caso não exista deverá gravar a ordem de colheita e o detalhe na tabela intermediária.

-         Quando excluir a Ordem de Colheita, verificar se a mesma tem informação na tabela intermediária (BRG_ORDCOLHEITA_ERP), caso exista deve apagar a Ordem de Colheita da tabela intermediária (BRG_ORDCOLHEITA_ERP).

-         Quando excluir o detalhe da Ordem de Colheita, verificar se a mesma tem informação na tabela intermediária (BRG_ORDCOLHEITA_ERP), caso exista apagar a Ordem e Colheita da tabela intermediária (BRG_ORDCOLHEITA_ERP).  

 

Campo

Descrição

ID_ORDCOLHEITA

Identificador da Ordem de Colheita (ID_ORDCOLHEITA da tabela ORDCOLHEITA)

NO_ORDCOLHEITA

Número da Ordem de Colheita (NO_ORDCOLHEITA da tabela ORDCOLHEITA)

DT_ORDEM

Data da Ordem de Colheita (DT_ORDEM da tabela ORDCOLHEITA)

CD_EQUIPE

Código da Equipe (CD_EQUIPE da tabela EQUIPE). Recuperar o código da equipe pelo identificador da equipe (ID_EQUIPE da tabela ORDCOLHEITA). Quando não configurado “Obrigar a informar a Equipe” no cadastro de Culturas/Ocupação (FG_EQUIPE_ORDCOLH da tabela OCUPACAO) o código da equipe pode ficar vazio.

DE_EQUIPE

Nome da Equipe (DE_EQUIPE da tabela EQUIPE). Recuperar a descrição da equipe pelo identificador da equipe (ID_EQUIPE da tabela EQUIPE). Quando não configurado “Obrigar a informar a Equipe” no cadastro de Culturas/Ocupação (FG_EQUIPE_ORDOLH da tabela OCUPACAO) a descrição da equipe pode ficar vazia.

CD_UNI_RECEP

Código da Unidade Receptora (CD_UNI_RECEP da tabela UNIRECEPTORA). Recuperar o código da unidade receptora pelo identificador da unidade receptora (ID_UNIRECEPTORA da tabela ORDCOLHEITA). Quando não configurado “Obrigar a informar Unidade Receptora” no cadastro de Culturas/Ocupação (FG_UNIREC_ORDCOLH da tabela OCUPACAO) o código da unidade receptora pode ficar vazia.

DE_UNI_RECEP

Descrição da Unidade Receptora (DE_UNI_RECEP da tabela UNIRECEPTORA). Recuperar a descrição da unidade receptora pelo identificador da unidade receptora (ID_UNIRECEPTORA da tabela ORDCOLHEITA). Quando não configurado “Obrigar a informar Unidade Receptora” no cadastro de Culturas/Ocupação (FG_UNIREC_ORDCOLH da tabela OCUPACAO) a descrição da unidade receptora pode ficar vazia.

CD_UNI_RECEP_ERP

Código da Unidade Receptora no ERP (CD_INT_ERP da tabela UNIRECEPTORA). Recuperar o código da unidade receptora ERP pelo identificador da unidade receptora (ID_UNIRECEPTORA da tabela ORDCOLHEITA). Quando não configurado “Obrigar a informar Unidade Receptora” no cadastro de Culturas/Ocupação (FG_UNIREC_ORDCOLH da tabela OCUPACAO) a código da unidade receptora no ERP pode ficar vazia.

DT_COLH_INI_PREV

Data de início de previsão da colheita (DT_COLH_INI_PREV da tabela ORDCOLHEITA).

DT_COLH_ENC_PREV

Data fim de previsão da colheita (DT_COLH_ENC_PREV da tabela ORDCOLHEITA).

FG_TIPO

Tipo da Ordem de Colheita (C=comercial / S=semente) (FG_TIPO da tabela ORDCOLHEITA).

FG_SITUACAO

Situação da Ordem de Colheita (A=aberta / F=fechada) (FG_SITUACAO da tabela ORDCOLHEITA).

DT_ENC

Data de Encerramento da Ordem de Colheita (DT_ENC da tabela ORDCOLHEITA)

FG_ORIGEM_ENC

Origem do Encerramento (M=Manual / P=Período Produção) (FG_ORIGEM_ENC da tabela ORDCOLHEITA).

DT_REABERTURA

Data da Reabertura da Ordem de Colheita (DT_REABERTURA da tabela ORDCOLHEITA).

CD_SIST_COLH

Código do Sistema de Colheita (CD_SIST_COLH da tabela SISTCOLHEITA). Recuperar o código do sistema de colheita pelo identificador do sistema de colheita (ID_SISTCOLHEITA da tabela ORDCOLHEITA). Quando não configurado “Obrigar a informar o Sistema de Colheita” no cadastro de Culturas/Ocupação (FG_SISTCOL_ORDCOLH da tabela OCUPACAO) o código do sistema de colheita pode ficar vazio.

DE_SIST_COLH

Descrição do Sistema de Colheita (DE_SIST_COLH da tabela SISTCOLHEITA). Recuperar a descrição do sistema de colheita pelo identificador do sistema de colheita (ID_SISTCOLHEITA da tabela ORDCOLHEITA). Quando não configurado “Obrigar a informar o Sistema de Colheita” no cadastro de Culturas/Ocupação (FG_SISTCOL_ORDCOLH da tabela OCUPACAO) a descrição do sistema de colheita pode ficar vazia.

CD_SAFRA

Código da Safra (CD_SAFRA da tabela SAFRA). Recuperar o código da safra pelo identificador do upnivel3 (ID_UPNIVEL3 da tabela ORDCOLHEITA_LC), com o identificador do upnivel3, recuperar o período de safra (ID_PERIODOSAFRA da tabela UPNIVEL3), com o identificador do período de safra, recuperar o identificador da safra (ID_SAFRA da tabela PERIODOSAFRA) e com o identificador da safra recuperar o código da safra.

DE_SAFRA

Descrição da Safra (DE_SAFRA da tabela SAFRA). Recuperar a descrição da safra pelo identificador do upnivel3 (ID_UPNIVEL3 da tabela ORDCOLHEITA_LC), com o identificador do upnivel3, recuperar o período de safra (ID_PERIODOSAFRA da tabela UPNIVEL3), com o identificador do período de safra, recuperar o identificador da safra (ID_SAFRA da tabela PERIODOSAFRA) com o identificador da safra recuperar a descrição da safra.

CD_PER_SAFRA

Código do Período de Safra (CD_PER_SAFRA da tabela PERIODOSAFRA). Recuperar o código do período de safra pelo identificador do upnivel3 (ID_UPNIVEL3 da tabela ORDCOLHEITA_LC), com o identificador do upnivel3, recuperar o período de safra (ID_PERIODOSAFRA da tabela UPNIVEL3) e com o identificador do período de safra recuperar o código do período de safra.

DE_PER_SAFRA

Descrição do Período de Safra (DE_PER_SAFRA da tabela PERIODOSAFRA). Recuperar a descrição do período de safra pelo identificador do upnivel3 (ID_UPNIVEL3 da tabela ORDCOLHEITA_LC), com o identificador do upnivel3, recuperar o período de safra (ID_PERIODOSAFRA da tabela UPNIVEL3) e com o identificador do período e safra recuperar a descrição do período de safra.

CD_UPNIVEL1

Código da [Fazenda] (CD_UPNIVEL1 da tabela UPNIVEL1). Recuperar o código do upnivel1 pelo identificador do upnivel3 (ID_UPNIVEL3 da tabela ODCOLHEITA_LC), com o identificador do upnivel3, recuperar o upnivel2 (ID_UPNIVEL2 da tabela UPNIVEL3), com o identificador do upnivel2, recuperar o upnivel1 (ID_UPNIVEL1 da tabela UPNIVEL2) e com o identificador do upnivel1 recuperar o código do upnivel1.

DE_UPNIVEL1

Descrição da [Fazenda] (DE_UPNIVEL1 da tabela UPNIVEL1). Recuperar a descrição do upnivel1 pelo identificador do upnivel3 (ID_UPNIVEL3 da tabela ORDCOLHEITA_LC), com o identificador do upnivel3, recuperar o upnivel2 (ID_UPNIVEL2 da tabela UPNIVEL3), com o identificador do upnivel2, recuperar o upnivel1 (ID_UPNIVEL1 da tabela UPNIVEL2) e com o identificador do upnivel1 recuperar a descrição do upnivel1.

CD_UPNIVEL2

Código da [Setor] (CD_UPNIVEL2 da tabela UPNIVEL2). Recuperar o código do upnivel2 pelo identificador do upnivel3 (ID_UPNIVEL3 da tabela ORDCOLHEITA_LC), com o identificador do upnivel3, recuperar o upnivel2 (ID_UPNIVEL2 da tabela UPNIVEL3) e com o identificador do upnivel2 recuperar o código do upnivel2.

DE_UPNIVEL2

Descrição do [Setor] (DE_UPNIVEL2 da tabela UPNIVEL2). Recuperar a descrição do upnivel2 pelo identificador do upnivel3 (ID_UPNIVEL3 da tabela ORDCOLHEITA_LC), com o identificador do upnivel3, recuperar o upnivel2 (ID_UPNIVEL2 da tabela UPNIVEL3) e com o identificador do upnivel2 recuperar a descrição do upnivel2.

CD_PRODUTO

Código do Produto (CD_INSUMO da tabela INSUMO). Recuperar o código do produto pelo identificador da variedade (ID_VARIEDADE da tabela ORDCOLHEITA_LC), com o identificador da variedade, recuperar o identificador do produto (ID_INSUMO da tabela VARIEDADE) e com o identificador do produto recuperar o código do produto, caso não encontre produto associado a variedade, recuperar o código do produto pelo identificador do upnivel3 (ID_UPNVEL3 da tabela ORDCOLHEITA_LC), com o identificador do upnivel3, recuperar o identificador do período de produção (ID_PERIODOSAFRA da tabela UPNIVEL3), com o identificador do período de produção recuperar a ocupação (ID_OCUPACAO da tabela PERIODOSAFRA), com o identificador da ocupação, recuperar o identificador do produto (ID_INSUMO da tabela OCUAPACAO) e com o identificador do produto, recuperar o código do produto.

DE_PRODUTO

Descrição do Produto (DE_INSUMO da tabela INSUMO). Recuperar a descrição do produto pelo identificador da variedade (ID_VARIEDADE da tabela ORDCOLHEITA_LC), com o identificador da variedade, recuperar o identificador do produto (ID_INSUMO da tabela VARIEDADE) e com o identificador do produto recuperar a descrição do produto, caso a variedade não for informada na ordem de colheita ou não encontrar produto associado a variedade, recuperar a descrição do produto pelo identificador do upnivel3 (ID_UPNIVEL3 da tabela ORDCOLHEITA_LC), com o identificador do upnivel3, recuperar o identificador do período de produção (ID_PERIODOSAFRA da tabela UPNIVEL3), com o identificador do período de produção recuperar a ocupação (ID_OCUPACAO da tabela PERIODOSAFRA), com o identificador da ocupação, recuperar o identificador do produto (ID_INSUMO da tabela OCUPACAO) e com o identificador do produto, recuperar a descrição do produto.

CD_PRODUTO_ERP

Código do Produto no ERP (CD_INT_ERP da tabela INSUMO). Recuperar o código do produto ERP pelo identificador da variedade (ID_VARIEDADE da tabela ORDCOLHEITA_LC), com o identificador da variedade, recuperar o identificador do produto (ID_INSUMO da tabela VARIEDADE) e com o identificador do produto recuperar o código do produto no ERP, caso a variedade não for informada na ordem de colheita ou não encontrar produto associado a variedade, recuperar o código do produto no ERP pelo identificador do upnivel3 (ID_UPNIVEL3 da tabela ORDCOLHEITA_LC), com o identificador do upnivel3, recuperar o identificador do período de produção (ID_PERIODOSAFRA da tabela UPNIVEL3), com o identificador do período de produção recuperar a ocupação (ID_OCUPACAO da tabela PERIODOSAFRA), com o identificador da ocupação, recuperar o identificador do produto (ID_INSUMO da tabela OCUPACAO) e com o identificador do produto, recuperar o código do produto no ERP.

CD_VARIEDADE

Código a Variedade (CD_VARIEDADE da tabela VARIEDADE). Recuperar o código da variedade pelo identificador da variedade (ID_VARIEDADE da tabela ORDCOLHEITA_LC) e com o identificador da variedade, recuperar o código da variedade.

DE_VARIEDADE

Descrição Da Variedade (DE_VARIEDADE da tabela VARIEDADE). Recuperar a descrição da variedade pelo identificador da variedade (ID_VARIEDADE da tabela ORDCOLHEITA_LC) e com o identificador da variedade, recuperar a descrição da variedade.

CD_UPNIVEL3

Código do [Talhão]. (CD_UPNIVEL3 da tabela UPNIVEL3). Recuperar o código do talhão pelo identificador do talhão (ID_UPNIVEL3 da tabela ORDCOLHEITA_LC) e com o identificador do talhão, recuperar o código do upnivel3.

CD_OCUPACAO

Código da Ocupação do [Talhão]. (CD_OCUPACAO da tabela OCUPACAO). Recuperar o código da Ocupação pelo identificador do talhão (ID_UPNIVEL3 da tabela ORDCOLHEITA_LC), com o identificador do talhão, recuperar o identificador do período de produção (ID_PERIODOSAFRA da tabela UPNIVEL3), com o identificador do período de produção, recuperar o identificador da ocupação (ID_OCUPACAO da tabela PERIODOSAFRA), com o identificador da ocupação, recuperar o código da ocupação.

DE_OCUPACAO

Descrição da Ocupação do [Talhão]. (DE_OCUPACAO da tabela OCUPACAO). Recuperar a descrição da Ocupação pelo identificador do talhão (ID_UPNIVEL3 da tabela ORDCOLHEITA_LC), com o identificador do talhão, recuperar o identificador do período de produção (ID_PERIODOSAFRA da tabela UPNIVEL3), com o identificador do período de produção, recuperar o identificador da ocupação (ID_OCUPACAO da tabela PERIODOSAFRA), com o identificador da ocupação, recuperar a descrição da ocupação.

QT_AREA_COLH

Área do [Talhão] a ser colhida (QT_AREA_COLH da tabela ORDCOLHEITA_LC).

QT_KG_COLH

Estimativa (kg) de colheita para o [Talhão] (QT_KG_COLH da tabela ORDCOLHEITA_LC).

ID_UNIDADEADM

Código da Unidade Administrativa (ID_UNIADEADM da tabela ORDCOLHEITA).

CD_UNI_ADM

Código da Unidade Administrativa (CD_UNI_ADM da tabela UNIDADEADM). Recuperar o código da unidade administrativa pelo identificador da unidade administrativa (ID_UNIDADEADM da tabela ORDCOLHEITA) e com o identificador da unidade administrativa recuperar o código da unidade administrativa.

DE_UNI_ADM

Descrição da Unidade Administrativa (DE_UNI_ADM da tabela UNIDADEADM). Recuperar a descrição da unidade administrativa pelo identificador da unidade administrativa (ID_UNIDADEADM da tabela ORDCOLHEITA) e com o identificador da unidade administrativa recuperar a descrição da unidade administrativa.

CD_UNI_ADM_ERP

Código da Unidade Administrativa no ERP (CD_INT_ERP da tabela UNIDADEADM). Recuperar o código da unidade administrativa no ERP pelo identificador da unidade administrativa (ID_UNIDADEADM da tabela ORDCOLHEITA) e com o identificador da unidade administrativa recuperar o código da unidade administrativa no ERP.

LAST_UPDATE

Última data de alteração (LAST_UPDATE da tabela ORD_COLHEITA).

CHANGED_BY

Último usuário de alteração (LAST_UPATE da tabela ORD_COLHEITA).

 

10 - Alteração no processo de Encerrar/Reabrir a Ordem de Colheita para atualizar os registros da Ordens de Colheita na tabela intermediária que serão utilizados na Integração de Pesagem de Matéria Prima com ERP.

Objetivo: Alteração no processo de Encerrar/Reabrir a Ordem de Colheita para atualizar os registros de Ordens de Colheita que serão utilizados na Integração de Pesagem de Matéria Prima com ERP.

 Menu: Apontamentos > Colheita > Encerrar/Reabrir Ordens de Colheita

Entrada de Menu: COLM0016

Esboço de Tela:

Dados:

Demais Funcionalidades:

-    Quando Encerrar ou Reabrir a Ordem de Colheita, atualizar a tabela intermediária (BRG_ORDCOLHEITA_ERP) encerrando ou reabrindo a ordem conforme o processo.

 Especificação Técnica:

 Tabelas:

Descrição

Nome

Situação

Tabela de Interface ERP – Ordem de Colheita

BRG_ORDCOLHEITA_ERP

Existente

Demais Funcionalidades:

-    Quando encerrar a Ordem de Colheita verificar se a mesma está na tabela intermediária (BRG_ORDCOLHEITA_ERP), caso não esteja a mesma deverá ser gerada na tabela intermediária e atualizar a data de encerramento, a situação para fechada e a origem para manual na ordem de colheita e na tabela intermediária (DT_ENC, FG_ORIGEM_ENC igual a “M” e FG_SITUACAO igual a “F” da tabela BRG_ORDCOLHEITA_ERP). Caso a ordem de colheita esteja na tabela intermediária atualizar a data de encerramento, a situação para fechado e a origem para manual na ordem de colheita e na tabela intermediária (DT_ENC, FG_ORIGEM_ENC igual a “M” e FG_SITUACAO igual a “F” na tabela BRG_ORDCOLHEITA_ERP).

-    Quando reabrir a Ordem de Colheita, verificar se a mesma está na tabela intermediária, caso não esteja a mesma deverá ser gerada na tabela intermediária e remover a data de encerramento, alterar a situação para aberta e a origem para vazio (null) e atualizar a tabela intermediária (DT_ENC, FG_ORIGEM_ENC para vazio (null) e FG_SITUACAO igual a “A” da tabela BRG_ORDCOLHEITA_ERP). Caso a ordem de colheita esteja na tabela intermediária atualizar a data de encerramento, a situação para aberta e a origem para vazio (null) (DT_ENC, FG_ORIGEM_ENC para vazio (null) e FG_SITUACAO igual a “A” Da tabela BRG_ORDCOLHEITA).

 

11 - Alteração no processo de Encerramento do Período de Produção para atualizar os registros da Ordens de Colheita na tabela intermediária que serão utilizados na Integração de Pesagem de Matéria Prima com ERP.

Objetivo: Alteração no processo de Encerramento do Período de Produção para atualizar os registros de Ordens de Colheita que serão utilizados na Integração de Pesagem de Matéria Prima com ERP.

 Menu: Apontamentos > Colheita > Encerramento do Período de Produção

Entrada de Menu: COLM0009

Esboço de Tela:

Dados:

Demais Funcionalidades:

-    Quando Encerrar o Período de Produção, atualizar a tabela intermediária (BRG_ORDEMCOLHEITA_ERP) encerrando a ordem.

 Especificação Técnica:

 Tabelas:

Descrição

Nome

Situação

Tabela de Interface ERP – Ordem de Colheita

BRG_ORDCOLHEITA_ERP

Alteração

 

Demais Funcionalidades:

-    Quando encerrar o Período de Produção verificar se a ordem de colheita está na tabela intermediária (BRG_ORDCOLHEITA_ERP), caso não esteja a mesma deverá ser gerada na tabela intermediária e atualizar a data de encerramento, a situação para fechada e a origem para período de produção na ordem de colheita e na tabela intermediária (DT_ENC, FG_ORIGEM_ENC igual a “P” e FG_SITUACAO igual a “F” da tabela BRG_ORDCOLHEITA_ERP). Caso a ordem de colheita esteja na tabela intermediária atualizar a tabela intermediária com data de encerramento, a situação para fechada e a origem para período de produção (DT_ENC, FG_ORIGEM igual “P” e o FG_SITUACAO igual “F” da tabela BRG_ORDCOLHIETA_ERP).


12 - Alteração no processo de Reabertura do Período de Produção para atualizar os registros da Ordens de Colheita na tabela intermediária que serão utilizados na Integração de Pesagem de Matéria Prima com ERP.

Objetivo: Alteração no processo de Reabertura do Período de Produção para atualizar os registros de Ordens de Colheita que serão utilizados na Integração de Pesagem de Matéria Prima com ERP.

 Menu: Apontamentos > Colheita > Reabertura do Período de Produção

Entrada de Menu: COLP0017

Esboço de Tela:

Dados:

 Demais Funcionalidades:

 -    Quando Reabrir o Período de Produção, atualizar a tabela intermediária (BRG_ORDEMCOLHEITA) reabrindo a ordem.

  Especificação Técnica:

  Tabelas:

Descrição

Nome

Situação

Tabela de Interface ERP – Ordem de Colheita

BRG_ORDCOLHEITA_ERP

Existente

 Demais Funcionalidades:

 -         Quando reabrir o Período de Produção verificar se a ordem de colheita está na tabela intermediária (BRG_ORDCOLHEITA_ERP), caso não esteja a mesma deverá ser gerada na tabela intermediária e atualizar a data de encerramento, a situação para aberta e a origem para vazio (null) na ordem de colheita e na tabela intermediária (DT_ENC, FG_ORIGEM_ENC igual a “P” e o FG_SITUACAO igual a “F” da tabela BRG_ORDCOLHEITA_ERP). Caso a ordem de colheita esteja na tabela intermediária atualizar a data de encerramento, a situação para aberta e a origem para vazio (null) (DT_ENC, FG_ORIGEM_ENC igual a vazio (null) e o FG_SITUACAO igual a “A” da tabela BRG_ORDCOLHEITA_ERP).

 

13 - Desenvolvimento de serviço (WebService) para busca das informações referente a Ordem de Colheita. Protheus ou Datasul buscando as Ordens de Colheita criadas no PIMSMulticultivo.

Objetivo: Desenvolvimento de serviço (WebService) para busca das informações referente a Ordem de Colheita. Protheus e Datasul buscando as Ordens de Colheita criadas no PIMSMulticultivo.

 Estrutura das informações que serão requisitadas para envio das informações referente a Ordem de Colheita:

WebService (XML)

Parâmetros para requisição dos dados

Campo

Descrição

Tipo de dado

Obrigatório

CD_EMPRESA

Código da Empresa

VARCHAR2(20)

Sim

CD_FILIAL

Código da Filial

VARCHAR2(20)

Sim

DT_PESAGEM

Data da Pesagem

Date

Sim

NO_ORDCOLHEITA

Número da Ordem e Colheita

VARCHAR2(10)

Não

CD_PRODUTO_ERP

Código do Produto

VARCHAR2(20)

Não

 

 

Informações Enviadas

Tag-Campo

Descrição

Tipo de dado

Obrigatório

CD_EMPRESA_ERP

Código da Empresa que requisitou a Ordem de Colheita

VARCHAR2(20)

Sim

CD_FILIAL_ERP

Código da Filial que requisitou a Ordem de Colheita

VARCHAR2(20)

Sim

NO_ORDCOLHEITA

Número da Ordem de Colheita

VARCHAR2(10)

Não

DT_ORDEM

Data da Ordem de Colheita

Date

Não

DT_COLH_INI_PREV

Previsão de Início de Colheita

Date

Não

DT_COLH_ENC_PREV

Previsão de Encerramento da Colheita

Date

Não

CD_VARIEDADE

Código da Variedade

NUMBER(10)

Não

DE_VARIEADE

Descrição da Variedade

VARCHAR2(30)

Não

CD_PRODUTO

Código do Produto Matéria Prima

NUMBER(38)

Não

DE_PRODUTO

Descrição do Produto Matéria Prima

VARCHAR2(50)

Não

CD_PRODUTO_ERP

Código do Produto ERP Matéria Prima

VARCHAR2(20)

Não

CD_SIST_COLH

Código do Sistema de Colheita

NUMBER(10)

Não

DE_SIST_COLH

Descrição do Sistema de Colheita

VARCHAR2(30)

Não

CD_UPNIVEL1

Código da [Fazenda]

VARCHAR2(6)

Não

DE_UPNIVEL1

Descrição da [Fazenda]

VARCHAR2(50)

Não

CD_UPNIVEL2

Código do [Setor]

VARCHAR2(6)

Não

DE_UPNIVEL2

Descrição do [Setor]

VARCHAR2(50)

Não

CD_UPNIVEL3

Código do [Talhão]

VARCHAR2(6)

Não

CD_OCUPACAO

Código da Ocupação do [Talhão]

NUMBER(10)

Não

DE_OCUPACAO

Descrição da Ocupação

VARCHAR2(30)

Não

QT_AREA_COLH

Área do [Talhão] a ser colhida

NUMBER(7,2)

Não

QT_KG_COLH

Estimativa (kg) de colheita para o [Talhão]

NUMBER(10,4)

Não

Demais Funcionalidades:

-    Enviar somente as Ordens de Colheita abertas.

-    Enviar somente as Ordens de Colheita pertencentes as Empresa e Filial requisitada, quando não utiliza Unidade Administrativa Centralizadora.

-    Verificar quando utiliza Unidade Administrativa centralizadora enviar todas as Ordens de Colheitas abertas independente da Empresa e Filial requisitada e retornar a Empresa e Filial que requisitou as informações.

-    Quando não encontrar nenhuma ordem para a requisição deverá retornar a mensagem que não encontrou ordem de colheita.

-    Quando requisitar a Ordem de Colheita deverá validar se a mesma está cadastrada, caso não esteja enviar mensagem “Nenhuma Ordem de Colheita encontrada com os critérios de filtragem”.

-    Quando no filtro passar o produto, enviar todas a Ordens de Colheita abertas para o Produto.

 Caso de uso:

-         Quando o ERP requisitar a Ordem de Colheita, o PIMSConector está online e o PIMSMulticultivos está off-line, devolver mensagem para o Protheus ou Datasul para seguir com a pesagem.

-         Quando o ERP requisitar a Ordem de Colheita, o PIMSConector está off-line, neste caso o tempo de resposta é imediato é deve seguir a pesagem.

Fluxo:

XML com os parâmetros requisitando as informações de Ordem de Colheita:

<searchfilter>

 

 

 

 

 

 

<ordemColheita>

 

 

 

 

 

 

<cdEmpresa>

<![CDATA[001]]>

</cdEmpresa>

 

 

 

<cdFilial>

<![CDATA[001]]>

</cdFilial>

 

 

 

<dtPesagem>

<![CDATA[26/08/2015]]>

</dtPesagem>

 

 

 

<noOrdcolheita>

<![CDATA[]]>

</noOrdcolheita>

 

 

 

<cdProduto>

<![CDATA[]]>

</cdProduto>

 

 

</ordemColheita>

 

 

 

 

</searchfilter>

 

 

 

 

 


XML com as informações requisitadas de Ordem de Colheita

<resultset>

 

 

 

 

 

<metadata>

 

 

 

 

 

<recordname>

brgOrdcolheitaErp

</recordname>

 

 

<field name

“cdEmpresaErp”

type="java.lang.String”/>

 

 

<field name

“cdFilialErp”

type="java.lang.String”/>

 

 

<field name

“noOrdcolheita”

type="java.lang.String”/>

 

 

<field name

“dtOrdem”

type="java.util.Date”/>

 

 

<field name

“dtColhIniPrev”

type="java.util.Date”/>

 

 

<field name

“dtColhEncPrev”

type="java.util.Date”/>

 

 

<field name

“cdVariedade”

type="java.lang.String”/>

 

 

<field name

“deVariedade”

type="java.lang.String”/>

 

 

<field name

“cdProduto”

type="java.lang.String”/>

 

 

<field name

“deProduto”

type="java.lang.String”/>

 

 

<field name

“cdProdutoErp”

type="java.lang.String”/>

 

 

<field name

“cdSistColh”

type="java.lang.String”/>

 

 

<field name

“deSistColh”

type="java.lang.String”/>

 

 

<field name

“cdUpnivel1”

type="java.lang.String”/>

 

 

<field name

“deUpnivel1”

type="java.lang.String”/>

 

 

<field name

“cdUpnivel2”

type="java.lang.String”/>

 

 

<field name

“deUpnivel2”

type="java.lang.String”/>

 

 

<field name

“cdUpnivel3”

type="java.lang.String”/>

 

 

<field name

“cdOcupacao”

type="java.lang.Integer”/>

 

 

<field name

“deOcupacao”

type="java.lang.String”/>

 

 

<field name

“qtAreaColh”

type="java.math.BigDecimal”/>

 

 

<field name

“qtKgColh”

type="java.math.BigDecimal”/>

 

 

<field name

“fgStatus”

type="java.lang.String”/>

 

 

<field name

“fgOcorrencia”

type="java.lang.String”/>

 

</metadata>

 

 

 

 

<ordemColheita>

 

 

 

 

 

<cdEmpresaErp>

<![CDATA[001]]>

</cdEmpresaErp>

 

 

<cdFilialErp>

<![CDATA[001]]>

</cdFilialErp>

 

 

<fgStatus>

<![CDATA[1]]>

</fgStatus>

 

 

<fgOcorrencia>

<![CDATA[]]>

</fgOcorrencia>

 

<detalheOrdemColheita>

<noOrdcolheita>

<![CDATA[2885]]>

</noOrdcolheita>

 

 

<dtOrdem>

<![CDATA[28/05/2015]]>

</dtOrdem>

 

 

<dtColhIniPrev>

<![CDATA[]]>

</dtColhIniPrev>

 

 

<dtColhEncPrev>

<![CDATA[]]>

</dtColhEncPrev>

 

 

<cdVariedade>

<![CDATA[8]]>

</cdVariedade>

 

 

<deVariedade>

<![CDATA[BR080]]>

</deVariedade>

 

 

<cdProduto>

<![CDATA[8]]>

</cdProduto>

 

 

<deProduto>

<![CDATA[Soja]]>

</deProduto>

 

 

<cdProdutoErp>

<![CDATA[2808]]>

</cdProdutoErp>

 

 

<cdSistColh>

<![CDATA[1]]>

</cdSistColh>

 

 

<deSistColh>

<![CDATA[Mecanizada]]>

</deSistColh>

 

 

<cdUpnivel1>

<![CDATA[1985]]>

</cdUpnivel1>

 

 

<deUpnivel1>

<![CDATA[Fazenda 1985]]>

</deUpnivel1>

 

 

<cdUpnivel2>

<![CDATA[1985]]>

</cdUpnivel2>

 

 

<deUpnivel2>

<![CDATA[Setor 1985]]>

</deUpnivel2>

 

 

<cdUpnilve3>

<![CDATA[2b]]>

</cdUpnilve3>

 

 

<cdOcupacao>

58

</cdOcupacao>

 

 

<deOcupacao>

<![CDATA[Soja]]>

</deOcupacao>

 

 

<qtAreaColh>

52.50

</qtAreaColh>

 

 

<qtKgColh>

6000.00

</qtKgColh>

 

</detalheOrdemColheita>

 

 

 

 

<detalheOrdemColheita>

 

 

 

 

 

<noOrdcolheita>

<![CDATA[2890]]>

</noOrdcolheita>

 

 

<dtOrdem>

<![CDATA[30/05/2015]]>

</dtOrdem>

 

 

<dtColhIniPrev>

<![CDATA[30/05/2015]]>

</dtColhIniPrev>

 

 

<dtColhEncPrev>

<![CDATA[15/06/2015]]>

</dtColhEncPrev>

 

 

<cdVariedade>

<![CDATA[8]]>

</cdVariedade>

 

 

<deVariedade>

<![CDATA[BR081]]>

</deVariedade>

 

 

<cdProduto>

<![CDATA[8]]>

</cdProduto>

 

 

<deProduto>

<![CDATA[Milho]]>

</deProduto>

 

 

<cdProdutoErp>

<![CDATA[8]]>

</cdProdutoErp>

 

 

<cdSistColh>

<![CDATA[1]]>

</cdSistColh>

 

 

<deSistColh>

<![CDATA[Mecanizada]]>

</deSistColh>

 

 

<cdUpnivel1>

<![CDATA[1985]]>

</cdUpnivel1>

 

 

<deUpnivel1>

<![CDATA[Fazenda 1985]]>

</deUpnivel1>

 

 

<cdUpnivel2>

<![CDATA[1985]]>

</cdUpnivel2>

 

 

<deUpnivel2>

<![CDATA[Setor 1985]]>

</deUpnivel2>

 

 

<cdUpnilve3>

<![CDATA[3]]>

</cdUpnilve3>

 

 

<cdOcupacao>

59

</cdOcupacao>

 

 

<deOcupacao>

<![CDATA[Milho]]>

</deOcupacao>

 

 

<qtAreaColh>

100.00

</qtAreaColh>

 

 

<qtKgColh>

10000.00

</qtKgColh>

 

</detalheOrdemColheita>

 

 

 

 

</ordemColheita>

 

 

 

</resultset>

 

 

 

 

<searchfilter>: Indica onde inicia e finaliza os parâmetros de requisição das ordens de colheita.

<ordemColheita>: Indica onde inicia e finaliza os parâmetros referente a Ordem de Colheita.

<detalheOrdemColheita>: Indica onde inicial e finaliza os detalhes da ordem de colheita.

<resultset>: Indica onde inicia e finaliza os resultados solicitados.

<metadata>: Indica onde inicia e finaliza os tipos de dados.

Demais Funcionalidades:

-    Enviar a Empresa ERP que requisitou à Ordem de Colheita.

-    Enviar a Filial ERP que requisitou à Ordem.

-    Gerar o status 1 – Sucesso quando encontrar Ordem de Colheita para ser enviada.

-    Gerar o status 2 – Erro quando não encontrar Ordem de Colheita para ser enviada e gravar a ocorrência “Nenhuma Ordem de Colheita encontrada com os critérios de filtragem”.

Especificação Técnica:

 Demais Funcionalidades:

-         Enviar somente as Ordens de Colheita abertas (FG_SITUACAO igual “A” da tabela BRG_ORDCOLHEITA_ERP).

-         Enviar somente as Ordens de Colheita pertencentes as Empresa ERP e Filial ERP requisitada, quando não utiliza Unidade Administrativa Centralizadora. Para verificar se a Empresa ERP e Filial ERP possui unidade centralizada utilizar o método (selectUnidadeAdmByERPCode) e a classe (MessageProcessor). Basicamente localizar a empresa (CD_INT_ERP da tabela EMPRESA igual a <cdEmpresaErp>), e a filial (CD_FILIAL da tabela FILIAL igual a <cdFilialErp>), com o código empresa e filial localizar o identificador da filial associada a empresa (ID_FILIAL da tabela FILIAL), com a empresa localizar a região administrativa (ID_REGIAOADM da tabela EMPRESA), com o identificador da região administrativa localizar a unidade centralizadora (ID_UNIDADEADM da tabela REGIAO_ADM), caso não tenha informação para a unidade centralizadora (ID_UNIDADEADM da tabela REGIAO_ADM), localizar a unidade administrativa pela empresa e filial (ID_FILIAL da tabela UNIDADEADM) e com a unidade administrativa enviar todas as ordem de colheita abertas para esta unidade (ID_UNIDADEADM da tabela BRG_ORDCOLHEITA_ERP com FG_SITUACAO=’A’).

-         Verificar quando utiliza Unidade Administrativa centralizadora enviar todas as Ordens de Colheitas abertas independente da Empresa e Filial requisitada e retornar a Empresa e Filial que requisitou as informações. Para verificar se a Empresa ERP e Filial ERP possui unidade centralizada utilizar o método (selectUnidadeAdmByERPCode) e a classe (MessageProcessor). Basicamente localizar a empresa (CD_INT_ERP da tabela EMPRESA igual a <cdEmpresaErp>), e a filial (CD_FILIAL da tabela FILIAL igual a <cdFilialErp>), com o código empresa e filial localizar o identificador da filial associada a empresa (ID_FILIAL da tabela FILIAL), com a empresa localizar a região administrativa (ID_REGIAOADM da tabela EMPRESA), com o identificador da região administrativa localizar a unidade centralizadora (ID_UNIDADEADM da tabela REGIAO_ADM) e com a unidade administrativa centralizadora enviar todas as ordem de colheita abertas para esta unidade (ID_UNIDADEADM da tabela BRG_ORDCOLHEITA_ERP com FG_SITUACAO=’A’).

-         Quando não encontrar nenhuma ordem para a requisição deverá retornar a mensagem que não encontrou ordem de colheita (<fgStatus> igual a ”2” (erro) e a ocorrência <fgOcorrencia>) igual “Nenhuma Ordem de Colheita encontrada com os critérios de filtragem.)”.

-         Quando requisitar a Ordem de Colheita deverá validar se a mesma está cadastrada, caso não esteja enviar mensagem “Nenhuma Ordem de Colheita encontrada” (<noOrdcolheita> igual a NO_ORDCOLHEITA da tabela BRG_ORDCOLHEITA_ERP para unidade administrativa recuperada pela empresa ERP e filial ERP) gerar (<fgStatus> igual a ”2” (erro) e a ocorrência <fgOcorrencia>) igual “Nenhuma Ordem de Colheita encontrada com os critérios de filtragem.)”.

Quando no filtro passar o produto, enviar todas a Ordens de Colheita abertas para o Produto (<cdProduto> igual CD_PRODUTO_ERP da tabela BRG_ORDCOLHEITA_ERP com FG_SITUACAO igual a “A” para a unidade administrativa recuperada pela empresa ERP e Filial ERP), caso não encontre nenhum ordem de colheita gerar (<fgStatus> igual a ”2” (erro) e a ocorrência <fgOcorrencia>) igual “Nenhuma Ordem de Colheita encontrada com os critérios de filtragem.)”.

Informações do cabeçalho da Ordem de Colheita:

-    <cdEmpresaErp>: Código da Empresa ERP que requisitou a Ordem de Colheita.

-    <cdFilialErp>: Código da Filial ERP que requisitou a Ordem de Colheita.

-    <fgStatus>: Será gerado com “1” (sucesso), quando conseguir enviar pelo menos uma ordem de colheita ou “2” (Erro), quando não conseguir enviar nenhuma ordem de colheita.

-    <fgOcorrencia>: Quando o <fgStatus> for igual a “2” (erro) gerar a ocorrência “Nenhuma Ordem de Colheita encontrada com os critério de filtragem”.

 Informações do detalhe da Ordem de Colheita:

-    <noOrdcolheita>: Gerar com o número da Ordem de Colheita encontrada para os critérios de filtragem (NO_ORDCOLHEITA da tabela BRG_ORDCOLHEITA_ERP), quando não encontrar ordem e colheita gerar vazio.

-    <dtOrdem>:Gerar com data da Ordem de Colheita encontrada para os critérios de filtragem (DT_ORDEM da tabela BRG_ORDCOLHEITA_ERP), quando não encontrar ordem de colheita gerar vazio.

-    <dtColhIniPrev>: Gerar com a data de início de previsão de colheita da Ordem de Colheita encontrada para os critérios de filtragem (DT_COLH_INI_PREV da tabela BRG_ORDCOLHEITA_ERP), mesmo com a Ordem de Colheita este campo pode estar vazio e quando não encontrar ordem de colheita, gerar vazio.

-    <dtColhEncPrev>: Gerar com a data fim previsão da colheita da Ordem de Colheita encontrada para os critérios de filtragem (DT_COLH_ENC_PREV da tabela BRG_ORDCOLHEITA_ERP), mesmo com a Ordem de Colheita este campo pode estar vazio e quando não encontrar ordem de colheita, gerar vazio.

-    <cdVariedade>: Gerar com o código da variedade da Ordem de Colheita encontrada para os critérios de filtragem (CD_VARIEDADE da tabela BRG_ORCOLHEITA_ERP) e quando não encontrar ordem de colheita, gerar vazio.

-    <deVariedade>: Gerar com o descrição da variedade da Ordem de Colheita encontrada para os critérios de filtragem (DE_VARIEDADE da tabela BRG_ORDCOLHEIA_ERP) e quando não encontrar ordem de colheita, gerar vazio.

-    <cdProduto>: Gerar com o código do produto da Ordem de Colheita encontrada para os critérios de filtragem (CD_PRODUTO da tabela BRG_ORDCOLHEITA), mesmo com a Ordem de Colheita este campo pode estar vazio e quando não encontrar ordem de colheita, gerar vazio.

-    <deProduto>: Gerar com o descrição do produto no ERP da Ordem de Colheita encontrada para os critérios de filtragem (DE_PRODUTO da tabela BRG_ORDCOLHEITA_ERP), mesmo com a Ordem de Colheita este campo pode estar vazio e quando não encontrar ordem de colheita, gerar vazio.

-    <cdProdutoErp>: Gerar com o código do produto no ERP da Ordem de Colheita encontrada para os critérios de filtragem (CD_PRODUTO_ERP da tabela BRG_ORDCOLHEITA), mesmo com a Ordem de Colheita este campo pode estar vazio e quando não encontrar ordem de colheita, gerar vazio.

-    <cdSistColh>: Gerar com o código do sistema de colheita da Ordem de Colheita encontrada para os critérios de filtragem (CD_SIST_COLH da tabela BRG_ORDCOLHEITA_ERP), mesmo com a Ordem de Colheita este campo pode estar vazio e quando não encontrar ordem de colheita gerar vazio.

-    <deSistColh>: Gerar com a descrição do sistema de colheita da Ordem de Colheita encontrada para os critérios de filtragem (DE_SIST_COLH da tabela BRG_ORDCOLHEITA_ERP), mesmo com a Ordem de Colheita este campo pode estar vazio e quando não encontrar ordem de colheita gerar vazio.

-    <cdUpnivel1>: Gerar com o código da [fazenda] da Ordem de Colheita encontrada para os critérios de filtragem (CD_UPNIVEL1 da tabela BRG_ORDCOLHEITA_ERP) e quando não encontrar ordem de colheita gerar vazio.

-    <deUpnivel1>: Gerar com a descrição da [fazenda] da Ordem de Colheita encontrada para os critérios de filtragem (DE_UPNIVEL1 da tabela BRG_ORDCOLHEITA_ERP) e quando não encontrar ordem de colheita gerar vazio.

-    <cdUpnivel2>: Gerar com o código do [setor] da Ordem de Colheita encontrada para os critérios de filtragem (CD_UPNIVEL2 da tabela BRG_ORDCOLHEITA_ERP) e quando não encontrar ordem de colheita gerar vazio.

-    <deUpnivel2>: Gerar com a descrição do [setor] da Ordem de Colheita encontrada para os critérios de filtragem (DE_UPNIVEL2  da tabela BRG_ORDCOLHEITA_ERP) e quando não encontrar ordem de colheita gerar vazio.

-    <cdUpnilve3>: Gerar com o código do [talhão] da Ordem de Colheita encontrada para os critérios de filtragem (CD_UPNIVEL3 da tabela BRG_ORDCOLHEITA_ERP) e quando não encontrar ordem de colheita gerar vazio.

-    <cdOcupacao>: Gerar com o código da ocupação da Ordem de Colheita encontrada para os critérios de filtragem (CD_OCUPACAO da tabela BRG_ORDCOLHEITA_ERP) e quando não encontrar ordem de colheita gerar vazio.

-    <deOcupacao>: Gerar com a descrição da ocupação da Ordem de Colheita encontrada para os critérios de filtragem (DE_OCUPACAO da tabela BRG_ORDCOLHEITA_ERP) e quando não encontrar ordem de colheita gerar vazio.

-    <qtAreaColh>: Gerar com a quantidade da área a ser colhida para a Ordem de Colheita encontrada para os critérios e filtragem (QT_AREA_COLH da tabela BRG_ORDCOLHEITA_ERO) e quando não encontrar ordem de colheita gerar vazio.

<qtKgColh>: Gerar com a estimativa (kg) de colheita para Ordem de Colheita encontrada para os critérios de filtragem (QT_KG_COLH da tabela BRG_ORDCOLHEITA_ERP) e quando não encontrar ordem de colheita gerar vazio.

 

14 - Inclusão de Configurações para definir se a integração de recebimento de Pesagem de Matéria é Síncrona e se envia o recebimento de Matéria Prima para integração com ERP.

Objetivo: Inclusão de Configurações para definir se a integração de recebimento de Pesagem de Matéria é Síncrona e se envia o recebimento de Matéria Prima para integração com ERP.

 Menu: Administração > Configurações Gerais

Entrada de Menu: CFCM0059

Esboço da tela:

Dados:

 Grupos de Configuração e suas respectivas configurações:

 -    Pesagem:

  • A integração de recebimento de Matéria Prima é Síncrona: Quando configurado indica que a Integração de recebimento de Matéria Prima do ERP será síncrona, desta forma, a comunicação entre o sistema de origem (ERP) e o sistema de destino (PIMSMulticultivos) será de forma online, caso contrário à integração de recebimento de Matéria prima do ERP será assíncrona, desta forma, a comunicação entre o sistema de origem (ERP) e o sistema de destino (PIMSMulticultivos) será de forma off-line.
  • Enviar o recebimento de Matéria Prima para integração com o ERP: Quando configurado indica que a integração de recebimento de Matéria Prima será enviada para o ERP, caso contrário à integração de recebimento de Matéria prima não será enviada para o ERP.
  • Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP: Quando configurado indica que pesagem será finalizada automaticamente após o recebimento de Matéria Prima, caso contrário a finalização deve ser feita manualmente pelo usuário.

 Especificação Técnica:

 Tabelas:

Descrição

Nome

Situação

Configuração Processos Agendados 

PRXPROCAGEND 

Existente

Scripts:

 -    Incluir os novos parâmetros na tabela PRXPARAMETER (Parâmetros de configuração/controle da aplicação):

 INSERT INTO PRXPARAMETER (ID_PRXPARAMETER,CONTEXT_APL,NAME_PARAMETER,DESCRIPTION,ID_TERMO,VALOR_PADRAO,VALOR,ROWVERSION,LAST_UPDATE,CHANGED_BY,FG_UNIDADEADM,ID_PRXGPPARAMETER,FG_VISIVEL,ID_PRXPARAM_GRP_DOMINIO) VALUES (1603,'GEOAGRO.APPESAGEM','FG_TIPO_INTEGRACAO','A integração de recebimento de Matéria Prima é Síncrona',<ID_TERMO>,'S','S',1,SYSDATE,'PRX','N',16,'S',1);

 INSERT INTO PRXPARAMETER (ID_PRXPARAMETER,CONTEXT_APL,NAME_PARAMETER,DESCRIPTION,ID_TERMO,VALOR_PADRAO,VALOR,ROWVERSION,LAST_UPDATE,CHANGED_BY,FG_UNIDADEADM,ID_PRXGPPARAMETER,FG_VISIVEL,ID_PRXPARAM_GRP_DOMINIO) VALUES (1604,'GEOAGRO.APPESAGEM','FG_ENVIA_PESAGEM_ERP','Enviar o recebimento de Matéria Prima para integração com o ERP',<ID_TERMO>,'N','N',1,SYSDATE,'PRX','N',16,'S',1);

 INSERT INTO PRXPARAMETER (ID_PRXPARAMETER,CONTEXT_APL,NAME_PARAMETER,DESCRIPTION,ID_TERMO,VALOR_PADRAO,VALOR,ROWVERSION,LAST_UPDATE,CHANGED_BY,FG_UNIDADEADM,ID_PRXGPPARAMETER,FG_VISIVEL,ID_PRXPARAM_GRP_DOMINIO) VALUES (1605,'GEOAGRO.APPESAGEM','FG_FINALIZA_PESAGEM_REC_ERP','Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP',<ID_TERMO>,'N','N',1,SYSDATE,'PRX','N',16,'S',1);

  Onde: <ID_TERMO> Identificador do Termo para o descritivo 'A integração de recebimento de Matéria Prima é Síncrona' (criar registro na tabela TERMO).

 Onde: <ID_TERMO> Identificador do Termo para o descritivo 'Enviar o recebimento de Matéria Prima para integração com o ERP' (criar registro na tabela TERMO). 

 Onde: <ID_TERMO> Identificador do Termo para o descritivo 'Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP' (criar registro na tabela TERMO). 


15 - Desenvolvimento de serviço (WebService) para recebimento de dados de Pesagem de Matéria Prima da Originação (Protheus ou Datasul) ou UBA (Unidade de Beneficiamento de Algodão).

Objetivo: Desenvolvimento de serviço (WebService) para recebimento de dados de Pesagem de Matéria Prima da Originação (Protheus ou Datasul) ou UBA (Unidade de Beneficiamento de Algodão).

Estrutura para o recebimento de produção da matéria prima:

WebService (XML)

Dados de Envio: IntegracaoPesagemMateriaPrima

Tabela de Gravação – BRG_APPESAGEMMP

Nome Lógico – Integração Recepção de Matéria Prima

Informações Recebidas

Tag-Campo

Descrição

Tipo de dado

Obrigatório

ID_APPESAGEMMP

ID da tabela APPESAGEM (Será atualizado pelo serviço quando gravar a Pesagem)

NUMBER(38)

Não

CD_EMPRESA_ERP

Código da Empresa ERP

VARCHAR2(20)

Sim

CD_FILIAL_ERP

Código da Filial ERP

VARCHAR2(20)

Sim

DT_MOVIMENTO

Data do Movimento

Date

Sim

DT_ENTRADA

Data e Hora da 1.ª Pesagem

Date

Sim

DT_SAIDA

Data e Hora da 2.ª Pesagem

Date

Sim

NO_PESAGEM

Número do documento utilizado na viagem (se aplicável). Pode ser número da NF, número de Guia de Trânsito Livre ou qualquer outro número de controle.

NUMBER(38)

Não

NO_ORDCOLHEITA

Número da Ordem de Colheita no PIMSMulticultivos

VARCHAR2(10)

Não

NO_ORDCOLHEITA_EXT

Número da Ordem de Colheita Externa

VARCHAR2(20)

Não

CD_OCUPACAO

Código da Ocupação no PIMSMulticultivos

NUMBER(38)

Não

CD_SAFRA

Código da Safra no PIMSMulticultivos

NUMBER(38)

Não

CD_PER_SAFRA

Código do Período de Produção no PIMSMulticultivos

NUMBER(38)

Não

CD_UPNIVEL1

Código da Unidade de Produção Nível 1 no PIMSMulticultivos

VARCHAR2(6)

Não

CD_UPNIVEL2

Código da Unidade de Produção Nível 2 no PIMSMulticultivos

VARCHAR2(6)

Não

CD_UPNIVEL3

Código da Unidade de Produção Nível 3 no PIMSMulticultivos

VARCHAR2(6)

Não

CD_UNI_RECEP_ERP

Código da Unidade Receptora no ERP

VARCHAR2(20)

Não

CD_PRODUTO_ERP

Código do Produto no ERP

VARCHAR2(20)

Não

CD_EQUIPE

Código da Equipe no PIMSMulticultivos

NUMBER(38)

Não

CD_EQUIPTO

Código do Equipamento no PIMSMulticultivos

VARCHAR2(20)

Não

CD_MOTORISTA_ERP

Código do Motorista no ERP

VARCHAR2(20)

Não

CD_COLHEDORA

Código da Colhedora no PIMSMulticultivos

VARCHAR2(20)

Não

CD_OPERADOR_ERP

Código do Operador no ERP

VARCHAR2(20)

Não

NO_NOTA

Número da Nota Fiscal

VARCHAR2(10)

Não

NO_SERIE

Número da Série

VARCHAR2(5)

Não

TP_NOTA

Tipo da Nota Fiscal (R - Remessa, V - Venda)

VARCHAR2(1)

Não

QT_BRUTO

Peso da 1.ª Pesagem

NUMBER(6)

Sim

QT_TARA

Peso da 2.ª Pesagem

NUMBER(6)

Sim

QT_TOT_IMPUREZA

Quantidade total de impureza em Kg

NUMBER(10,2)

Não

DT_ORDEM

Data de Ordem de Colheita

Date

Não

CD_SIST_COLH

Código do Sistema de Colheita no PIMSMulticultivos

NUMBER(38)

Não

QT_AREA_COLH

Área da Ordem de Colheita

NUMBER(7,2)

Não

QT_KG_COLH

Kg/Ha Estimados

NUMBER(10,4)

Não

NO_FARDAO

Número do Fardão

NUMBER(12)

Não

NO_BOLETIM_EXT

Número do boletim da Pesagem Externa (Romaneio)

VARCHAR2(20)

Sim

FG_ACAO

Ação a ser executada (I – Inclusão ou E – Exclusão)

VARCHAR2(1)

Sim

FG_STATUS_EAI

Status da Integração de Pesagem (0 – Aguardando Processamento, 1 – Em processamento, 2 – Processado com sucesso, 3 – Erro no Processamento)

VARCHAR2(1)

Não

FG_MENSAGEM

Ocorrências na importação da Pesagem de Matéria Prima

VARCHAR2(500)

Não

DT_GERACAO

Data e Hora de geração das informações

DATE

Não

DT_ATUALIZACAO

Data e Hora de atualização das informações

DATE

Não

FG_RETORNO_OCORR

Efetuou o retorno das ocorrência para ERP

VARCHAR2(1)

Não

 XML com as informações da Pesagem de Matéria Prima

<resultset>

 

 

 

 

 

<metadata>

 

 

 

 

 

<recordname>

integracaoPesagemMateriaPrima

</recordname>

 

 

<field name

“cdEmpresaErp”

type="java.lang.String”/>

 

 

<field name

“cdFilialErp”

type="java.lang.String”/>

 

 

<field name

“dtMovimento”

type="java.util.Date”/>

 

 

<field name

“dtEntrada”

type="java.util.Date”/>

 

 

<field name

“dtSaida”

type="java.util.Date”/>

 

 

<field name

“noPesagem”

type="java.lang.Integer”/>

 

 

<field name

“noOrdcolheita”

type="java.lang.Integer”/>

 

 

<field name

“noOrdcolheitaExt”

type="java.lang.String”/>

 

 

<field name

“cdOcupacao”

type="java.lang.Integer”/>

 

 

<field name

“cdSafra”

type="java.lang.Integer”/>

 

 

<field name

“cdPerSafra”

type="java.lang.Integer”/>

 

 

<field name

“cdUpnivel1”

type="java.lang.String”/>

 

 

<field name

“cdUpnivel2”

type="java.lang.String”/>

 

 

<field name

“cdUpnivel3”

type="java.lang.String”/>

 

 

<field name

“cdUniRecepErp”

type="java.lang.String”/>

 

 

<field name

“cdprodutoErp

type="java.lang.String”/>

 

 

<field name

“cdEquipe”

type="java.lang.Integer”/>

 

 

<field name

“cdEquipto”

type="java.lang.String”/>

 

 

<field name

“cdMotoristaErp”

type="java.lang.String”/>

 

 

<field name

“cdColhedora”

type="java.lang.String”/>

 

 

<field name

“cdOperador”

type="java.lang.String”/>

 

 

<field name

“noNota”

type="java.lang.String”/>

 

 

<field name

“noSerie”

type="java.lang.String”/>

 

 

<field name

“tpNota”

type="java.lang.String”/>

 

 

<field name

“qtBruto”

type="java.math.BigDecimal”/>

 

 

<field name

“qtTara”

type="java.math.BigDecimal”/>

 

 

<field name

“qtTotImpureza”

type="java.math.BigDecimal”/>

 

 

<field name

“cdSistColh”

type="java.lang.Integer”/>

 

 

<field name

“qtAreaColh”

type="java.math.BigDecimal”/>

 

 

<field name

“qtKgColh”

type="java.math.BigDecimal”/>

 

 

<field name

“noFardao”

type="java.lang.Integer”/>

 

 

<field name

“noBoletimExt”

type="java.lang.String”/>

 

 

<field name

“fgAcao”

type="java.lang.String”/>

 

</metadata>

 

 

 

 

<IntegracaoPesagemMateriaPrima>

 

 

 

 

 

<cdEmpresaErp>

<![CDATA[001]]>

</cdEmpresaErp>

 

 

<cdFilialErp>

<![CDATA[001]]>

</cdFilialErp>

 

 

<dtMovimento>

<![CDATA[02/09/2015]]>

</ dtMovimento >

 

 

<dtEntrada>

<![CDATA[02/09/2015 08:00:00]]>

</dtEntrada>

 

 

<dtSaida>

<![CDATA[02/09/2015 09:00:00]]>

</dtSaida>

 

 

<noPesagem>

 

</noPesagem>

 

 

<noOrdcolheita>

<![CDATA[8]]>

</noOrdcolheita>

 

 

<noOrdcolheitaExt>

<![CDATA[2885]]>

</nOrdcolheitaExt>

 

 

<cdOcupacao>

 

</cdOcupacao>

 

 

<cdSafra>

 

</cdSafra>

 

 

<cdPerSafra>

 

</ cdPerSafra >

 

 

<cdUpnilve1>

<![CDATA[]]>

</cdUpnilve1>

 

 

<cdUpnilve2>

<![CDATA[]]>

</cdUpnilve2>

 

 

<cdUpnilve3>

<![CDATA[]]>

</cdUpnilve3>

 

 

<cdUniRecepErp>

<![CDATA[]]>

</cdUniRecepErp>

 

 

<cdProdutoERP>

<![CDATA[]]>

</cdProdutoER>

 

 

<cdEquipe>

 

</cdEquipe>

 

 

<cdEquipto>

<![CDATA[]]>

</cdEquipto>

 

 

<cdMotorista>

 

</cdMotorista>

 

 

<cdColhedora>

 

</cdColhedora>

 

 

<cdOperador>

 

</cdOperador>

 

 

<noNota>

<![CDATA[58625]]>

</noNota>

 

 

<noSerie>

<![CDATA[038b]]>

</noSerie>

 

 

<tpNota>

<![CDATA[R]]>

</tpNota>

 

 

<qtBruto>

22000

</qtBruto>

 

 

<qtTara>

12000

</qtTara>

 

 

<qtTotImpureza>

250

</qtTotImpureza>

 

 

<cdSistColh>

 

</cdSistColh>

 

 

<qtAreaColh>

 

</qtAreaColh>

 

 

<qtKgColh>

 

</qtKgColh>

 

 

<noFardao>

 

</noFardao>

 

 

<noBoletimExt>

<![CDATA[2586566]]>

</noBoletimExt>

 

 

<fgAcao>

<![CDATA[I]]>

</fgAcao>

 

</IntegracaoPesagemMateriaPrima>

 

 

 

resultset>

 

 

 

 

 <resultset>: Indica onde inicia e finaliza os resultados solicitados.

 <metadata>: Indica onde inicia e finaliza os tipos de dados.

 <IntegracaoPesagemMateriaPrima>: Indica onde inicia e finaliza as informações de integração de Pesagem de Matéria Prima.

  Criar serviço para gravar as informações na tabela de Pesagem de Matéria Prima (APPESAGEMMP).

Serviço

 

Campo

Campo BRG

 

Informações gravadas a partir da BRG_PESAGEMMP

ID_APPESAGEMMP

 

 

Identificador de APPESAGEMMP - uso interno/único

NO_BOLETIM

 

 

Será gerado pelo sistema sequencialmente.

ID_UNIDADEADM

 

 

Recuperar o ID a partir da Empresa (<cdEmpresaErp>) e Filial <cdFilialErp> enviada, verificar se trabalha com Unidade Administrativa Centralizadora.

DT_MOVIMENTO

DT_MOVIMENTO

<dtMovimento>

Gravar com a data do Movimento enviada na integração.

DT_ENTRADA

DT_ENTRADA

<dtEntrada>

Gravar com a data e hora de Entrada enviada na integração

DT_SAIDA

DT_SAIDA

<dtSaida>

Gravar com a data e hora de Saída enviada na integração

NO_PESAGEM

NO_PESAGEM

<noPesagem>

Gravar com o número da Pesagem enviada na integração, caso contrário não será obrigatório.

ID_ORDCOLHEITA

NO_ORDCOLHEITA

<“noOrdcolheita”>

Recuperar o ID no apontamento de Ordem de Colheita a partir do número enviado e unidade administrativa.

ID_UNIRECEPTORA

CD_UNI_RECEP_ERP

<cdUniRecepErp>

Recuperar o ID do cadastro de Unidade Receptora a partir do código enviado, caso contrário recuperar o ID pela Ordem de Colheita e não será obrigatório quando não configurado “Obrigado informar Unidade Receptora” no cadastro de Cultura/Ocupação, caso contrário será obrigatório informar a Unidade Receptora.

ID_EQUIPE

CD_EQUIPE

<cdEquipe>

Recuperar o ID do cadastro de Equipe a partir do código enviado pela integração e quando não configurado “Obrigar a informar a Equipe” no castro de Cultura/Ocupação não será obrigatório, caso contrário será obrigatório informar a Equipe.

ID_UPNIVEL3

 

 

Recuperar o ID do apontamento de Ordem de Colheita a partir do Número da Ordem de Colheita e Unidade Administrativa ou poderá recuperar pelo código da Ano Agrícola, Período de Produção, Fazenda, Setor e Talhão enviada na integração e verificar se o mesmo está associado a Ordem e Colheita.

QT_BRUTO

QT_BRUTO

<qtBruto>

Gravar com o peso da 1ª pesagem enviada pela integração

QT_TARA

QT_TARA

<qtTara>

Gravar com o peso da 2ª pesagem enviada pela integração

QT_LIQUIDO

 

 

Gravar com a Peso da 1ª pesagem menos Peso da 2ª pesagem

QT_LIQUIDO_DESC

 

 

Gravar com Quantidade Liquida menos a Quantidade Total de impureza

QT_TOT_IMPUREZA

QT_TOT_IMPUREZA

<qtTotImpureza>

Gravar com o Total de Impureza enviada pela integração

ID_CAMINHAO

CD_EQUIPTO

<cdEquipto>

Recuperar o ID do cadastro de Equipamento a partir do código enviado pela integração, caso não encontre e estiver configurado “Permite informar Caminhão não cadastrado” na configuração por unidade “Administração > Configuração por Unidade” o código do equipamento deverá ser gravado “CD_CAM_NCAD”, caso contrário o código do equipamento será validado. Caso não venha preenchido não será obrigatório.

ID_MOTORISTA

CD_MOTORISTA

<cdMotorista>

Recuperar o ID do cadastro de Funcionário a partir do código enviado pela integração, caso contrário não será obrigatório.

ID_COLHEDORA

CD_COLHEDORA

<cdColhedora>

Recuperar o ID do cadastro de Equipamento a partir do código enviado pela integração, caso não venha preenchido não será obrigatório.

ID_OPERADOR

CD_OPERADOR

<cdOperador>

Recuperar o ID do cadastro de Funcionário a partir do código enviado pela integração, caso contrário não será obrigatório.

ROWVERSION

 

 

Gerado pelo sistema, controle interno.

LAST_UPDATE

 

 

Data e hora da última alteração

CHANGED_BY

 

 

Quando o serviço for executado pela integração gravar “Integração”

FG_TIPO

 

 

Gravar com “E”.

QT_PESO_1

 

 

Gravar com o Peso da 1ª pesagem enviado pela integração

QT_PESO_2

 

 

Gravar com o Peso da 2ª pesagem enviada pela integração

DT_ANALISE

 

 

Não é obrigatório

FG_DIG_PESO1

 

 

Não é obrigatório

FG_DIG_PESO2

 

 

Não é obrigatório

ID_USR1

 

 

Não é obrigatório

ID_USR2

 

 

Não é obrigatório

ID_BALANCA1

 

 

Não é obrigatório

ID_BALANCA2

 

 

Não é obrigatório

FG_STATUS_EAI

 

 

Gerar com “0” (zero)

NO_ANALISE

 

 

Não é obrigatório

NR_IDCARGA

NO_FARDAO

<noFardao>

Gravar com o número do fardão

FG_CTRL_COL

 

 

Gerar com “S”

ID_PERIODOSAFRA

CD_PER_SAFRA

<cdPerSafra>

Recuperar o ID do cadastro Período de Produção a partir do código enviado pela integração, caso não tenha valor recuperar o ID pelo apontamento de Ordem de Colheita, caso não tenha Apontamento de Ordem Colheita recuperar o ID pelo Fazenda, Setor e Talhão enviado e deve estar associado a uma Ordem de Colheita.

ID_VARIEDADE

 

 

Recuperar o ID da Variedade associado a Ordem de Colheita, caso não encontre deverá localizar o ID pelo Talhão da pesagem, caso não encontre deverá localizar o ID a partir da Cultura/Ocupação do Talhão.

ID_PROPRIETARIO

 

 

Recuperar o ID do cadastro de Fazenda partir do ID do talhão.

CD_CAM_NCAD

 

 

Será gravado com o código do Equipamento quando o mesmo não estiver cadastrado no PIMSMC.

NO_NOTA

NO_NOTA

<noNota>

Gravar com o número da Nota enviado pela integração e quando configurado no cadastro de Cultura/Ocupação “Informar o número da Nota Fiscal, Série e Tipo da Nota Fiscal na Manutenção da Pesagem, Pesagem e Registro de Colheita“ será obrigatório o número da Nota, caso contrário não será obrigatório.

NO_SERIE

NO_SERIE

<noSerie>

Gravar com o número da Série enviado pela integração e quando configurado no cadastro de Cultura/Ocupação “Informar o número da Nota Fiscal, Série e Tipo da Nota Fiscal na Manutenção da Pesagem, Pesagem e Registro de Colheita“ será obrigatório o número da Série, caso contrário não será obrigatório

TP_NOTA

TP_NOTA

<tpNota>

Gravar com o Tipo da nota enviado pela integração e quando configurado no cadastro de Cultura/Ocupação “Informar o número da Nota Fiscal, Série e Tipo da Nota Fiscal na Manutenção da Pesagem, Pesagem e Registro de Colheita“ será obrigatório o tipo da nota, caso contrário não será obrigatório

NO_BOLETIM_EXT

NO_BOLETIM_EXT

<noBoletimExt>

Número da Pesagem Externa

ID_INSUMO

CD_PRODUTO_ERP

<cdProdutoErp>

Recuperar o identificador do produto, a partir do código enviado pela integração, caso não seja informado, recuperar o produto pela ordem de colheita, caso não tenha produto configurado na ordem de colheita, recuperar o produto pela variedade da pesagem, caso não encontre produto configurado para a variedade, recuperar o produto pela cultura/ocupação.

XML de retorno das pesagens

<searchfilter>

 

 

 

 

 

<retornoIntegracaoPesagemMateriaPrima>

 

 

 

 

 

<cdEmpresaErp>

<![CDATA[001]]>

</cdEmpresaErp>

 

 

<cdFilialErp>

<![CDATA[001]]>

</cdFilialErp>

 

 

<dtMovimento>

<![CDATA[26/08/2015]]>

</dtMovimento>

 

 

<noBoletimExt>

<![CDATA[]]>

</noBoletimExt>

 

 

<noBoletim>

<![CDATA[]]>

</noBoletim>

 

 

<statusPesagem>

<![CDATA[1]]>

</statusPesagem>

 

 

<ocorrenciaProcessamento>

<![CDATA[]]>

</ocorrenciaProcessamento>

 

</retornoIntegracaoPesagemMateriaPrima>

 

 

 

</searchfilter>

 

 

 

 

Demais Funcionalidades:

-    Quando definir que a integração de pesagem de matéria prima for assíncrona este processo deve ser definido desde o Protheus ou Datasul, PIMSConector e PIMSMulticultivos.

-    Quando definir que a integração de pesagem de matéria prima for síncrona este processo deve ser definido desde o Protheus ou Datasul, PIMSConector e PIMSMiulticultivos.

-    Quando finalizar a Pesagem de Matéria Prima no ERP (Protheus ou Datasul), chamar o PIMSConector que será encarregado de chamar o WebService “IntegracaoMateriaPrima” do PIMSMulticultivos. Este WebService ira efetuar a gravação na tabela intermediaria (BRG_APPESAGEMMP) da seguinte maneira:

-    Quando estiver configurado “A integração de recebimento de Matéria Prima é Síncrono” na seção “Pesagem” em “Administração > Configurações Gerais” as informações serão tratadas “online” entre os sistemas (Protheus ou Datasul e PIMSConector e PIMSMulticultivos).

  • Quando o Protheus ou Datasul enviar a pesagem, e a mesma já existe na tabela temporária mais não existe na tabela oficial e a ação for de inclusão, o PIMSConector vai chamar o WebService do PIMSMulticultivos que vai alterar o status para “0” (zero) aguardando processamento, remover as ocorrências de processamento e definir que não enviou o retorno na tabela temporária e antes de finalizar a gravação na tabela temporária chamar o Serviço do PIMSMulticultivos que vai alterar o status da tabela temporária para “1” (em processamento) e gravar a pesagem na tabela oficial e quando não configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Gerais” não finaliza a pesagem na tabela oficial, caso contrário, se configurado “Enviar o recebimento de Matéria Prima para integração com ERP”, em “Administração > Configurações Gerais”, gerar a tabela de produção e a tabela intermediária, caso contrário gerar a tabela de produção.
    • Caso não exista erro a pesagem será salva e o Serviço do PIMSMulticultivos irá gravar o identificador da pesagem, o status para “2” – Processamento com Sucesso e apagar as ocorrências do processamento na tabela temporária e chamar o WebService de retorno para enviar a mensagem de retorno com status “1” (sucesso) para o Protheus ou Datasul e alterar a tabela temporária definindo que enviou o retorno.
    • Caso exista erro para alterar a pesagem na tabela oficial a pesagem não será salva na tabela oficial e nem alterada na tabela temporária e o Serviço do PIMSMulticultivos deve chamar o WebService de retorno para enviar a mensagem de retorno com status “2” (erro) e a ocorrência encontrada para o Protheus ou Datasul que não irá permitir salvar a pesagem até que a ocorrência seja corrigida. 
      • Quando o Protheus ou Datasul enviar a pesagem, e a mesma já existe na tabela temporária e na tabela oficial e a ação é de inclusão, o PIMSConector vai chamar o WebService do PIMSMulticultivos que vai alterar o status para “0” (zero) aguardando processamento, remover as ocorrências de processamento e definir que não enviou o retorno na tabela temporária e antes de finalizar a gravação na tabela temporária chamar o Serviço do PIMSMulticultivos que vai alterar o status da tabela temporária para “1” (em processamento) e alterar a pesagem na tabela oficial e quando não configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Gerais”  não altera a tabela de produção, caso contrário, se configurado “Enviar Recebimento de Matéria para integração com ERP”, em “Administração > Configurações Gerais”, alterar a tabela de produção e a tabela intermediária, caso contrário alterar a tabela de produção.
        • Caso não exista erro a pesagem será alterada e o Serviço do PIMSMulticultivos irá gravar o identificador da pesagem, o status para “2” – Processamento com Sucesso e apagar as ocorrências do processamento e chamar o WebService de retorno para enviar a mensagem de retorno com status “1” (sucesso) para o Protheus ou Datasul e alterar a tabela temporária definindo que enviou o retorno.
        • Caso exista erro para alterar a pesagem na tabela oficial a pesagem não será alterada na tabela oficial e nem alterada na tabela temporária e o Serviço do PIMSMulticultivos deve chamar o WebService de retorno para enviar a mensagem de retorno com status “2” (erro) e a ocorrência encontrada para o Protheus ou Datasul que não irá permitir salvar a pesagem até que a ocorrência seja corrigida.
      • Quando o Protheus ou Datasul enviar a pesagem, e a mesma não existe na tabela temporária e a ação é de inclusão, o PIMSConector vai chamar o WebService do PIMSMulticultivos que vai gravar a pesagem na tabela temporária com status “0” (zero) aguardando processamento, a ação com “I” (inclusão), definir que não enviou o retorno e antes de finalizar a gravação na tabela temporária chamar o Serviço do PIMSMulticultivos que vai alterar o status da tabela temporária para “1” (em processamento), salvar a pesagem na tabela oficial e quando não configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Gerais” não finalizar a pesagem na tabela oficial, caso contrário, se configurado “Enviar o recebimento de Matéria Prima para integração com ERP” em “Administração > Configurações Gerais”, finalizar a pesagem na tabela oficial, gravar tabela de produção e a tabela intermediária, caso contrário gravar a tabela de produção.
        • Caso não exista erro a pesagem será salva e o Serviço do PIMSMulticultivos irá gravar o identificador da pesagem, o status para “2” – Processamento com Sucesso na tabela temporária e chamar o WebService de retorno para enviar a mensagem de retorno com status “1” (sucesso) para o Protheus ou Datasul e alterar a tabela temporária definindo que enviou o retorno.
    • Caso exista erro para salvar a pesagem na tabela oficial a pesagem não será salva na tabela oficial e nem salva na tabela temporária e o Serviço do PIMSMulticultivos deve chamar o WebService de retorno para enviar a mensagem de retorno com status “2” (erro) e a ocorrência encontrada para o Protheus ou Datasul que não irá permitir salvar a pesagem até que a ocorrência seja corrigida.
      • Quando o Protheus ou Datasul enviar a pesagem, e mesma já existe na tabela temporária mais não existe na tabela oficial e a ação é de exclusão, o PIMSConector vai chamar o WebService do PIMSMulticultivos que vai alterar o status para “0” (zero) aguardando processamento, a ação para “E” (exclusão), remover as ocorrências de processamento e definir que não enviou o retorno na tabela temporária e antes de finalizar a gravação na tabela temporária chamar o Serviço do PIMSMulticultivos que vai alterar o status da tabela temporária para “1” (em processamento), como não tem pesagem para excluir o Serviço do PIMSMulticultivos irá alterar o status para “2” – Processamento com Sucesso e apagar as ocorrências do processamento na tabela temporária e chamar o WebService de retorno para enviar a mensagem de retorno com status “1” (sucesso) para o Protheus ou Datasul e alterar a tabela temporária definindo que enviou o retorno.
      • Quando o Protheus ou Datasul enviar a pesagem, e mesma já existe na tabela temporária e na tabela oficial e a ação é de exclusão, o PIMSConector vai chamar o WebService do PIMSMulticultivos que vai alterar o status para “0” (zero) aguardando processamento, a ação para “E” (exclusão), remover as ocorrências de processamento e definir que não enviou o retorno na tabela temporária e antes de finalizar a gravação na tabela temporária chamar o Serviço do PIMSMulticultivos que vai alterar o status da tabela temporária para “1” (em processamento) e apagar a pesagem na tabela oficial, na tabela oficial e na tabela intermediária.
        • Caso não exista erro a pesagem será apagada e o Serviço do PIMSMulticultivos irá remover o identificador da pesagem, alterar o status para “2” – Processamento com Sucesso e apagar as ocorrências do processamento e chamar o WebService de retorno para enviar a mensagem de retorno com status “1” (sucesso) para o Protheus ou Datasul e alterar a tabela temporária definindo que enviou o retorno.
        • Caso exista erro para apagar a pesagem na tabela oficial a pesagem não será apagada na tabela oficial e nem alterada na tabela temporária e o Serviço do PIMSMulticultivos deve chamar o WebService de retorno para enviar a mensagem de retorno com status “2” (erro) e a ocorrência encontrada para o Protheus ou Datasul que não irá permitir apagar a pesagem até que a ocorrência seja corrigida.
      • Quando o Protheus ou Datasul enviar a pesagem, e mesma não existe na tabela temporária e a ação é de exclusão, o PIMSConector vai chamar o WebService do PIMSMulticultivos que vai gravar a pesagem na tabela temporária com status “0” (zero) aguardando processamento, a ação com “E” (exclusão), definir que não enviou o retorno e antes de finalizar a gravação na tabela temporária chamar o Serviço do PIMSMulticultivos que vai alterar o status da tabela temporária para “1” (em processamento) e como não existe pesagem para ser apagada o Serviço do PIMSMulticultivos irá alterar o status para “2” – Processamento com Sucesso na tabela temporária e chamar o WebService de retorno para enviar a mensagem de retorno com status “1” (sucesso) para o Protheus ou Datasul e alterar a tabela temporária definindo que enviou o retorno.

      -    Quando NÂO estiver configurado “A integração de recebimento de Matéria Prima é Síncrono” na seção “Pesagem” em “Administração > Configurações Gerais” as informações serão tratadas “off-line” entre os sistemas (Protheus ou Datasul e PIMSConector e PIMSMulticultivos).

      • Quando o Protheus ou Datasul enviar a pesagem, e mesma já existe na tabela temporária mais não existe na tabela oficial e a ação for de inclusão, o PIMSConector vai chamar o WebService do PIMSMulticultivos que vai alterar o status para “0” (zero) aguardando processamento, remover as ocorrências de processamento, definir que não enviou o retorno e salvar as informações na tabela temporária e chamar o WebService de retorno do PIMSMulticultivos que irá enviar mensagem de retorno para o Protheus ou Datasul com status “3” – e a ocorrência de processamento (Pesagem aguardando para ser processada) e nesse caso o Protheus ou Datasul deve salvar a pesagem e marcar que está aguardando retorno do PIMSMulitcultivos para definir como integrada.
        • No PIMSMulticulitvos será definido um processo agendado que irá chamar o Serviço do PIMSMulticultivos para buscar todas as pesagem com status “0” (Aguardando processamento), alterando o status da tabela temporária para “1” (em processamento) e definir que não enviou o retorno, gravar a tabela oficial e quando não configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Gerais” não chamar o Serviço para finalizar a pesagem na tabela oficial, caso contrário chamar o Serviço para finalizar a pesagem na tabela oficial, se configurado, “Enviar o recebimento de Matéria Prima para integração com ERP” em “Administração > Configurações Gerais”, gerar a tabela de produção e na tabela intermediária, caso contrário, gerar a tabela de produção.
          • Caso não exista erro para salvar e finalizar a pesagem na tabela oficial, a pesagem será salva na tabela oficial e o Serviço do PIMSMulticultivos irá gravar o identificador da pesagem, o status para “2” – Processamento com Sucesso e apagar as ocorrências do processamento e será definido um Serviço agendado que vai buscar todas as pesagens com status igual a “2” – Processamento com sucesso e com retorno da ocorrência igual “N” na tabela temporária e enviar a mensagem de retorno com status “1” (sucesso) para o Protheus ou Datasul e alterar a tabela temporária definindo que enviou o retorno.
          • Caso exista erro para salvar ou finalizar a pesagem na tabela oficial, a pesagem não será salva na tabela oficial e o Serviço do PIMSMulticultivos irá alterar o status para “3” Erro no processamento e a ocorrência de processamento na tabela temporária e será definido um Serviço agendado que vai buscar todas a pesagens com status igual “3” Erro no processamento e com retorno da ocorrência igual a “N” na tabela temporária e enviar a mensagem de retorno com status “2” (erro) e a ocorrência de processamento encontrada para o Protheus ou Datasul marcar que a pesagem não foi integrada, a ocorrência de processamento, para que a mesma seja corrigida e enviada novamente e alterar a tabela temporária definindo que enviou o retorno.
          • Quando o Protheus ou Datasul enviar a pesagem, e mesma já existe na tabela temporária e na tabela oficial e a ação é de inclusão, o PIMSConector vai chamar o WebService do PIMSMulticultivos que vai alterar o status para “0” (zero) aguardando processamento, remover as ocorrências de processamento, definir que não enviou o retorno e salvar as informações na tabela temporária e chamar o WebService do PIMSMulticultivos que irá enviar mensagem de retorno para o Protheus ou Datasul com status “3” e a ocorrência de processamento (Pesagem aguardando para ser processada) e nesse caso o Protheus ou Datasul deve salvar a pesagem e marcar que está aguardando retorno do PIMSMulitcultivos para definir como integrada.
      • No PIMSMulticulitvos será definido um processo agendado que irá chamar o Serviço do PIMSMulticultivos para buscar todas as pesagem com status “0” (Aguardando processamento), alterando o status da tabela temporária para “1” (em processamento), remover as ocorrências de processamento e definir que não enviou o retorno, alterar a pesagem na tabela oficial e quando não configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Gerais” alterar a pesagem na tabela oficial, caso contrário, se configurado, “Enviar o recebimento de Matéria prima para integração com ERP” em “Administração > Configurações Gerais”, alterar a tabela de produção e a tabela intermediária, caso contrário, alterar a pesagem na tabela de produção.
      • Caso não exista erro para alterar a pesagem na tabela oficial a pesagem será alterada na tabela oficial e o Serviço do PIMSMulticultivos irá gravar o identificador da pesagem, o status para “2” – Processamento com sucesso e apagar as ocorrências do processamento na tabela temporária e será definido um Serviço agendado que vai buscar todas as pesagens com status igual “2” Processamento com sucesso e com retorno da ocorrência igual a “N” na tabela temporária e enviar a mensagem de retorno com status “1” (sucesso) para o Protheus ou Datasul e alterar a tabela temporária definindo que enviou o retorno.
      • Caso exista erro para alterar a pesagem na tabela oficial, a pesagem não será alterada na tabela oficial e o Serviço do PIMSMulticultivos irá alterar o status para “3” Erro no processamento e a ocorrência de processamento na tabela temporária e será definido um Serviço agendado que vai buscar todas as pesagens com status igual “3” Erro no processamento e com retorno da ocorrência igual “ N” na tabela temporária e enviar a mensagem de retorno com status “2” (erro) e a ocorrência encontrada para o Protheus ou Datasul marcar que a pesagem não foi integrada, a ocorrência, para que a mesma seja corrigida e enviada novamente e alterar a tabela temporária definindo que enviou o retorno.
      • Quando o Protheus ou Datasul enviar a pesagem, e mesma não existe na tabela temporária e a ação é de inclusão, o PIMSConector vai chamar o WebService do PIMSMulticultivos que vai gravar a pesagem na tabela temporária com status “0” (zero) aguardando processamento, a ação com “I” (inclusão), definir que não enviou o retorno e salvar as informações na tabela temporária e chamar o WebService do PIMSMulticultivos que irá enviar mensagem de retorno para o Protheus ou Datasul com status “3” – (Pesagem aguardando para ser processada) e nesse caso o Protheus ou Datasul deve salvar a pesagem e marcar que está aguardando retorno do PIMSMulitcultivos para definir como integrada.
        • No PIMSMulticulitvos será definido um processo agendado que irá chamar o Serviço do PIMSMulticultivos para buscar todas as pesagem com status “0” (Aguardando processamento), alterando o status da tabela temporária para “1” (em processamento), definir que não enviou o retorno e salvar a pesagem na tabela oficial e quando não configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Gerais” não chamar o Serviço para finalizar a pesagem na tabela oficial, caso contrário, se configurado “Enviar recebimento de Matéria Prima para integração com ERP”, em “Administração > Configurações Gerais”, gerar a tabela de produção e a tabela intermediária, caso contrário, gerar a tabela de produção.
          • Caso não exista erro para salvar a pesagem na tabela oficial, a pesagem será salva e finalizada na tabela oficial e o Serviço do PIMSMulticultivos irá gravar o identificador da pesagem, o status para “2” – Processamento com Sucesso e apagar as ocorrências do processamento na tabela temporária e será definido um Serviço agendado que vai buscar todas a pesagens com status igual a “2” Processamento com sucesso e com retorno da ocorrência igual “N” na tabela temporária e enviar a mensagem de retorno com status “1” (sucesso) para o Protheus ou Datasul que irá marcar que a pesagem foi integrada e alterar a tabela temporária definindo que enviou o retorno.
          • Caso exista erro para salvar ou finalizar a pesagem na tabela oficial, a pesagem não será salva na tabela oficial e o Serviço do PIMSMulticultivos irá alterar o status para “3” Erro no processamento e a ocorrência de processamento na tabela temporária e será definido um Serviço agendado que vai buscar todas as pesagens com status igual a “3” Erro no processamento e com o retorno da ocorrência igual “N” na tabela temporária e enviar a mensagem de retorno com status “2” (erro) e a ocorrência de processamento encontrada para o Protheus ou Datasul marcar que a pesagem não foi integrada, a ocorrência de processamento, para que a mesma seja enviada novamente e alterar a tabela temporária definindo que enviou o retorno.
          • Quando o Protheus ou Datasul enviar a pesagem, e a mesma já existe na tabela temporária mais não existe na tabela oficial e a ação é de exclusão, o PIMSConector vai chamar o WebService do PIMSMulticultivos que vai alterar o status para “0” (zero) aguardando processamento, a ação para “E” (exclusão), remover as ocorrências de processamento e definir que não enviou o retorno na tabela temporária  e chamar o WebService do PIMSMulticultivos que irá enviar mensagem de retorno para o Protheus ou Datasul com status “3” e a ocorrência de processamento (Pesagem aguardando para ser processada) e neste caso o Protheus ou Datasul deve apagar a pesagem sem retorno do PIMSMulticultivos.
          • No PIMSMulticulitvos será definido um processo agendado que irá chamar o Serviço do PIMSMulticultivos para buscar todas as pesagem com status “0” (Aguardando processamento), alterando o status da tabela temporária para “1” (em processamento) e definir que não enviou o retorno, como está pesagem não existe na tabela oficial o Serviço do PIMSMulticultivos irá atualizar o status para “2” – Processamento com Sucesso e apagar as ocorrências do processamento na tabela temporária e será definido um Serviço agendado que vai buscar todas as pesagens com status igual a “2” Processamento com sucesso e com o retorno da ocorrência igual “N” na tabela temporária e enviar a mensagem de retorno com status “1” (sucesso) para o Protheus ou Datasul e alterar a tabela temporária definindo que enviou o retorno. Esta pesagem pode ser visualizada no monitor do PIMSConector ou Protheus ou Datasul.
          • Quando o Protheus ou Datasul enviar a pesagem, e mesma já existe na tabela temporária e na tabela oficial e a ação é de exclusão, o PIMSConector vai chamar o WebService do PIMSMulticultivos que vai gravar a pesagem na tabela temporária com status “0” (zero) aguardando processamento, a ação com “E” (exclusão), definir que não enviou o retorno e salvar as informações na tabela temporária e chamar o WebService do PIMSMulticultivos que irá enviar mensagem de retorno para o Protheus ou Datasul com status “3” – (Pesagem aguardando para ser processada) e neste caso o Protheus ou Datasul irá apagar a pesagem sem retorno do PIMSMulticultivos.
            • No PIMSMulticulitvos será definido um processo agendado que irá chamar o Serviço do PIMSMulticultivos para buscar todas as pesagens com status “0” (Aguardando processamento), que vai alterar o status da tabela temporária para “1” (em processamento), definir que não enviou o retorno e excluir a pesagem na tabela oficial, tabela de produção e na tabela intermediária.
              • Caso não exista erro para excluir a pesagem na tabela oficial, a pesagem será excluída da tabela oficial e o Serviço do PIMSMulticultivos irá remover o identificador da pesagem, o status para “2” – Processamento com Sucesso e apagar as ocorrências do processamento na tabela temporária e será definido um Serviço agendado que vai buscar todas as pesagens com status igual a “2” Processamento com sucesso e com a retorno da ocorrência igual “N” na tabela temporária e enviar a mensagem de retorno com status “1” (sucesso) para o Protheus ou Datasul e alterar a tabela temporária definindo que enviou o retorno.
              • Caso exista erro para excluir a pesagem na tabela oficial, a pesagem não será excluída na tabela oficial e o Serviço do PIMSMulticultivos irá alterar o status para “3” Erro no processamento e a ocorrência de processamento na tabela temporária e será definido um Serviço agendado que vai buscar todas a pesagens com status “3” Erro no processamento e com o retorno da ocorrência igual a “N” na tabela temporária e enviar a mensagem de retorno com status “2” (erro) e a ocorrência de processamento encontrada para o Protheus ou Datasul e alterar a tabela temporária definindo que enviou o retorno. Esta pesagem pode ser visualizada no monitor do PIMSConector ou Protheus ou Datasul.
                • Quando o Protheus ou Datasul enviar a pesagem, e mesma não existe na tabela temporária e a ação é de exclusão, o PIMSConector vai chamar o WebService do PIMSMulticultivos que vai gravar a pesagem na tabela temporária com status “0” (zero) aguardando processamento, a ação com “E” (exclusão) e definir que não enviou o retorno e chamar o WebService do PIMSMulticultivos que irá enviar mensagem de retorno para o Protheus ou Datasul com status “3” – (Pesagem aguardando para ser processada) e neste caso o Protheus ou Datasul irá apagar a pesagem sem retorno do PIMSMulticultivos.
                  • No PIMSMulticulitvos será definido um processo agendado que irá chamar o Serviço do PIMSMulticultivos para buscar todas as pesagem com status “0” (Aguardando processamento), que vai alterar o status da tabela temporária para “1” (em processamento) e definir que não enviou o retorno, como está pesagem não existe na tabela oficial o Serviço do PIMSMulticultivos irá atualizar o status para “2” – Processamento com Sucesso e apagar as ocorrências do processamento e será definido um Serviço agendado que vai buscar todas as pesagens com status igual “2” Processamento com sucesso e com retorno da ocorrência igual “N” na tabela temporária e enviar a mensagem de retorno com status “1” (sucesso) para o Protheus ou Datasul e alterar a tabela temporária definindo que enviou o retorno. Esta pesagem pode ser visualizada no monitor do PIMSConector ou Protheus ou Datasul.
              • Validações que serão feitas para gravar ou alterar a pesagem na tabela oficial:

                -         A Data e Hora da 1ª Pesagem deve ser menor ou igual a Data e Hora da 2ª Pesagem.

                • Quando a Data e Hora da 1ª Pesagem for maior que a Data e Hora da 2ª Pesagem gerar ocorrência “Data e Hora da 1ª Pesagem (DD/MM/YYYY HH:MM) maior que a Data e Hora da 2ª Pesagem (DD/MM/YYYY HH:MM)”.

                -         A Data e Hora da 2ª Pesagem deve ser maior ou igual a Data e Hora da 1ª Pesagem.

                • Quando a Data e Hora da 2ª Pesagem for menor que a Data e Hora da 1ª Pesagem gerar ocorrência “Data e Hora da 2ª Pesagem (DD/MM/YYYY HH:MM) menor que a Data e Hora da 1ª Pesagem (DD/MM/YYYY HH:MM).

                -         A Quantidade Bruta deve ser maior que 0 (zero).

                • Quando a Quantidade Bruta for menor ou igual a 0 (zero) gerar ocorrência “Quantidade Bruta deve ser positiva e maior que zero”.

                -         Quantidade Tara deve ser maior que 0 (zero).

                • Quando a Quantidade Tara for menor ou igual a 0 (zero) gerar ocorrência “Quantidade Tara deve ser positiva e maior que zero”.

                -         Total de Descontos deve ser maior ou igual a 0 (zero).

                • Quando o Total de Descontos for menor que 0 (zero) gerar ocorrência “Total de Descontos deve ser positivo”.
              • -         Quando a Unidade Receptora ERP não for informada pela integração, recuperar a Unidade Receptora pela Ordem de Colheita e quando não estiver configurado “Obrigar a informar Unidade Receptora” no cadastro de Cultura/Ocupação em (Tabelas > Culturas > Culturas / Ocupação) o campo não será obrigatório, caso contrário gerar ocorrência “Unidade Receptora requerida”.

                -         Se informada a Unidade Receptora ERP é verificado se a mesma está previamente cadastrada para a Unidade Administrativa da pesagem, se não estiver cadastrada é gerada a ocorrência: “Unidade Receptora inválida”.

                -         Quando o Equipamento for informado e estiver configurado “Permite informar caminhão não cadastrado” para o grupo de configuração “Pesagem” em “Administração > Configuração por Unidade”, e o mesmo não estiver cadastrado, o Equipamento não será obrigatório e o código será gravado em “CD_CAM_NCAD na tabela APPESAGEMMP”, caso contrário o Equipamento será obrigatório e deve estar disponível para a Unidade Administrativa.

                • Quando o Equipamento for informado e não estiver configurado “Permite informar caminhão não cadastrado” na seção “Pesagem” em “Administração > Configuração por Unidade” e não estiver cadastrado ou disponível para Unidade Administrativa” gerar ocorrência “Equipamento (Código) não cadastrado ou disponível para Unidade Administrativa”.

                -         O Número da Pesagem Externa será gravado com o número do Romaneio utilizando para identificar a pesagem no ERP.

                -         Se não informado a Ordem de Colheita, é estiver configurado “Utiliza Ano Agrícola” em “Administração > Configuração do Local de Produção” é verificado se o Ano Agrícola foi informado, caso seja informado o mesmo deve estar previamente cadastrado, caso não seja informado recuperar o ano Agrícola pelo Período de Produção, se encontrar mais de um Ano Agrícola associada ao Período de Produção gerar ocorrência “Não foi possível recuperar o Ano Agrícola pelo Período de Produção”.

                • Quando o Ano Agrícola for informado e não estiver cadastrado gerar ocorrência “Ano Agrícola invalido”.

                -         O Número da Ordem de Colheita será obrigatório quando não possuir informação para o Ano Agrícola, Período de Produção, [Fazenda], [Setor] e [Talhão] quando configurado “Utiliza Ano Agrícola” e “Utiliza [Setor]” em Administração > Configurações dos Locais de Produção” ou quando não possuir informação para o Período de Produção, [Fazenda] e [Talhão] quando não configurado “Utiliza Ano Agrícola” e “Utiliza [Setor] em “Administração > Configurações dos Locais de Produção” e quando configurado “Ordem de Colheita compartilhada entre unidades (S/N)”, nos parâmetros gerais, deve estar previamente cadastrada, caso contrário, deve estar previamente cadastrada para Unidade Administrativa.

                • Quando não informar o número da Ordem de Colheita e estiver configurado “Utiliza Ano Agrícola” e “Utiliza [Setor]” em “Administração > Configuração do Local de Produção” e não possuir informação para o Ano Agrícola, Período de Produção, [Fazenda], [Setor] e [Talhão] gerar a ocorrência “Número da Ordem de Colheita ou Ano Agrícola, Período de Produção, [Fazenda], [Setor] e [Talhão] não informado”.
                • Quando não informar o número da Ordem de Colheita e estiver não estiver configurado “Utiliza Ano Agrícola” e “Utiliza [Setor]” em “Administração > Configuração do Local de Produção” e não possuir informação para o Período de Produção, [Fazenda] e [Talhão] gerar a ocorrência “Número da Ordem de Colheita ou Período de Produção, [Fazenda] e [Talhão] não informado”.

                -         Quando configurado “Ordem de Colheita compartilhada entre unidades (S/N)”, nos parâmetros gerais o número da Ordem de Colheita deve estar previamente cadastrado, caso contrário, o Número da Ordem de Colheita deve estar cadastrado para a Unidade Administrativa.

                Quando o Número da Ordem de Colheita não estiver cadastrado e estiver configurado “Ordem de Colheita compartilhada entre unidades (S/N)” nos parâmetros gerais, gerar a ocorrência “Ordem de Colheita (Número) invalida”, caso contrário, gerar ocorrência “Ordem de Colheita (Número) invalida para a Unidade Administrativa (Descrição)”.
              • -         Se informada Ordem de Colheita válida, é verificado se há Local de Produção para a Ordem de Colheita, caso não exista é gerada a ocorrência “Ordem de Colheita sem Local de Produção”.

                -         Se informada a Ordem de Colheita e o Local de Produção, é verificado se o Local de Produção é o mesmo da Ordem de Colheita, caso não seja é gerada a ocorrência: “Local de Produção não corresponde ao Local de Produção da Ordem de Colheita”.

                -         Se informada a Ordem de Colheita é verificada se a mesma está aberta, caso não esteja é gerada a ocorrência: “Ordem de Colheita já encerrada”.

                -         Se não informado a Ordem de Colheita e quando configurado “Utiliza Ano Agrícola” em “Administração > Configurações do Local de Produção”, e o Ano Agrícola for informado o mesmo deve estar previamente cadastrado, caso não esteja gerar ocorrência “Ano Agrícola inválido”, caso o Ano Agrícola não for informado recuperar o Ano Agrícola pelo Período de Produção, caso existe mais de uma Período de Produção, gerar ocorrência “Não foi possível recuperar o Ano Agrícola pelo Período de Produção”, caso o Período de Produção não for informado gerar ocorrência “Orem de Colheita não informada e Ano Agrícola inválido”.

                -         Se não informado a Ordem de Colheita e quando não configurado “Utiliza Ano Agrícola” em “Administração > Configurações do Local de Produção”, e o Ano Agrícola não for informado recuperar o Ano Agrícola pelo Período de Produção.

                -         Se não informada a Ordem de Colheita, e estiver configurado “Utiliza Ano Agrícola” em “Administração > Configuração do Local de Produção” é verificado se o Período de Produção está associado ao Ano agrícola, caso não esteja é gerada a ocorrência “Ordem de Colheita não informada e Período de Produção não associado ao Ano Agrícola, caso contrário, é gerado a ocorrência “Ordem e Colheita não informada e Período de Produção invalido”.

                -         Se não informada a Ordem de Colheita, é verificado se a [Fazenda] está cadastrada para a Unidade Administrativa, caso não esteja é gerada a ocorrência “Ordem de Colheita não informada e [Fazenda] inválida”.

                -         Se informada a [Fazenda] é verificado se a mesma está cadastrada para a Unidade Administrativa, caso não esteja é gerada a ocorrência: “[Fazenda] (Código) não cadastrada para a Unidade Administrativa (Descrição) ”.

                -         Se não informada a Ordem de Colheita, e estiver configurado “Utiliza [Setor] na Configuração do Local de Produção em “Administração > Configuração do Local de Produção”, é verificado se o [Setor] está associado para a [Fazenda] informada, caso não esteja é gerada a ocorrência “Ordem de Colheita não informado e [Setor] não associado a [Fazenda]”, caso contrário o [Setor] não será obrigatório.

                -         Se não informada a Ordem de Colheita, e estivar configurado “Utiliza [Setor]” na Configuração do Local de Produção em “Administração > Configuração do Local de Produção”, é verificado se o [Talhão] está associado ao [Setor] e Período de Produção informado, caso não esteja é gerada a ocorrência “Ordem de Colheita não informado e [Talhão] não associado ao [Setor]”, caso contrário é gerada ocorrência “Ordem de Colheita não informada e [Talhão] não associado a [Fazenda]”.

                -         É verificada se a Data de Movimento foi informada, caso não esteja informada é gerada a ocorrência: “Data de movimento inválida”.

                -         É verificada se a Data e Hora de Entrada foi informada, caso não esteja informada é gerada a ocorrência “Data e Hora de Entrada inválida”.

                -         É verificado se a Data e Hora de Saída foi informada, caso não esteja informada é gerada a ocorrência “Data e Hora da Saída inválida”.

                -         Se o custo já estiver fechado para a Data de Movimento será gerada a ocorrência “Custo já fechado para essa Data”.

                -         Quando for atualizar a Pesagem verificar se a mesma já foi processada pelo Pagamento de Serviço, caso foi processada gerar ocorrência “Pesagem processada pelo Processamento de Pagamento de Serviço”, caso contrário atualizar a pesagem.

                -         Quando não trabalha com Unidade Administrativa Centralizadora o Número de Pesagem Externa não pode se repetir para a Unidade Administrativa, se existir será gerada a ocorrência “Pesagem já existente para a Unidade Administrativa”.

                -         Se informado o Local de Produção e não informada a Ordem de Colheita, é verificado se há Ordem de Colheita para o Local de Produção informado, se existir Ordem de Colheita para o Local de Produção é verificado se há Ordem de Colheita aberta para o Local de Produção, se não existir Ordem de Colheita aberta para o Local de Produção é gerada a ocorrência: “Ordem de Colheita já encerrada para o Local de Produção”.

                -         Se configurado “Obrigar a informar a Equipe” para o grupo “Recepção de Matéria Prima” em “Tabelas > Culturas > Cultura / Ocupação”, é verificado se foi informada a Ordem de Colheita, e se não foi informado o Ano Agrícola, Período de Produção, [Fazenda], [Setor] e [Talhão] ou se não foi possível localizar a Ordem de Colheita pelo Ano Agrícola, Período de Produção, [Fazenda], [Setor] e [Talhão], se não foi possível recuperar a ordem de colheita, é gerada a ocorrência: “Equipe configurada como obrigatória na Pesagem para a Cultura/Ocupação, porém não foi informada a Ordem de Colheita”, caso contrário a Equipe não será obrigatória.

                -         Se informado a Equipe pela Integração, a mesma deve estar previamente cadastrada para a unidade administrativa da pesagem e deve ser igual a Equipe da Ordem de Colheita, caso não esteja cadastrada gerar ocorrência “Equipe inválida”, caso não seja a mesma da Ordem de Colheita gerar ocorrência “Equipe diferente da Ordem de Colheita”.

                Regras para identificar qual o produto utilizado para gerar estoque:
              • -         Quando configurado “Finalizar a Pesagem após recebimento de Matéria Prima pela integração com ERP” para o grupo de configuração “Pesagem” em “Administração > Configurações Gerais”.

                • Primeiro verifica se há produto Matéria Prima informado na Pesagem, se existir será esse o produto utilizado para integrar com o estoque.
                • Se não possuir produto Matéria Prima informado na Pesagem, o sistema utilizará o produto Matéria Prima da Ordem de Colheita (quando informada), se existir será esse o produto utilizado para integrar com o estoque.
                • Se não possuir produto Matéria Prima configurado na ordem de Colheita, o sistema utilizará o produto Matéria Prima configurado para a Variedade, se existir será esse o produto utilizado para integrar com o estoque.
                • Se não possuir produto Matéria Prima configurado para a Variedade, o sistema utilizará o produto Matéria Prima configurado para a Cultura/Ocupação, quando possuir apenas um produto Matéria Prima configurado.
                • Se não existir produto configurado para a Pesagem, nem para a Ordem de Colheita, nem para Variedade, nem para a Cultura/Ocupação ou a Cultura/Ocupação possui mais de uma produto associado e a Unidade Receptora estiver configurada para integrar com o estoque, gerar a ocorrência “Não há produto Matéria Prima configurado para essa Pesagem ou Ordem de Colheita ou Variedade ou Cultura/Ocupação ou a Cultura/ocupação possui mais de uma produto associado, pesagem não Finalizada!” e não irá integrar com estoque.

                -         Quando configurado “Finalizar a Pesagem após recebimento de Matéria Prima pela integração com ERP” para o grupo de configuração “Pesagem” em “Administração > Configurações Gerais” e configurado que “Todas as Pesagens são Analisadas” para o grupo “Recepção de Matéria Prima” em “Tabelas > Culturas > Cultura/Ocupação” à qual pertence a Pesagem e não possuir Análise para a Pesagem, será gerada a ocorrência “É obrigatório realizar Análise de Matéria Prima para a Pesagem”, caso contrário não será obrigatório.

                -         Se informado o Produto ERP pela Integração, o mesmo deve estar previamente cadastrado, caso não esteja cadastrado gerar a ocorrência “Produto ERP inválido”, caso encontre mais de uma Produto associado ao Produto ERP, gerar a ocorrência “Existe mais de um Produto associado ao Produto ERP”.

                -         Se não informar o Produto ERP pela integração, recuperar o produto pela Ordem de Colheita, caso não encontre produto configurado para Ordem de Colheita, recuperar o produto pela Variedade, caso não encontre produto configurado para Variedade, recuperar a produção pela Cultura/Ocupação, caso encontre mais de um produto associado à Cultura/Ocupação não recuperar o produto.

                -         Se configurado “Necessita de Contrato de Venda da Produção para produto Matéria Prima”, em “Tabelas > Culturas > Cultura/Ocupação”, e a pesagem possui Controle de Colheita, será localizado o Contrato vigente de acordo com a Data de Movimento para o Local de Produção da Ordem de Colheita ou Local de Produção informado. Se não existir contrato é gerada a ocorrência: “Não há Contrato de Venda da Produção vigente nessa Data de Movimento para o Local de Produção e Produto”, caso contrário não será obrigatório ter contrato de venda.

                Se possuir contrato de venda vigente será verificado se há algum Produto informado no contrato. Se existir algum produto no contrato é verificado se o produto ao qual se refere na pesagem está no contrato e caso não exista será gerada a ocorrência: “Não há Contrato de Venda da Produção vigente nessa Data de Movimento para o Local de Produção e Produto”.
              • Regras para identificar qual o produto utilizado para verificar se tem contrato:

                • Primeiro verifica se há produto Matéria Prima informado na Pesagem, se existir será esse o produto utilizado para integrar com o estoque.
                • Se não possuir produto Matéria Prima informado na Pesagem, o sistema utilizará o produto Matéria Prima da Ordem de Colheita (quando informada), se existir será esse o produto utilizado para integrar com o estoque.
                • Se não possuir produto Matéria Prima configurado na ordem de Colheita, o sistema utilizará o produto Matéria Prima configurado para a Variedade, se existir será esse o produto utilizado para integrar com o estoque.
                • Se não possuir produto Matéria Prima configurado para a Variedade o sistema utilizará o produto Matéria Prima configurado para a Cultura/Ocupação, quando possuir apenas um produto Matéria Prima configurado.

                -         Regras para identificar a quantidade a ser integrada, quando configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Geais”:

                • É verificada se a Unidade de Medida do Produto é “Kg-Quilo”, se for, a quantidade bruta, quantidade tara e total de descontos integrada será o peso Final. A unidade de medida “Kg-Quilo” deve estar configurada em (Administração > Configurações Gerais – Grupo de Configuração “Unidade de Medida”). Se não possuir a unidade de medida configurada como “Kg-Quilo” gerar a ocorrência “Unidade de Medida Quilo não configurada”.
                • Se a Unidade de Medida do produto for diferente de “Kg-Quilo”, o sistema irá buscar o Conversor de Unidade de Medida (Tabelas > Básicos > Conversor para Unidade de Medida) que converterá “Quilo” para a Unidade de Medida do Produto. Será aplicado o fator do conversor de Unidade de Medida para converter os Quilos para a quantidade a ser considerada como produção. Se não possuir conversor de unidade de medida que converta Quilo para a Unidade de Medida do Produto, será gerada a ocorrência “Não há Conversor de Unidade de Medida de Quilo para a Unidade de Medida do Produto Matéria Prima”.

                -         Se não informado o Número da Nota e estiver configurado “Informar o número da Nota Fiscal, Série e Tipo da Nota Fiscal na Manutenção da Pesagem, Pesagem e Registro de Colheita” em “Tabelas > Culturas > Culturas / Ocupação”, gerar ocorrência “Número da Nota Fiscal requerida”, caso contrário o Número da Nota Fiscal não é obrigatório.

                -         Se não informado o Número da Série e estiver configurado “Informar o número da Nota Fiscal, Série e Tipo da Nota Fiscal na Manutenção da Pesagem, Pesagem e Registro de Colheita”, em “Tabelas > Culturas > Culturas / Ocupação” gerar ocorrência “Número da Série da Nota Fiscal é requerida”, caso contrário o Número da Série da Nota Fiscal não é obrigatório”;

                -         Se não informado o Tipo da Nota Fiscal e estiver configurado “Informar o número da Nota Fiscal, Série e Tipo da Nota Fiscal na Manutenção da Pesagem, Pesagem e Registro de Colheita”, em “Tabelas > Culturas > Culturas / Ocupação” gerar ocorrência “Tipo da Nota Fiscal requerida”, caso contrário o Tipo da Nota Fiscal não é obrigatório.

                -         É gravado o identificador da Pesagem na tabela temporária para associar a Pesagem.

                -         Quando informar o código do motorista, o mesmo deve estar cadastrado e disponível para unidade administrativa da Empresa ERP e Filial ERP, caso o funcionário não esteja cadastrado ou disponível gerar a ocorrência “Funcionário (código) não está cadastrado ou não está disponível”.

                -         Quando informar o código da colhedora, a mesma deve estar cadastrada e disponível para unidade administrativa da Empresa ERP e Filial ERP, caso a colhedora não esteja cadastrada ou disponível gerar a ocorrência “Colhedora (código) não está cadastrada ou não está disponível”.

                -         Quando informar o código do operador, o mesmo deve estar cadastrado e disponível para unidade administrativa da Empresa ERP e Filial ERP, caso o operador não esteja cadastrado ou disponível gerar a ocorrência “Operador (código) não está cadastro ou não está disponível”.

                -         Se informado a Ocupação é verificado se a mesma está previamente cadastrada e deve ser a mesma do [Talhão] da Ordem de Colheita (quando informada) ou do Local de Produção, caso não estiver cadastrado é gerado a ocorrência “Ocupação inválida”, caso não seja a mesmo da Ordem de Colheita ou do Local de Produção é gerado a ocorrência “Ocupação diferente da Ordem de Colheita ou do Local de Produção”.

                -         Quando informar o Sistema de Colheita, o mesmo deve estar cadastrado e deve ser o mesmo da Ordem de Colheita (quando informado), caso não esteja cadastrado gerar ocorrência “Sistema de Colheita inválido”, caso não seja o mesmo da Ordem de Colheita (quando informado) gerar a ocorrência “Sistema de Colheita informado diferente da Ordem de Colheita”.

              • -         Número do Fardão é obrigatório quando configurado “Usar “Nº de Id. da Carga” na pesagem” no Grupo “Recepção de Matéria Prima” em “Tabelas > Culturas > Cultura/Ocupação”, caso não seja informado gerar ocorrência “Número do Fardão inválido”, caso contrário não será obrigatório.

                -         Quando estiver configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP”, em “Administração > Configurações Gerais” e estiver configurado “Enviar o recebimento de Matéria Prima para integração com o ERP” em “Administração > Configurações Gerais”, a Unidade Receptora será obrigatório para finalizar a pesagem, caso não seja informada gerar ocorrência “Unidade Receptora inválida na finalização da Pesagem de Matéria Prima”.

                -         Quando estiver configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP”, em “Administração > Configurações Gerais”, e não estiver configurado “Enviar o recebimento de Matéria Prima para integração com ERP”, em “Administração > Configurações Gerais” a Unidade Receptora não será obrigatório para finalizar a pesagem.

                -         Quando não estiver configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com ERP”, em “Administração > Configurações Gerais”, a Unidade Receptora não será obrigatória.

                -         Quando for uma inclusão de Pesagem de Matéria Prima e configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Gerais”, chamar o Serviço do PIMSMulticultivos para finalizar a pesagem e quando configurado “Enviar o recebimento de Matéria Prima para integração com ERP” em “Administração > Configurações Gerais”, e a Unidade Receptora está configurada para integrar, atualizar o status da pesagem para “0” (aguardando execução), atualizar o status da tabela temporária para gerar estoque para “0” (aguardando execução) e na tabela de produção com status “2” (envio para ERP), quando a Unidade Receptora não está configurada para integrar, atualizar o status da pesagem com “0” (aguardando execução) e gerar a tabela produção com status “9” (não será integrada), chamar o WebService do PIMSMulticultivos para enviar mensagem de retorno com status “1” (sucesso) para o Protheus ou Datasul.

                -         Quando for uma inclusão de Pesagem de Matéria Prima e configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Gerais”  chamar o Serviço do PIMSMulticultivos para finalizar a pesagem e quando não configurado “Enviar o recebimento de Matéria Prima para integração com ERP”, em “Administração > Configurações Gerais”, atualizar o status da pesagem com “0” (aguardando execução) e gerar a pesagem na tabela de produção com status “9” (não será integrado) e chamar o WebService do PIMSMulticultivos para enviar mensagem de retorno com status “1” (sucesso) para o Protheus ou Datasul.

                Quando for um alteração de Pesagem de Matéria Prima e quando configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Gerais” chamar o Serviço do PIMSMulticultivos para finalizar a pesagem e quando configurado “Enviar o recebimento de Matéria Prima para integração ERP” em “Administração > Configurações Gerais” e a Unidade Receptora está configurada para integrar, quando a tabela de produção estiver com status “2” (enviado para o ERP) e na tabela temporária com status “0” (aguardando execução) alterar a pesagem, a tabela de produção e tabela intermediária e chamar o WebService de retorno do PIMSMulticultivos para enviar mensagem de retorno com status “1” (sucesso) para o Protheus ou Datasul, quando a tabela de produção estiver com status “2” (enviado para o ERP) e na tabela temporária com status “1” (em execução) não permitir alterar a pesagem e chamar o WebService de retorno do PIMSMulticultivos para enviar mensagem de retorno com status “2” (erro) com a ocorrência “Pesagem em processamento pelo ERP) para o Protheus ou Datasul,  quando o status da tabela de produção estiver “3” (erro no processamento pelo ERP) e na tabela temporária estiver com status “5” (erro atualizado pelo PIMS), alterar a pesagem, a tabela produção e o status para “2” (enviado para ERP) e a tabela intermediária e o status para “0” (aguardando execução) e chamar o WebService de retorno do PIMSMulticultivos para enviar mensagem de retorno com status “1” (sucesso) para o Protheus ou Datasul), quando o status da tabela de produção estiver com status “15” (processado com Sucesso pelo ERP) e a tabela temporária estiver com status “2” (enviado para o ERP), não permitir alterar a pesagem e chamar o WebService de retorno do PIMSMulticultivos para enviar mensagem de retorno com status “2” (erro) e a ocorrência “Pesagem enviada para ERP aguardando execução” para o Protheus ou Datasul, quando a tabela de produção estiver com status “15” (processado com Sucesso pelo ERP) e a tabela temporária estiver com status “4” (Valorizado com Sucesso pelo ERP), não permitir alterar a pesagem e chamar WebService de retorno do PIMSMulticultivos para enviar mensagem de retorno com status “2” (erro) com a ocorrência “Pesagem Enviada para ERP aguardando valorização) para o Protheus ou Datasul, quando a tabela de produção estiver com status “4” (valorizado com Sucesso pelo ERP) e a tabela temporária estiver com status “6” (valorizado pelo PIMS), não permitir alterar a pesagem e chamar o WebService de retorno do PIMSMulticultivos para enviar mensagem de retorno com status “2” (erro) com a ocorrência “Pesagem Enviada para ERP e integrada com sucesso” para o Protheus ou Datasul, quando a tabela de produção estiver com status “11” (em execução do Estorno) e a tabela temporária estiver com status “10” (Aguardando Execução do Estorno), não permitir alterar a pesagem e chamar o WebService de retorno do PIMSMulticultivos para enviar mensagem de retorno com status “2” (erro) com a ocorrência “pesagem Enviada para ERP aguardando estorno” para o Protheus ou Datasul, quando a tabela de produção estiver com status “12” (Erro na execução do estorno pelo ERP) e a tabela temporária estiver com status “12” (erro na execução do estorno pelo ERP), não permitir alterar a pesagem e chamar o WebService de retorno do PIMSMulticultivos para enviar mensagem de retorno com status “2” (erro) com a ocorrência “Pesagem Enviada para ERP com erro no estorno” para o Protheus ou Datasul, quando a tabela de produção estiver com status “0” (aguardando execução) e a pesagem não estiver na tabela temporária, alterar a pesagem, a tabela de produção com status “2” (enviada para ERP) e incluir a tabela intermediária com status “0” (aguardando execução) e chamar o WebService de retorno do PIMSMulticultivos para enviar mensagem de retorno com status “1” (sucesso) para o Protheus ou Datasul. Quando a Unidade Receptora não está configurada para integrar, e o status da tabela produção estiver com “9” (não será integrado) alterar a pesagem e a tabela de produção e chamar o WebService de retorno do PIMSMulticultivos para enviar mensagem de retorno com status “1” (sucesso) para o Protheus ou Datasul. Quando não configurado “Enviar o recebimento de Matéria Prima para integração ERP” em “Administração > Configurações Gerais” e o status da tabela de produção estiver com “9” (não será integrado), alterar a pesagem, a tabela de produção e chamar o WebService de retorno do PIMSMulticultivos para enviar mensagem de retorno com “1” (sucesso) para o Protheus ou Datasul.
              • -         Quando não configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Gerais” a pesagem será salva na tabela oficial, não chamar o Serviço para finalizar a Pesagem e chamar o WebService de retorno do PIMSMulticultivos para enviar mensagem de com “1” (sucesso) para o Protheus ou Datasul. A finalização da pesagem deve ser executada manualmente pelo usuário.

                 Ação excluir:

                -         Não permitir excluir uma pesagem quando custo estiver processado, chamar o WebService de retorno do PIMSMulticultivos para enviar mensagem de retorno com status “2” (erro) e a ocorrência de processamento “Custo já fechado para essa Data” para o Protheus ou Datasul.

                -         Não permitir excluir uma pesagem processado pelo pagamento de serviço, chamar o WebService de retorno do PIMSMulticultivos para enviar mensagem de retorno com status “2” (erro) e a ocorrência de processamento “Pesagem processada pelo Processamento de Pagamento de Serviço” para o Protheus ou Datasul.

                -         Não permitir excluir uma pesagem quando o status da tabela de produção estiver com status “3” (erro no processamento pelo ERP) e o status da tabela temporária estiver com “5” (erro na atualização pelo PIMS) ou quando o status da tabela de produção estiver com status “2” (enviado para ERP) e o status da tabela temporária estiver com “1” (em execução) ou a tabela de produção estiver com status “15” (Processado com Sucesso pelo ERP) e a status da tabela temporária estiver com “2” (Enviado para ERP) ou a tabela de produção estiver com status “15” (processado com Sucesso pelo ERP) e status da tabela intermediária estiver com “4” (Valorizado com Sucesso pelo ERP) ou a tabela de produção estiver com status “4” (Valorizado com Sucesso pelo ERP) e o status da tabela intermediária estiver “6” (Valorizado pelo PIMS) ou a tabela de produção estiver com status “11” (Em execução do Estorno) e o status da tabela temporária estiver com “10” (Aguardando Execução do Estorno) ou se a tabela de produção estiver com status “12” (Erro na execução do estorno pelo ERP) e o status da tabela intermediária estiver com “12” (Erro na execução do estorno pelo ERP), chamar o WebService de retorno do PIMSMulticultivos para enviar mensagem de retorno com status “2” (erro) e a ocorrência de processamento para o Protheus ou Datasul.

Tabela

Tabela de Produção

Tabela intermediária

2 - Enviado para o ERP

0 - Aguardando execução

2 - Enviado para o ERP

1 - Em Execução

3 - Erro no Processamento pelo ERP

5 -  Erro atualizado pelo PIMS

15 - Processado com Sucesso pelo ERP

2 - Enviado para o ERP

15 - Processado com Sucesso pelo ERP

4 - Valorizado com Sucesso pelo ERP

4 - Valorizado com Sucesso pelo ERP

6 - Valorizado pelo PIMS

11 - Em execução do Estorno

10 - Aguardando Execução do Estorno

12 - Erro na execução do estorno pelo ERP

12 - Erro na execução do estorno pelo ERP

0 - Aguardando execução

Exclui BRG

Caso de Uso:

-         Quando o ERP enviar a Pesagem e o PIMSConector estiver online e o PIMSMulticultivos estiver off-line, enviar mensagem para o Protheus ou Datasul para seguir com a pesagem e marcar para ser enviada em outro momento.

-         Quando o ERP enviar a Pesagem e o PIMSConector está off-line, neste caso o tempo de resposta é imediato é deve seguir a pesagem e marcar para ser enviada em outro momento

-         Quando o ERP Enviar a Pesagem e estiver configurado “A integração de recebimento de Matéria Prima é Síncrono” na seção “Pesagem” em “Administração > Configurações Gerais” e ocorrer algum erro de validação no PIMSMulticultivos, não permitir finalizar a Pesagem e o usuário deve ajustar a ocorrência no PIMSMulticulitovs para permitir finalizar a Pesagem no ERP, caso contrário permitir finalizar a pesagem no Protheus ou Datasul e deve ser marcada para ser enviada posteriormente.

Fluxo:

Especificação Técnica:

 Tabelas:

 

Descrição

Nome

Situação

Tabela de Interface ERP – Pesagem de Matéria Prima

BRG_APPESAGEMMP

Nova

 Demais Funcionalidades:

 -    Quando definir que a integração de pesagem de matéria prima for assíncrona este processo deve ser definido desde o Protheus ou Datasul, PIMSConector e PIMSMulticultivos (FG_TIPO_INTEGRACAO igual a “N” da tabela PRXPARAMETER para o grupo ID_PRXGPPARAMETER igual a “16”).

 -    Quando definir que a integração de pesagem de matéria prima for síncrona este processo deve ser definido desde o Protheus ou Datasul, PIMSConector e PIMSMiulticultivos (FG_TIPO_INTEGRACAO igual a “S” da tabela PRXPARAMETER para o grupo ID_PRXGPPARAMETER igual a “16”).

 -    Quando finalizar a Pesagem de Matéria Prima no ERP (Protheus ou Datasul), chamar o PIMSConector que será responsável em chamar o WebService “integracaoMateriaPrima” do PIMSMulticultivos. Este WebService ira efetuar a gravação na tabela intermediaria (BRG_APPESAGEMMP) da seguinte maneira:

 -    Quando estiver configurado “A integração de recebimento de Matéria Prima é Síncrono” na seção “Pesagem” em “Administração > Configurações Gerais” (FG_TIPO_INTEGRACAO igual a “S” da tabela PRXPARAMETER para o grupo ID_PRXGPPARAMETER igual a “16”) as informações serão tratadas online entre os sistemas (Protheus ou Datasul e PIMSConector e PIMSMulticultivos).

  • Quando o Protheus ou Datasul enviar a pesagem, e a mesma já existe na tabela temporária (NO_BOLETIM_EXT igual <noBoletimExt>, CD_EMPRESA_ERP igual <cdEmpresaErp> e CD_FILIAL_ERP igual a <cdFilialErp> da tabela BRG_APPESAGEMMP), mais não existe na tabela oficial (ID_APPESAGEMMP da tabela BRG_APPESAGEMMP não possui informação) e a ação for de inclusão (<fgAcao>) igual a “I” inclusão, o PIMSConector vai chamar o WebService (integracaoPesagemMateriaPrima) do PIMSMulticultivos que vai alterar o status (FG_STATUS_EAI) para “0” (zero) aguardando processamento, remover as ocorrências (FG_MENSAGEM) de processamento e definir que não enviou o retorno (FG_RETORNO_OCORR igual a “N”) da tabela temporária (BRG_APPESAGEMMP) e antes de finalizar a gravação (COMMIT) na tabela temporária (BRG_APPESAGEMMP) chamar o Serviço (manterintegracaoMateriaPrima) do PIMSMulticultivos que vai alterar o status (FG_STATUS_EAI) da tabela temporária (BRG_APPESAGEMMP) para “1” (em processamento) e gravar a pesagem na tabela oficial (APPESAGEMMP) e quando não configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Gerais” (FG_FINALIZA_PESAGEM_REC_ERP igual a “N” da tabela PRXPARAMETER para o grupo ID_PRXGPPARAMETER  igual a “16”), não chamar o serviço (realizarIntegracao) para finalizar a pesagem na tabela oficial (APPESAGEMMP), caso contrário chamar o serviço (realizarIntegracao) para finalizar a pesagem na tabela oficial (APPESAGEMMP), se configurado “Enviar o recebimento de Matéria Prima para integração com ERP”, em “Administração > Configurações Gerais” (FG_ENVIA_PESAGEM_ERP  igual a “S” da tabela PRXPARAMETER para o grupo ID_PRXGPPARAMETER  igual a “16”),  gerar a tabela de produção (BF_PRODUCAO) e a tabela intermediária (BRG_BXMATERIAL_EMS), caso contrário gerar a tabela de produção (BF_PRODUCAO).
    • Caso não exista erro a pesagem será salva e o Serviço (manterIntegracaoMateriaPrima) do PIMSMulticultivos irá gravar o identificador da pesagem (ID_APPESAGEMMP), o status (FG_STATUS_EAI) para “2” – Processamento com Sucesso e apagar as ocorrências do processamento (FG_MENSAGEM) na tabela temporária (BRG_APPESAGEMMP) e chamar o WebService de retorno (retornoIntegracaoMateriaPrima) para enviar a mensagem de retorno com status (<statusPesagem>) “1” (sucesso) para o Protheus ou Datasul e alterar a tabela temporária (BRG_APPESAGEMMP) definindo que enviou o retorno (FG_RETORNO_OCORR igual a S”). 
    • Caso exista erro para salvar a pesagem na tabela oficial (APPESAGEMMP) a pesagem não será salva na tabela oficial (APPESAGEMMP) e nem alterada na tabela temporária (BRG_APPESAGEMMP) e o Serviço (manterIntegracaoMateriaPrima) do PIMSMulticultivos deve chamar o WebService de retorno (retornoIntegracaoMateriaPrima) para enviar a mensagem de retorno com status (<statusPesagem>) “2” (erro) e a ocorrência (<ocorrenciaProcessamento>) encontrada  para o Protheus ou Datasul que não irá permitir salvar a pesagem até que a ocorrência (<ocorrenciaProcessamento>) seja corrigida. 
  • Quando o Protheus ou Datasul enviar a pesagem, e a mesma já existe na tabela temporária (NO_BOLETIM_EXT igual <noBoletimExt>, CD_EMPRESA_ERP igual <cdEmpresaErp> e CD_FILIAL_ERP igual a <cdFilialErp> da tabela BRG_APPESAGEMMP) e na tabela oficial (ID_APPESAGEMMP da tabela BRG_APPESAGEMMP igual a ID_APPESAGEMMP da tabela APPESAGEMMP) e a ação (<fgAcao>) é “I” inclusão, o PIMSConector vai chamar o WebService (integracaoMateriaPrima) do PIMSMulticultivos que vai alterar o status (FG_STATUS_EAI) para “0” (zero) aguardando processamento, remover as ocorrências (FG_MENSAGEM) de processamento e definir que não enviou o retorno (FG_RETORNO_OCORR igual a “N”) da tabela temporária (BRG_APPESAGEMMP) e antes de finalizar a gravação(COMMIT) na tabela temporária (BRG_APPESAGEMMP) chamar o Serviço (manterIntegracaoMateriaPrima) do PIMSMulticultivos que vai alterar o status (FG_STATUS_EAI) da tabela temporária (BRG_APPESAGEMMP) para “1” (em processamento) e alterar a pesagem na tabela oficial (APPESAGEMMP) e quando não configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Gerais” (FG_FINALIZA_PESAGEM_REC_ERP igual “N” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “16”) não alterar a tabela de produção (BF_PRODUCAO) e nem a tabela intermediária (BRG_BXMATERIAL_EMS), caso contrário, se configurado “Enviar Recebimento de Matéria para integração com ERP”, em “Administração > Configurações Gerais”,  em “Administração > Configurações Gerais” (FG_ENVIA_PESAGEM_ERP igual a “S” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “16”), alterar a tabela de produção (BF_PRODUAO) e a tabela intermediária (BRG_BXMATERIAL_EMS), caso contrário alterar a tabela de produção (BF_PRODUCAO).
    • Caso não exista erro a pesagem será alterada e o Serviço(manterIntegracaoMateriaPrima) do PIMSMulticultivos irá gravar o identificador da pesagem (ID_APPESAGEMMP), o status (FG_STATUS_EAI) para “2” – Processamento com Sucesso e apagar as ocorrências (FG_MENSAGEM) do processamento na tabela temporária (BRG_APPESAGEMMP) e chamar o WebService de retorno (retornoIntegracaoMateriaPrima) para enviar a mensagem de retorno com status (<statusPesagem>) “1” (sucesso) para o Protheus ou Datasul que irá salvar a pesagem e alterar a tabela temporária (BRG_APPESAGEMMP) definindo que enviou a retorno (FG_RETORNO_OCORR igual a “S”).
    • Caso exista erro para alterar a pesagem na tabela oficial (APPESAGEMMP) a pesagem não será alterada na tabela oficial (APPESAGEMMP) e nem alterada na tabela temporária (BRG_APPESAGEMMP) e o Serviço (manterIntegracaoMateriaPrima) do PIMSMulticultivos deve chamar o WebService de retorno (retornoIntegracaoMateriaPrima) para enviar a mensagem de retorno com status (<statusPesagem>) “2” (erro) e a ocorrência (<ocorrenciaProcessamento>) encontrada  para o Protheus ou Datasul que não irá permitir salvar a pesagem até que a ocorrência seja corrigida.
  • Quando o Protheus ou Datasul enviar a pesagem, e a mesma não existe na tabela temporária (<noBoletimExt> não encontrado na tabela temporária BRG_APPESAGEMMP para NO_BOLETIM_EXT, CD_EMPRESA_ERP igual a <cdEmpresaErp> e CD_FILIAL_ERP igual a <cdFilialErp>)  e a ação (<fgAcao>) é “I” inclusão, o PIMSConector vai chamar o WebService (integracaoMateriaPrima) do PIMSMulticultivos que vai gravar a pesagem na tabela temporária (BRG_APPESAGEMMP) com status (FG_STATUS_EAI) “0” (zero) aguardando processamento, a ação (FG_ACAO) com “I” (inclusão) e definir que não enviou o retorno (FG_RETORNO_OCORR igual a “N”)  e antes de finalizar a gravação (COMMIT) na tabela temporária (BRG_APPESAGEMMP) chamar o Serviço (manterIntegracaoMateriaPrima) do PIMSMulticultivos que vai alterar o status (FG_STATUS_EAI) da tabela temporária (BRG_APPESAGEMMP) para “1” (em processamento), salvar a pesagem na tabela oficial (APPESAGEMMP) e quando não configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Gerais” (FG_FINALIZA_PESAGEM_REC_ERP  igual a “N” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER  igual a “16”) não chamar o Serviço (realizarIntegracao) para finalizar a pesagem na tabela oficial (APPESAGEMMP), caso contrário chamar o serviço (realizarIntegracao) para finalizar a pesagem na tabela oficial (APPESAGEMMP), se configurado “Enviar o recebimento de Matéria Prima para integração com ERP” em “Administração > Configurações Gerais”, (FG_ENVIA_PESAGEM_ERP igual a “S” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “16”) gravar tabela de produção (BF_PRODUCAO) e a tabela intermediária (BRG_BXMATERIAL_EMS), caso contrário gravar a tabela de produção (BF_PRODUCAO).
    • Caso não exista erro a pesagem será salva e o Serviço (manterIntegracaoMateriaPrima) do PIMSMulticultivos irá gravar o identificador da pesagem (APPESAGEMMP>ID_APPESAGEMMP), o status (FG_STATUS_EAI) para “2” – Processamento com Sucesso na tabela temporária (BRG_APPESAGEMMP) e chamar o WebService de retorno (retornoIntegracaoMateriaPrima) para enviar a mensagem de retorno com status (<statusPesagem>) “1” (sucesso) para o Protheus ou Datasul que irá salvar a pesagem e alterar a tabela temporária (BRG_APPESAGEMMP) definindo que enviou o retorno (FG_RETORNO_OCORR igual a “S”).
    • Caso exista erro para salvar a pesagem na tabela oficial (APPESAGEMMP) a pesagem não será salva na tabela oficial (APPESAGEMMP) e nem salva na tabela temporária (BRG_APPESAGEMMP) e o Serviço (manterIntegracaoMateriaPrima) do PIMSMulticultivos deve chamar o WebService de retorno (retornoIntegracaoMateriaPrima) para enviar a mensagem de retorno com status (<statusPesagem>) “2” (erro) e a ocorrência (<ocorrenciaProcessamento>) encontrada  para o Protheus ou Datasul que não irá permitir salvar a pesagem até que a ocorrência seja corrigida. 
  • Quando o Protheus ou Datasul enviar a pesagem, e mesma existe na tabela temporária (NO_BOLETIM_EXT igual a <noBoletimExt> para CD_EMPRESA_ERP igual a <cdEmpresaErp> e para CD_FILIAL_ERP igual a <cdFilialErp> da tabela BRG_APPESAGEMMP) mais não existe na tabela oficial (ID_APPESAGEMMP vazio na tabela BRG_APPESAGEMMP para a pesagem encontrada) e a ação (<fgAcao>) é de “E” exclusão, o PIMSConector vai chamar o WebService (inegracaoMateriaPrima) do PIMSMulticultivos que vai alterar o status (FG_STATUS_EAI) para “0” (zero) aguardando processamento, a ação (FG_ACAO) para “E” (exclusão), remover as ocorrências (FG_MENSAGEM) de processamento e definir que não enviou o retorno (FG_RETORNO_OCORR igual a “N”) da tabela temporária (BRG_APPESAGEMMP) e antes de finalizar a gravação (COMMIT) na tabela temporária (BRG_APPESAGEMMP) chamar o Serviço (manterIntegracaoMateriaPrima) do PIMSMulticultivos que vai alterar o status (FG_STATUS_EAI) da tabela temporária (BRG_APPESAGEMMP) para “1” (em processamento), como não tem pesagem para excluir o chamar o Serviço (manterIntegracaoMateriaPrima) do PIMSMulticultivos que irá alterar o status (FG_STATUS_EAI) para “2” – Processamento com Sucesso e apagar as ocorrências (FG_MENSAGEM) do processamento na tabela temporária (BRG_APPESAGEMMP) e chamar o WebService de retorno (retornoIntegracaoMateriaPrima) para enviar a mensagem de retorno com status (<statusPesagem>) “1” (sucesso) para o Protheus ou Datasul que irá excluir a pesagem e alterar a tabela temporária (BRG_APPESAGEMMP) definindo que enviou o retorno (FG_RETORNO_OCORR igual a “S”). 
  • Quando o Protheus ou Datasul enviar a pesagem, e mesma já existe na tabela temporária (NO_BOLETIM_EXT igual a <noBoletimExt> para CD_EMPRESA_ERP igual a <cdEmpresaErp> e para CD_FILIAL_ERP igual a <cdFilialErp> da tabela BRG_APPESAGEMMP) e na tabela oficial (BRG_APPESAGEMMP>ID_APPESAGEMMP igual a pesagem encontrada)  e a ação (“fgAcao”) é de “E” exclusão, o PIMSConector vai chamar o WebService (integracaoMateriaPrima) do PIMSMulticultivos que vai alterar o status (FG_STATUS_EAI) para “0” (zero) aguardando processamento, a ação (FG_ACAO ) para “E” (exclusão) e remover as ocorrências (FG_MENSAGEM) de processamento e definir que não enviou o retorno (FG_RETORNO_OCORR igual a “N”)  da tabela temporária (BRG_APPESAGEMMP) e antes de finalizar a gravação (COMMIT) na tabela temporária (BRG_APPESAGEMMP) chamar o Serviço (manterIntegracaoMateriaPrima) do PIMSMulticultivos que vai alterar o status (FG_STATUS_EAI) da tabela temporária (BRG_APPESAGEMMP) para “1” (em processamento) e apagar a pesagem na tabela oficial (BRG_APPESAGEMMP>APPESAGEMMP igual ao BRG_APPESAGEMM>ID_APPESAGEMMP da pesagem encontrada), na tabela produção (ID_APPESAGEMMP da tabela BF_PRODUCAO igual a APPESAGEMMP>ID_APPESAGEMMP) e na tabela intermediária (ID_BOLETIM da tabela BRG_BXMATERIAL_EMS igual a BF_PRODUCAO>ID_APPESAGEMMP)
    • Caso não exista erro a pesagem será apagada e o Serviço (manterIntegracaoMateriaPrima) do PIMSMulticultivos irá remover o identificador da pesagem (ID_APPESAGEMMP da tabela BRG_APPESAGEMMP), alterar o status (FG_STATUS_EAI) para “2” – Processamento com Sucesso e apagar as ocorrências (FG_MENSAGEM) do processamento na tabela temporária (BRG_APPESAGEMMP) e chamar o WebService de retorno (retornoIntegracaoMateriaPrima) do PIMSMulticultivos para enviar a mensagem de retorno com status (<statusPesagem>) “1” (sucesso) para o Protheus ou Datasul que irá apagar a pesagem e alterar a tabela temporária (BRG_APPESAGEMMP) definindo que enviou o retorno (FG_RETORNO_OCORR igual a “S”).
    • Caso exista erro para apagar a pesagem na tabela oficial (APPESAGEMMP) a pesagem não será apagada na tabela oficial (APPESAGEMMP) e nem alterada na tabela temporária (BRG_APPESAGEMMP) e o Serviço (manterInegracaoMateriaPrima) do PIMSMulticultivos deve chamar o WebService de retorno (retornoIntegracaoMateriaPrima) do PIMSMulticultivos para enviar a mensagem de retorno com status (<statusPesagem>) “2” (erro) e a ocorrência (<ocorrenciaProcessamento>) encontrada  para o Protheus ou Datasul que não irá permitir apagar a pesagem até que a ocorrência seja corrigida. 
  • Quando o Protheus ou Datasul enviar a pesagem, e mesma não existe na tabela temporária (<noBoletimExt> não encontrado na tabela temporária NO_BOLETIM_EXT>BRG_APPESAGEMMP para CD_EMPRESA_ERP igual a <cdEmpresaErp> e para CD_FILIAL_ERP igual a <cdFilialErp> da tabela BRG_APPESAGEMMP)  e a ação (<fgAcao>) é de “E” exclusão, o PIMSConector vai chamar o WebService (integracaoMateriaPrima) do PIMSMulticultivos que vai gravar a pesagem na tabela temporária (BRG_APPESAGEMMP) com status (FG_STATUS_EAI) “0” (zero) aguardando processamento, e a ação (FG_ACAO) com “E” (exclusão), definir que não enviou o retorno (FG_RETORNO_OCORR igual a “N”)  e antes de finalizar a gravação (COMMIT) na tabela temporária (BRG_APPESAGEMMP) chamar o Serviço (manterIntegracaoMateriaPrima) do PIMSMulticultivos que vai alterar o status (FG_STATUS_EAI) da tabela temporária (BRG_APPESAGEMMP) para “1” (em processamento) e como não existe pesagem para ser apagada o Serviço (manterIntegracaoMateriaPrima) do PIMSMulticultivos irá alterar o status (FG_STATUS_EAI) para “2” – Processamento com Sucesso na tabela temporária (BRG_APPESAGEMMP) e chamar o WebService de retorno (retornoIntegracaoMateriaPrima) para enviar a mensagem de retorno com status (<statusPesagem>) “1” (sucesso) para o Protheus ou Datasul que irá apagar a pesagem e alterar a tabela temporária (BRG_APPESAGEMP) definindo que enviou o retorno (FG_RETORNO_OCORR igual a “S” 

-    Quando NÂO estiver configurado “A integração de recebimento de Matéria Prima é Síncrono” na seção “Pesagem” em “Administração > Configurações Gerais” (FG_TIPO_INTEGRACAO igual a “N” da tabela PRXPARAMETER para o grupo ID_PRXGPPARAMETER igual a “16”) as informações serão tratadas off-line entre os sistemas (Protheus ou Datasul e PIMSConector e PIMSMulticultivos).

  • Quando o Protheus ou Datasul enviar a pesagem, e mesma já existe na tabela temporária (NO_BOLETIM_EXT  igual <noBoletimExt> para CD_EMPRESA_ERP igual a <cdEmpresaErp> e para CD_FILIAL_ERP igual a <cdFilialErp> da tabela BRG_APPESAGEMMP), mais não existe na tabela oficial (BRG_APPESAGEMMP> ID_APPESAGEMMP não possui valor) e a ação (<fgAcao>) for de “I” inclusão, o PIMSConector vai chamar o WebService (integracaoMateriaPrima) do PIMSMulticultivos que vai alterar o status (FG_STATUS_EAI) para “0” (zero) aguardando processamento, remover as ocorrências (FG_MESAGEM) de processamento, definir que não enviou o retorno (FG_RETORNO_OCORR igual a “N”) e salvar as informações na tabela temporária (BRG_APPESAGEMMP) e chamar o WebService de retorno (retornoIntegracaoMateriaPrima) do PIMSMulticultivos que irá enviar mensagem de retorno para o Protheus ou Datasul com status (<statusPesagem>) “3” e a ocorrência de processamento <ocorrenciaProcessamento> (Pesagem aguardando para ser processada) e nesse caso o Protheus ou Datasul deve salvar a pesagem e marcar que a pesagem está aguardando retorno do PIMSMulitcultivos para definir como integrada. 
    • No PIMSMulticulitvos será definido um processo agendado (importacaoRecepcaoMateriaPrima) que irá chamar o Serviço (manterIntegraçãoMateriaPrima) do PIMSMulticultivos para buscar todas as pesagem com status (FG_STATUS_EAI) “0” (Aguardando processamento), alterando o status (FG_STATUS_EAI) da tabela temporária (BRG_APPESAGEMMP) para “1” (em processamento e definir que não enviou o retorno (FG_RETORNO_OCORR igual a “N”), gravar a tabela oficial (APPESAGEMMP) e quando não configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Gerais” (FG_FINALIZA_PESAGEM_REC_ERP  igual a “N” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER  igual a “16”) não chamar o Serviço (realizarIntegracao) para finalizar a pesagem na tabela oficial (APPESAGEMMP), caso contrário, chamar o Serviço (realizarIntegracao) para finalizar a pesagem na tabela oficial (APPESAGEMMP), se configurado, “Enviar o recebimento de Matéria Prima para integração com ERP” em “Administração > Configurações Gerais” (FG_ENVIA_PESAGEM_ERP igual a “S” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “16”), gerar a tabela de produção (BF_PRODUCAO) e a tabela intermediária (BRG_BXMATERIAL_EMS), caso contrário, gerar a tabela de produção (BF_PRODUCAO)
  •          Caso não exista erro para salvar ou finalizar a pesagem na tabela oficial (APPESAGEMMP), a pesagem será salva na tabela oficial (APPESAGEMMP) e o Serviço (manterIntegracaoMateriaPrima) do PIMSMulticultivos irá gravar o identificador da pesagem (ID_APPESAGEMMP), o status (FG_STATUS_EAI) para “2” – Processamento com Sucesso e apagar as ocorrências (FG_MESANGEM) do processamento na tabela temporária (BRG_APPESAGEMMP) e será definido um Serviço agendado (retornoImportacaoRecepcaoMateriaPrima) que vai buscar todas as pesagens com status (FG_STATUS_EAI) igual a “2” Processamento com sucesso e com retorno da ocorrência (FG_RETORNO_OCORR) igual a “N” na tabela temporária (BRG_APPESAGEMMP) e enviar a mensagem de retorno com status (<statusPesagem>) “1” (sucesso) para o Protheus ou Datasul que irá marcar que a pesagem foi integrada e alterar a tabela temporária (BRG_APPESAGEMMP) definindo o enviou o retorno (FG_RETORNO_OCORR igual a “S”).
  •          Caso exista erro para salvar ou finalizar a pesagem na tabela oficial (APPESAGEMMP), a pesagem não será salva na tabela oficial (APPESAGEMMP) e o Serviço (manterIntegracaoMateriaPrima) do PIMSMulticultivos irá alterar o status (FG_STATUS_EAI) para “3” Erro no processamento e a ocorrência (FG_MENSAGEM) de processamento na tabela temporária (BRG_APPESAGEMMP) e será definido um Serviço agendado (retornoImportacaoRecepcaoMateriaPrima) que vai buscar todas as pesagens com status (FG_SATATUS_EAI) igual a “3” Erro no processamento e com o retorno da ocorrência (FG_RETORNO_OCORR) igual a “N” na tabela temporária (BRG_APPESAGEMMP) e enviar a mensagem de retorno com status <statusPesagem> “2” (erro) e a ocorrência (<ocorrenciaProcessamento>) de processamento encontrada  para o Protheus ou Datasul marcar que a pesagem não foi integrada e a ocorrência de processamento, para que a mesma seja corrigida e enviada novamente e alterar a tabela temporária (BRG_APPESAGEMMP) definindo que enviou o retorno (FG_RETORNO_OCORR igual a “S”). 
  • Quando o Protheus ou Datasul enviar a pesagem, e mesma já existe na tabela temporária (NO_BOLETIM_EXT  igual <noBoletimExt> para CD_EMPRESA_ERP igual a <cdEmpresaErp> e para CD_FILIAL_ERP igual a <cdFilialErp> da tabela BRG_APPESAGEMMP) e na tabela oficial (BRG_APPESAGEMMP>ID_APPESAGEMMP igual a APPESAGEMMP>ID_APPESAGEMMP)  e a ação (<fgAcao>) é de “I” inclusão, o PIMSConector vai chamar o WebService (integracaMateriaPrima) do PIMSMulticultivos que vai alterar o status (FG_STATUS_EAI) para “0” o    (zero) aguardando processamento, remover as ocorrências (FG_MENSAGEM) de processamento, definir que não enviou o retorno (FG_RETORNO_OCORR igual a “N”) e salvar as informações na tabela temporária (BRG_APPESAGEMMP) e chamar o WebService de retorno (retornoIntegracaoMateriaPrima) do PIMSMulticultivos que irá enviar mensagem de retorno para o Protheus ou Datasul com status (statusPesagem>) “3” e a ocorrência de processamento (<ocorrenciaProcessamento>) (Pesagem aguardando para ser processada) e nesse caso o Protheus ou Datasul deve salvar a pesagem e marcar que está aguardando retorno do PIMSMulitcultivos para definir como integrada.
    •          No PIMSMulticulitvos será definido um processo agendado (importacaoRecepcaoMateriaPrima) que irá chamar o Serviço (manterIntegraaoMateriaPrima) do PIMSMulticultivos para buscar todas as pesagem com status (FG_STATUS_EAI) “0” (Aguardando processamento), alterando o status(FG_STATATUS_EAI) da tabela temporária (BRG_APPESAGEMMP) para “1” (em processamento), remover as ocorrências de processamento (FG_MENSAGEM) e definir que não enviou o retorno (FG_RETORNO_OCORR igual a “N”), alterar a pesagem na tabela oficial (APPESAGEMMP) e quando não configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Gerais” (FG_FINALIZA_PESAGEM_REC_ERP  igual a “N” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER  igual a “16”) alterar a pesagem na tabela oficial (APPESAGEMMP), caso contrário, se configurado, “Enviar o recebimento de Matéria prima para integração com ERP” em “Administração > Configurações Gerais” (FG_ENVIA_PESAGEM_ERP igual a “S” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “16”), alterar a tabela de produção (BF_PRODUCAO) e a tabela intermediária (BRG_BXMATERIAL_EMS), caso contrário, alterar a pesagem na tabela de produção (BF_PRODUCAO).
  •          Caso não exista erro para alterar a pesagem na tabela oficial (APPESAGEMMP) a pesagem será alterada na tabela oficial (APPESAGEMMP) e o Serviço (manterIntegracaoMateriaPrima) do PIMSMulticultivos irá gravar o identificador da pesagem (APPESAGEMMP>ID_APPESAGEMMP, o status (FG_STATUS_EAI) para “2” – Processamento com Sucesso e apagar as ocorrências (FG_MENSAGEM) do processamento na tabela temporária (BRG_APPESAGEMMP) e será definido um Serviço agendado (retornoImportacaoRecepcaoMateriaPrima) que vai buscar todas a pesagens com status (FG_STATUS_EAI) igual a “2” Processamento com sucesso e com retorno da ocorrência (FG_RETORNO_OCORR) igual “N” na tabela temporária (BRG_APPESAGEMMP) e enviar a mensagem de retorno com status (<statusPesagem>) “1” (sucesso) para o Protheus ou Datasul que irá marcar que a pesagem foi integrada e alterar a tabela temporária (BRG_APPESAGEMMP) definindo que enviou o retorno (FG_RETORNO_OCORR igual  “S”).
  • ·         Caso exista erro para alterar a pesagem na tabela oficial (APPESAGEMMP), a pesagem não será salva na tabela oficial (APPESAGEMMP) e o Serviço (manterIntegracaoMateriaPrima) do PIMSMulticultivos irá alterar o status (FG_STATUS_EAI) para “3” Erro no processamento e a ocorrência (FG_MENSAGEM) de processamento na tabela temporária (BRG_APPESAGEMMP) e será definido um Serviço agendado (retornoImportacaoRecepcaoMateriaPrima) que vai buscar todas as pesagens com status (FG_STATUS_EAI) “3” Erro no processamento e com o retorno da ocorrência (FG_RETORNO_OCORR) igual a “N” na tabela temporária (BRG_APPESAGEMMP) e enviar a mensagem de retorno com status (<statusPesagem>) “2” (erro) e a ocorrência (<ocorrenciaProcessamento>) de processamento encontrada  para o Protheus ou Datasul marcar que a pesagem não foi integrada, a ocorrência de processamento, para que a mesma seja corrigida e enviada novamente e alterar a tabela temporária (BRG_APPESAGEMMP) definindo que enviou o retorno (FG_RETORNO_OCORR igual a “S”).

o    Quando o Protheus ou Datasul enviar a pesagem, e mesma não existe na tabela temporária (<noBoletimExt> não encontrado na tabela temporária BRG_APPESAGEMMP para NO_BOLETIM_EXT, CD_EMPRESA_ERP igual a <cdEmpresaErp> e CD_FILIAL_ERP igual <cdFilialErp>) e a ação (<fgAcao>) é de “I” inclusão, o PIMSConector vai chamar o WebService (integracaoMateriaPrima) do PIMSMulticultivos que vai gravar a pesagem na tabela temporária (BRG_APPESAGEMMP) com status (FG_STATUS_EAI) “0” (zero) aguardando processamento, a ação (FG_ACAO) com “I” (inclusão), definir que não enviou o retorno (FG_RETORNO_OCORR igual a “N”) e chamar o WebService de retorno (retornoIntegracaoMateriaPrima) do PIMSMulticultivos que irá enviar mensagem de retorno para o Protheus ou Datasul com status (statusPesagem>) “3”  e a ocorrência (<ocorrenciaProcessamento>) de processamento (Pesagem aguardando para ser processada) e nesse caso o Protheus ou Datasul deve salvar a pesagem e marcar que está aguardando retorno do PIMSMulitcultivos para definir como integrada.

  •      No PIMSMulticulitvos será definido um processo agendado (importacaoRecepcaoMateriaPrima) que irá chamar o Serviço (manterIntegracaoMateriaPrima) do PIMSMulticultivos para buscar todas as pesagem com status (FG_STATUS_EAI) “0” (Aguardando processamento), alterando o status (FG_STATUS_EAI) da tabela temporária (BRG_APPESAGEMMP) para “1” (em processamento), definir que não enviou o retorno (FG_RETORNO_OCORR igual a “N”), salvar a pesagem na tabela oficial (APPESAGEMMP) e quando não configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Gerais” (FG_FINALIZA_PESAGEM_REC_ERP  igual a “N” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER  igual a “16”) não chamar o Serviço (realizarIntegracao) para finalizar a pesagem na tabela oficial (APPESAGEMMP), caso contrário chamar o Serviço (realizarIntegracao) para finalizar a pesagem, se configurado “Enviar recebimento de Matéria Prima para integração com ERP” em “Administração > Configurações Gerais” (FG_ENVIA_PESAGEM_ERP igual a “S” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “16”), gerar a tabela de produção (BF_PRODUCAO) e a tabela intermediária (BRG_BXMATERIAL_EMS), caso contrário, gerar a tabela de produção (BF_PRODUCAO).
  •          Caso não exista erro para salvar e finalizar a pesagem tabela oficial (APPESAGEMMP) a pesagem será salva e finalizada na tabela oficial (APPESAGEMMP) e o Serviço (manterIntegracaoMateriaPrima) do PIMSMulticultivos irá gravar o identificador da pesagem(APPESAGEMMP>ID_APPESAGEMMP), o status (FG_STATUS_EAI) para “2” – Processamento com Sucesso e apagar as ocorrências (FG_MESAGEM) do processamento da tabela temporária (BRG_APPESAGEMMP) e será definido um Serviço agendado (retornoImportacaoRecepcaoMateriaPrima) que vai buscar todas as pesagens com status (FG_STATUS_EAI) igual a “2” Processamento com sucesso e com o retorno da ocorrência (FG_RETORNO_OCORR) igual a “N” na tabela temporária (BRG_APPESAGEMMP) e enviar a mensagem de retorno com status (<statusPesagem>) “1” (sucesso) para o Protheus ou Datasul que irá marcar que a pesagem foi integrada e alterar a pesagem na tabela temporária (BRG_APPESAGEMMP) definindo que enviou o retorno (FG_RETORNO_OCORR igual a “S”).
  •          Caso exista erro para incluir ou finalizar a pesagem na tabela oficial (APPESAGEMMP), a pesagem não será salva na tabela oficial (APPESAGEMMP) e o Serviço (manterIntegracaoMateriaPrima) do PIMSMulticultivos irá alterar o status (FG_STATUS_EAI) para “3” Erro no processamento e a ocorrência (FG_MESAGEM) de processamento na tabela temporária (BRG_APPESAGEMMP) e será definido um Serviço agendado (retornoImportacaoRecepcaoMateriaPrima) que vai buscar todo as a pesagens com stuatus (FG_STATUS_EAI) igual a “3” Erro no processamento e com o retorno da ocorrência (FG_RETORNO_OCORR) igual a “N” na tabela temporária (BRG_APPESAGEMMP) e enviar a mensagem de retorno com status (<statusPesagem>)  “2” (erro) e a ocorrência <ocorrenciaProcessamento> de processamento encontrada  para o Protheus ou Datasul marcar que a pesagem não foi integrada, a ocorrência de processamento, para que a mesma seja enviada novamente e alterar a tabela temporária (BRG_APPESAGEMMP) definindo que enviou o retorno (FG_RETORNO_OCORR igual a “S”).

o    Quando o Protheus ou Datasul enviar a pesagem, e a mesma já existe na tabela temporária (NO_BOLETIM_EXT  igual <noBoletimExt> para CD_EMPRESA_ERP igual a <cdEmpresaErp> e para CD_FILIAL_ERP igual a <cdFilialErp> da tabela BRG_APPESAGEMMP), mais não existe na tabela oficial (BRG_APPESAGEMMP> ID_APPESAGEMMP não possui valor) e a ação (<fgAcao>) é de “E” exclusão, o PIMSConector vai chamar o WebService (integracaoMateriaPrima) do PIMSMulticultivos que vai alterar o status (FG_STATUS_EAI) para “0” (zero) aguardando processamento, a ação (FG_ACAO) para “E” (exclusão), remover as ocorrências (FG_MENSAGEM) de processamento e definir que não enviou o retorno (FG_RETORNO_OCORR igual a “N”) da tabela temporária (BRG_APPESAGEMMP) e chamar o WebService de retorno (retornoIntegracaoMateriaPrima) do PIMSMulticultivos que irá enviar mensagem de retorno para o Protheus ou Datasul com status (statusPesagem>) “3”  e a ocorrência (<ocorrenciaProcessamento>) de processamento (Pesagem aguardando para ser processada) e neste caso o Protheus ou Datasul deve apagar a pesagem sem retorno do PIMSMulticultivos.

  •       No  PIMSMulticulitvos será definido um processo agendado (importacaoRecepcaoMateriaPrima), que irá chamar o Serviço (manterIntegracaoMateriaPrima) do PIMSMulticultivos para buscar todas as pesagem com status (FG_STATUS_EAI) “0” (Aguardando processamento), alterando o status (FG_STATUS_EAI) da tabela temporária (BRG_APPESAGEMMP) para “1” (em processamento), definir que não enviou o retorno (FG_RETORNO_OCORR igual a “N”), como está pesagem não existe na tabela oficial o Serviço (manterIntegracaoMateriaPrima) do PIMSMulticultivos irá atualizar o status (FG_STATUS_EAI) para “2” – Processamento com Sucesso e apagar as ocorrências (FG_MENSAGEM) do processamento na tabela temporária (BRG_APPESAGEMMP) e será definido um Serviço agendado (retornoImportacaoRecepcaoMateriaPrima) que vai buscar todas a pesagem com status (FG_STATUS_EAI) igual “2” Processamento com sucesso e com retorno da ocorrência (FG_RETORNO_OCORR) igual a “N” na tabela temporária (BRG_APPESAGEMMP) para enviar a mensagem de retorno com status (statusPesagem>) “1” (sucesso) para o Protheus ou Datasul e alterar a tabela temporária (BRG_APPESAGEMMP) definido que enviou o retorno (FG_RETORNO_OCORR igual a “S”). Esta pesagem pode ser visualizada no monitor do PIMSConector ou Protheus ou Datasul.

o    Quando o Protheus ou Datasul enviar a pesagem, e mesma já existe na tabela temporária (NO_BOLETIM_EXT  igual a <noBoletimExt> para CD_EMPRESA_ERP igual a <cdEmpresaErp> e para CD_FILIAL_ERP igual a <cdFilialErp> da tabela BRG_APPESAGEMMP) e na tabela oficial (BRG_APPESAGEMMP>ID_APPESAGEMMP igual a APPESAGEMMP>ID_APPESAGEMMP) e a ação (<fgAcao>) é de “E” exclusão, o PIMSConector vai chamar o WebService (integracaoMateriaPrima) do PIMSMulticultivos que vai gravar a pesagem na tabela temporária (BRG_APPESAGEMMP) com status (FG_STATUS_EAI) “0” (zero) aguardando processamento, a ação (FG_ACAO) com “E” (exclusão), definir que não enviou o retorno (FG_RETORNO_OCORR igual a “N”) e chamar o WebService de retorno (retornointegracaoMateriaPrima) do PIMSMulticultivos que irá enviar mensagem de retorno para o Protheus ou Datasul com status (<statusPesagem>) “3” e a ocorrência (<ocorrenciaProcessamento>) de processamento (Pesagem aguardando para ser processada) e neste caso o Protheus ou Datasul irá apagar a pesagem sem retorno do PIMSMulticultivos.

  •       No PIMSMulticulitvos será definido um processo agendado (importacaoRecepcaoMateriaPrima) que irá chamar o Serviço (manterIntegracaoMateriaPrima) do PIMSMulticultivos para buscar todas as pesagem com status (FG_STATUS_EAI) “0” (Aguardando processamento), que vai alterar o status da tabela temporária (BRG_APPESAGEMMP) para “1” (em processamento), definir que não enviou o retorno (FG_RETORNO_OCORR igual a “N”) e excluir a pesagem na tabela oficial (BRG_APPESAGEMMP>ID_APPESAGEMMP igual APPESAGEMMP>ID_APPESAGEMMP), tabela de produção (ID_APPESAGEMMP da tabela BF_PRODUCAO igual  APPESAGEMMP>ID)APPESAGEMMP) e na tabela intermediária (ID_BOLETIM da tabela BRG_BXMATERIAL_EMS igual a BF_PRODUCAO>ID_APPESAGEMMP).
  •          Caso não exista erro para excluir a pesagem na tabela oficial (APPESAGEMMP) a pesagem será excluída da tabela oficial (APPESAGEMMP) e o Serviço (manterIntegracaoMateriaPrima) do PIMSMulticultivos irá remover o identificador (ID_APPESAGEMMP) da pesagem, o status (FG_STATUS_EAI) para “2” – Processamento com Sucesso e apagar as ocorrências (FG_MENSAGEM) do processamento na tabela temporária (BRG_APPESAGEMMP) e será definido um Serviço agendado (retornoImportacaoRecepcaoMateriaPrima) que vai buscar todas a pesagen com status (FG_STATUS_EAI) igual a “2” Processamento com sucesso e com o retorno da ocorrência (FG_RETORNO_OCORR) igual a “N” na tabela temporária (BRG_APPESAGEMMP) e enviar a mensagem de retorno com status (statusPesagem>) “1” (sucesso) para o Protheus ou Datasul e alterar a tabela temporária (BRG_APPESAGEMMP) definindo que enviou o retorno (FG_RETORNO_OCORR igual a “S”).
  •          Caso exista erro para excluir a pesagem na tabela oficial (APPESAGEMMP), a pesagem não será excluída na tabela oficial (APPESAGEMMP) e o Serviço (manterIntegracaoMateriaPrima) do PIMSMulticultivos irá alterar o status (FG_STATUS_EAI) para “3” Erro no processamento e a ocorrência (FG_MENSAGEM) de processamento na tabela temporária (BRG_APPESAGEMMP) e será definido um Serviço agendado (retornoImportacaoRecepcaoMateriaPrima) que vai buscar todas as pesagens com status (FG_STATUS_EAI) “3” Erro no processamento e com o retorno da ocorrência (FG_RETORNO_OCORR) igual a “N” na tabela temporária (BRG_APPESAGEMMP) e enviar a mensagem de retorno com status (statusPesagem>) “2” (erro) e a ocorrência (<ocorrenciaProcessamento>) de processamento encontrada  para o Protheus ou Datasul e alterar a tabela temporária definindo que enviou o retorno (FG_RETORNO_OCORR igual a “S”). Esta pesagem pode ser visualizada no monitor do PIMSConector ou Protheus ou Datasul.

o    Quando o Protheus ou Datasul enviar a pesagem, e mesma não existe na tabela temporária <noBoletimExt> não encontrado na tabela temporária BRG_APPESAGEMMP para NO_BOLETIM_EXT, CD_EMPRESA_ERP igual a <cdEmpresaErp> e CD_FILIAL_ERP igual <cdFilialErp>) e a ação (<fgAcao>) é de “E” exclusão, o PIMSConector vai chamar o WebService (integracaoMateriaPrima) do PIMSMulticultivos que vai gravar a pesagem na tabela temporária (BRG_APPESAGEMMP) com status (FG_STATUS_EAI) “0” (zero) aguardando processamento, a ação (FG_ACAO) com “E” (exclusão) e definir que não enviou o retorno (FG_RETORNO_OCORR igual a “N”) que vai gravar a pesagem na tabela temporária e chamar o WebService de retorno (retornoIntegracaoMateriaPrima) do PIMSMulticultivos que irá enviar mensagem de retorno para o Protheus ou Datasul com status (statusPesagem>) “3” – (Pesagem aguardando para ser processada) e neste caso o Protheus ou Datasul irá apagar a pesagem sem retorno do PIMSMulticultivos.

  •            No PIMSMulticulitvos será definido um processo agendado (importacaoRecepcaoMateriaPrima) que irá chamar o Serviço (manterIntegracaoMateriaPrima) do PIMSMulticultivos para buscar todas as pesagem com status (FG_STATUS_EAI) “0” (Aguardando processamento), que vai alterar o status (FG_STATUS_EAI) da tabela temporária para “1” (em processamento), definir que não enviou o retorno (FG_RETORNO_OCORR igual a “N”), como está pesagem não existe na tabela oficial (APPESAGEMMP) o Serviço do PIMSMulticultivos irá atualizar o status (FG_STATUS_EAI) para “2” – Processamento com Sucesso e apagar as ocorrências (FG_MENSAGEM) do processamento na tabela temporária (BRG_APPESAGEMMP) e será definido um Serviço agendado (retornoImportacaoRecepcaoMateriaPrima)  que vai buscar todas as pesagens com status (FG_STATUS_EAI) igual a “2” – Processamento com sucesso) e com o retorno da ocorrência (FG_RETORNO_OCORR) igual a “N” na tabela temporária (BRG_APPESAGEMMP) e enviar a mensagem de retorno com status (statusPesagem>) “1” (sucesso) para o Protheus ou Datasul e alterar a tabela temporária (BRG_APPESAGEMMP) definindo que enviou o retorno (FG_RETORNO_OCORR igual a “S”). Esta pesagem pode ser visualizada no monitor do PIMSConector ou Protheus ou Datasul.

Validações que serão feitas para gravar ou alterar a pesagem na tabela oficial:

-         A Data e Hora da 1ª Pesagem (BRG_APPESAGEMMP>DT_ENTRADA) deve ser menor ou igual a Data e Hora da 2ª Pesagem (BRG_APPESAGEMMP>DT_SAIDA)

o    Quando a Data e Hora da 1ª Pesagem (BRG_APPESAGEMMP>DT_ENTRADA) for maior que a Data e Hora da 2ª Pesagem (BRG_APPESAGEMMP>DT_SAIDA) gerar ocorrência “Data e Hora da 1ª Pesagem (DD/MM/YYYY HH:MM) maior que a Data e Hora da 2ª Pesagem (DD/MM/YYYY HH:MM)”.

-         A Data e Hora da 2ª Pesagem (BRG_APPESAGEMMP>DT_SAIDA) deve ser maior ou igual a Data e Hora da 1ª Pesagem (BRG_APPESAGEMMP>DT_ENTRADA).

o    Quando a Data e Hora da 2ª Pesagem (BRG_APPESAGEMMP>DT_SAIDA) for menor que a Data e Hora da 1ª Pesagem (BRG_APPESAGEMMP>DT_ENTRADA) gerar ocorrência “Data e Hora da 2ª Pesagem (DD/MM/YYYY HH:MM) menor que a Data e Hora da 1ª Pesagem (DD/MM/YYYY HH:MM).

-         A Quantidade Bruta (QT_BRUTO da tabela BRG_APPESAGEMMP) deve ser maior que 0 (zero).

o    Quando a Quantidade Bruta (QT_BRUTO da tabela BRG_APPESAGEMMP) for menor ou igual a 0 (zero) gerar ocorrência “Quantidade Bruta deve ser positiva e maior que zero”.

-         Quantidade Tara (BRG_APPESAGEMMP>QT_TARA) deve ser maior que 0 (zero).

o    Quando a Quantidade Tara (QT_TARA da tabela BRG_APPESAGEMMP) for menor ou igual a 0 (zero) gerar ocorrência “Quantidade Tara deve ser positiva e maior que zero”.

-         Total de Descontos (QT_TOT_IMPUREZA da tabela BRG_APPESAGEMMP) deve ser maior ou igual a 0 (zero).

o    Quando o Total de Descontos (QT_TOT_IMPUREZA da tabela APPESAGEMMP) for menor que 0 (zero) gerar ocorrência “Total de Descontos deve ser positivo”.

-         Quando a Unidade Receptora ERP (CD_UNI_RECEP_ERP da tabela BRG_APPESAGEMMP) não for informada pela integração, recuperar a Unidade Receptora pela Ordem de Colheita (ID_UNIRECEPTORA da tabela ORDCOLHEITA com o NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP igual a NO_ORDCOLHEITA da tabela ORDCOLHEIA e Unidade Administrativa recuperada) e quando não estiver configurado “Obrigar a informar Unidade Receptora” no cadastro de Cultura/Ocupação em (Tabelas > Culturas > Culturas / Ocupação) (FG_UNIREC_ORDCOLH igual a “N” da tabela OCUPACAO) o campo não será obrigatório, caso contrário, gerar ocorrência “Unidade Receptora Requerida”.

-         Se informada a Unidade Receptora ERP (CD_UNI_RECEP_ERP da tabela BRG_APPESAGEMMP) é verificado se a mesma está previamente cadastrada (CD_INT_ERP da tabela UNIRECEPTORA) para a Unidade Administrativa da pesagem (ID_UNIDADEADM da tabela APPESAGEMMP igual a ID_UNIDADEADM da tabela UNIRECEPTORA), se não estiver cadastrada é gerada a ocorrência: “Unidade Receptora inválida”.

-         Quando o Equipamento (CD_EQUIPTO da tabela BRG_APPESAGEMMP) for informado e estiver configurado “Permite informar caminhão não cadastrado” na seção “Pesagem” em “Administração > Configuração por Unidade” (FG_CAMINHAO_NAO_CADASTRADO igual a “S” da tabela PRXPARAMETER para o grupo ID_PRXGPPARAMETER igual a “16”), e o mesmo não estiver cadastrado (CD_EQUIPTO da tabela BRG_APPESAGEMMP não encontrado na tabela EQUIPTO), o Equipamento não será obrigatório e o código será gravado em “CD_CAM_NCAD na tabela APPESAGEMMP”, caso contrário o Equipamento será obrigatório (ID_EQUIPTO da tabela APPESAGEMMP), caso contrário, o Equipamento deve estar cadastrado (CD_EQUIPTO da tabela BRG_APPESAGEMMP deve ser encontrada na tabela EQUIPTO)  e disponível para a Unidade Administrativa (DT_EVENTO da tabela EQUIPTODISP) na data do movimento (DT_MOVIMENTO da tabela BRG_APPESAGEMMP).

o    Quando o Equipamento for informado (CD_EQUIPTO da tabela BRG_APPESAGEMMP) e não estiver configurado “Permite informar caminhão não cadastrado” na seção “Pesagem” em “Administração > Configuração por Unidade” (FG_CAMINHAO_NAO_CADASTRADO igual a “N” da tabela PRXPARAMETER para o grupo ID_PRXGPPARAMETER igual a “16”) e não estiver cadastrado (CD_EQUIPTO da tabela BRG_APPESAGEMMP deve estar na tabela EQUIPTO) ou disponível para Unidade Administrativa (DT_EVENTO da tabela EQUIPTODISP) na data do movimento (DT_MOVIMENTO da tabela BRG_APPESAGEMMP) gerar ocorrência “Equipamento (Código) não cadastrado ou disponível para Unidade Administrativa”.

-         O Número da Pesagem Externa (NO_BOLETIM_EXT da tabela BRG_APPESAGEMMP) será gravado com o número do Romaneio utilizando para identificar a pesagem no ERP.

-         Se não informado a Ordem de Colheita (NO_ORDCOLHEITA vazio da tabela BRG_APPESAGEMMP), é estiver configurado “Utiliza Ano Agrícola” em “Administração > Configuração do Local de Produção” (FG_SAFRA igual a “S” da tabela PRX_PARAM_LOCAIS) é verificado se o Ano Agrícola foi informado (CD_SAFRA da tabela BRG_APPESAGEMMP), caso seja informado o mesmo deve estar previamente cadastrado (BRG_APPESAGEMMP>CD_SAFRA deve ser localizado SAFRA>CD_SAFRA), caso não seja informado (CD_SAFRA vazio da tabela BRG_APPESAGEMMP) recuperar o Ano Agrícola pelo Período de Produção (CD_PER_SAFRA  da tabela BRG_APPESAGEMMP igual CD_PER_SAFRA da tabela PERIODOSAFRA recuperar o CD_SAFRA pelo ID_SAFRA da tabela PERIODOSAFRA), se encontrar mais de um Ano Agrícola associada ao Período de Produção (CD_PER_SAFRA da tabela BRG_APPESAGEMMP com mais de um período ID_SAFRA da tabela PERIODOSAFRA) gerar ocorrência “Não foi possível recuperar o Ano Agrícola pelo Período de Produção”.

o    Quando o Ano Agrícola (CD_SAFRA da tabela BRG_APPESAGEMMP) for informado e não estiver cadastrado (CD_SAFRA da tabela BRG_APPESAGEMMP não encontrado na tabela SAFRA) gerar ocorrência “Ano Agrícola invalido”.

-         O Número da Ordem de Colheita (NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP) será obrigatório quando não possuir informação para o Ano Agrícola (CD_SAFRA), Período de Produção (CD_PER_SAFRA), [Fazenda] (CD_UPNIVEL1), [Setor] (CD_UPNIVEL2) e [Talhão] (CD_UPNIVEL3) quando configurado “Utiliza Ano Agrícola” e “Utiliza [Setor]” em Administração > Configurações dos Locais de Produção” (FG_SAFRA e FG_UPNIVEL2 igual a “S” da tabela PRX_PARAM_LOCAIS) ou quando não possuir informação para o Período de Produção (CD_PER_SAFRA), [Fazenda] (CD_UPNIVEL1) e [Talhão] (CD_UPNIVEL2) quando não configurado “Utiliza Ano Agrícola” e “Utiliza [Setor] em “Administração > Configurações dos Locais de Produção” (FG_SAFRA e FG_UPNIVEL2 igual a “N” da tabela PRX_PARAM_LOCAIS) e quando configurado “Ordem de Colheita compartilhada entre unidades (S/N)”, nos parâmetros gerais (ORDEM_COMPARTILHADA igual a “S”  da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “6”), deve estar previamente cadastrada (BRG_APPESAGEMMP>NO_ORDCOLEHITA deve estar na tabela ORDCOLHEITA), caso contrário deve estar previamente cadastrada para Unidade Administrativa (BRG_APPESAGEMMP>NO_ORDCOLEHITA deve estar na tabela ORDCOLHEITA para a unidade administrativa da pesagem).

o    Quando não informar o número da Ordem de Colheita (NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP) e estiver configurado “Utiliza Ano Agrícola” e “Utiliza [Setor]” em “Administração > Configuração do Local de Produção” (FG_SAFRA e FG_UPNIVEL2 igual a “S” da tabela PRX_PARAM_LOCAIS) e não possuir informação para o Ano Agrícola (CD_SAFRA), Período de Produção (CD_PER_SAFRA), [Fazenda] (CD_UPNIVEL1), [Setor] (CD_UPNIVEL2) e [Talhão] (CD_UPNIEL3) gerar a ocorrência “Número da Ordem de Colheita ou Ano Agrícola, Período de Produção, [Fazenda], [Setor] e [Talhão] não informado”.

o    Quando não informar o número da Ordem de Colheita (NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP) e estiver não estiver configurado “Utiliza Ano Agrícola” e “Utiliza [Setor]” em “Administração > Configuração do Local de Produção” (FG_SAFRA e FG_UPNIVEL2 igual a “N” da tabela PRX_PARAM_LOCAIS) e não possuir informação para o Período de Produção (CD_PER_SAFRA), [Fazenda] (CD_UPNIVEL1) e [Talhão] (CD_UPNIVEL3) gerar a ocorrência “Número da Ordem de Colheita ou Período de Produção, [Fazenda] e [Talhão] não informado”.

-         Quando configurado “Ordem de Colheita compartilhada entre unidades (S/N)” nos parâmetros gerais (ORDEM_COMPARTILHADA igual a “S” na tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “6”), o número da Ordem de Colheita deve estar previamente cadastrado (BRG_APPESAGEMMP>NO_ORDCOLHEITA deve estar na tabela ORDCOLHEITA), caso contrário, o Número da Ordem de Colheita deve estar cadastrado para a Unidade Administrativa (BRG_APPESAGEMMP>NO_ORDCOLHEITA deve estar na tabela ORDCOLHEITA para a unidade administrativa da pesagem).

o    Quando o Número da Ordem de Colheita não estiver cadastrado (BRG_APPESAGEMMP>NO_ORDCOLHEITA não encontrado na tabela ORDCOLHEITA) e estiver configurado “Ordem de Colheita compartilhada entre unidades (S/N)” nos parâmetros gerais (ORDEM_COMPARTILHADA igual a “S” na tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “6”) gerar ocorrência “Ordem de Colheita (Número) invalida”, caso contrário, gerar a ocorrência “Ordem de Colheita (Número) invalida para a Unidade Administrativa (Descrição)”.

-         Se informada Ordem de Colheita válida (NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP encontrada na tabela ORDOLHEITA), é verificado se há Local de Produção para a Ordem de Colheita (ID_UPNIVEL3 da tabela ORDCOLHEITA_LC para a ordem NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP), caso não exista é gerada a ocorrência “Ordem de Colheita sem Local de Produção”.

-         Se informada a Ordem de Colheita (NO_ORDCOLHETA da tabela BRG_APPESAGEMMP) e o Local de Produção (CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2, CD_UPNIVEL3 da tabela BRG_APPESAGEMMP), é verificado se o Local de Produção é o mesmo da Ordem de Colheita (encontrar o identificador do talhão pelo CD_SAFRA, CD_PER_SAFRA,CD_UPNIVEL1,CD_UPNIVEL2,CD_UPNIVEL3 e comparar com o ID_UPNIVEL3 da tabela ORDCOLHEITA da pesagem) caso não seja é gerada a ocorrência: “Local de Produção não corresponde ao Local de Produção da Ordem de Colheita”.

-         Se informada a Ordem de Colheita (NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP) é verificada se a mesma está aberta (FG_SITUACAO igual a “A” da tabela ORDCOLHEITA para a ordem NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP), caso não esteja, é gerada a ocorrência: “Ordem de Colheita já encerrada”.

-         Se não informado a Ordem de Colheita (NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP) e quando configurado “Utiliza Ano Agrícola” em “Administração > Configurações do Local de Produção” (FG_SAFRA igual a “S” da tabela PRX_PARAM_LOCAIS), e o Ano Agrícola for informado (CD_SAFRA da tabela BRG_APPESAGEMMP) o mesmo deve estar previamente cadastrado (CD_SAFRA da tabela BRG_APPESAGEMMP deve estar na tabela SAFRA), caso não esteja, gerar ocorrência “Ano Agrícola inválido”, caso o Ano Agrícola não for informado (CD_SAFRA vazio da tabela BRG_APPESAGEMMP) recuperar o Ano Agrícola pelo Período de Produção (CD_PER_SAFRA da tabela BRG_APPESAGEMMP igual a CD_PER_SAFRA da tabela PERIODOSAFRA buscar o ID_SAFRA), caso existe mais de uma Período de Produção (CD_PER_SAFRA da tabela BRG_APPESAGEMMP igual a CD_PER_SAFRA da tabela PERIODOSAFRA e retornar mais que um ID_SAFRA), gerar ocorrência “Não foi possível recuperar o Ano Agrícola pelo Período de Produção”, caso o Período de Produção (CD_PER_SAFRA vazio da tabela BRG_APPESAGEMMP) não for informado gerar ocorrência “Ordem de Colheita não informada e Ano Agrícola inválido”.

-         Se não informado a Ordem de Colheita (NO_ORDCOLHEITA vazio da tabela BRG_APPESAGEMMP) e quando não configurado “Utiliza Ano Agrícola” em “Administração > Configurações do Local de Produção” (FG_SAFRA igual “N” da tabela PRX_PARAM_LOCAIS), e o Ano Agrícola não for informado (CD_SAFRA vazio da tabela BRG_APPESAGEMMP) recuperar o Ano Agrícola pelo Período de Produção (CD_PER_SAFRA da tabela BRG_APPESAGEMMP igual ao CD_PER_SAFRA da tabela PERIODOSAFRA recuperar o ID_SAFRA).

-         Se não informada a Ordem de Colheita (NO_ORDCOLHEITA vazio da tabela BRG_APPESAGEMMP), e estiver configurado “Utiliza Ano Agrícola” em “Administração > Configuração do Local de Produção” (FG_SAFRA igual a “S” da tabela PRX_PARAM_LOCAIS) é verificado se o Período de Produção está associado ao Ano agrícola (recuperar o ID_SAFRA da SAFRA pelo CD_SAFRA da tabela BRG_APPESAGEMMP igual ao CD_SAFRA da tabela SAFRA, e verificar se o ID_SAFRA  da tabela SAFRA é igual ao ID_SAFRA da tabela PERIODOSAFRA pelo CD_PER_SAFRA da tabela BRG_APPESAGEMMP), caso não esteja é gerada a ocorrência “Ordem de Colheita não informada e Período de Produção não associado ao Ano Agrícola”, caso contrário, é gerado a ocorrência “Ordem e Colheita não informada e Período de Produção invalido”.

-         Se não informada a Ordem de Colheita (NO_ORDCOLHEITA vazio da tabela BRG_APPESAGEMMP), é verificado se a [Fazenda] está cadastrada para a Unidade Administrativa (CD_UPNIVEL1 da tabela BRG_APPESAGEMMP igual ao CD_UPNIVEL1 da tabela UPNIVEL1 para a unidade administrativa da pesagem), caso não esteja é gerada a ocorrência “Ordem de Colheita não informada e [Fazenda] inválida”.

-         Se informada a [Fazenda] (CD_UPNIVEL da tabela UPNIVEL1) é verificado se a mesma está cadastrada para a Unidade Administrativa (ID_UNIDADEADM da tabela UPNIVEL1 é igual a unidade administrativa da pesagem), caso não esteja é gerada a ocorrência: “[Fazenda] (Código) não cadastrada para a Unidade Administrativa (Descrição) ”.

-         Se não informada a Ordem de Colheita (NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP), e estiver configurado “Utiliza [Setor] na Configuração do Local de Produção em “Administração > Configuração do Local de Produção” (FG_UPNIVEL2 da tabela PRX_PARAM_LOCAIS), é verificado se o [Setor] está associado para a [Fazenda] informada (recuperar ID_UPNIVEL1 pelo CD_UPNIVEL1 da tabela BRG_APPESAGEMMP igual ao CD_UPNIVEL1 da tabela UPNIVEL1 e o ID_UPNIVEL1 deve ser igual ao ID_UPNIVEL da tabela UPNIVEL2 pelo CD_UPNIVEL2 da tabela BRG_APPESAGEMMP igual ao CD_UPNIVEL2 da tabela UPNIVEL2), caso não esteja é gerada a ocorrência “Ordem de Colheita não informado e [Setor] não associado a [Fazenda]”, caso contrário o [Setor] não será obrigatório.

-         Se não informada a Ordem de Colheita (NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP), e estivar configurado “Utiliza [Setor]” na Configuração do Local de Produção em “Administração > Configuração do Local de Produção” (FG_UPNIVEL2 igual a “S” da tabela PRX_PARAM_LOCAIS), é verificado se o [Talhão] está associado ao [Setor] e Período de Produção informado (recuperar o ID_UPNIVEL2 pelo CD_UPNIVEL2 da tabela BRG_APPESSAGEMMP igual ao CD_UPNIVEL2 da tabela UPNIVEL2, recuperar o ID_PERIODOSAFRA pelo CD_PER_SAFRA da tabela BRG_APPESAGEMMP igual ao CD_PER_SAFRA da tabela PERIODOSAFRA, o ID_UPNIVEL2 da tabela UPNIVEL2 deve ser igual ao ID_UPNIVEL2 da tabela UPNIVEL3 e o ID_PERIODOSAFRA da tabela PERIODOSAFRA deve ser igual  ID_PERIODOSAFRA da tabela UPNIVEL3), caso não esteja é gerada a ocorrência “Ordem de Colheita não informado e [Talhão] não associado ao [Setor]”, caso contrário é gerada ocorrência “Ordem de Colheita não informada e [Talhão] não associado a [Fazenda]”.

-         É verificada se a Data de Movimento foi informada (DT_MOVIMENTO vazio da tabela BRG_APPESAGEMMP), caso não esteja informada é gerada a ocorrência: “Data de movimento inválida”.

-         É verificada se a Data e Hora de Entrada foi informada (DT_ENTRADA vazio da tabela BRG_APPESAGEMMP), caso não esteja informada é gerada a ocorrência “Data e Hora de Entrada inválida”. 

-         É verificado se a Data e Hora de Saída foi informada (DT_SAIDA vazio da tabela BRG_APPESAGEMMP), caso não esteja informada é gerada a ocorrência “Data e Hora da Saída inválida”. 

-         Se o custo já estiver fechado para a Data de Movimento (DT_MOVIMENTO da tabela BRG_APPESAGEMMP menor ou igual DT_CST_PRC da tabela UNIDADEADM) será gerada a ocorrência “Custo já fechado para essa Data”. 

-         Quando for atualizar a Pesagem verificar se a mesma já foi processada pelo Pagamento de Serviço (ID_APPESAGEMMP da tabela BRG_APPESAGEMMP igual ao ID_APONTAMENTO da tabela SV_HISTCAPTA para FG_ORIGEM igual a “T”), caso foi processada gerar ocorrência “Pesagem processada pelo Processamento de Pagamento de Serviço”, caso contrário atualizar a pesagem. 

-         Quando não trabalha com Unidade Administrativa Centralizadora o Número de Pesagem Externa não pode se repetir para a Unidade Administrativa (NO_BOLETIM_EXT da tabela BRG_APPESAGEMMP para a unidade administrativa da pesagem), se existir será gerada a ocorrência “Pesagem já existente para a Unidade Administrativa”.

o    Para verificar se a Empresa ERP e Filial ERP possui unidade centralizada utilizar o método (selectUnidadeAdmByERPCode) e a classe (MessageProcessor). Basicamente localizar a empresa (CD_INT_ERP da tabela EMPRESA igual a <cdEmpresaErp>), e a filial (CD_FILIAL da tabela FILIAL igual a <cdFilialErp>), com o código empresa e filial localizar o identificador da filial associada a empresa (ID_FILIAL da tabela FILIAL), com a empresa localizar a região administrativa (ID_REGIAOADM da tabela EMPRESA), com o identificador da região administrativa localizar a unidade centralizadora (ID_UNIDADEADM da tabela REGIAO_ADM), caso não tenha informação para a unidade centralizadora (ID_UNIDADEADM da tabela REGIAO_ADM), localizar a unidade administrativa pela empresa e filial (ID_FILIAL da tabela UNIDADEADM).

-         Se informado o Local de Produção (CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP) e não informada a Ordem de Colheita (NO_ORDCOLHEITA vazio da tabela BRG_APPESAGEMMP), é verificado se há Ordem de Colheita para o Local de Produção informado (recuperar o ID_UPNIVEL3 da tabela UPNIVEL3 pelo CD_SAFRA da BRG_APPESAGEMMP igual a CD_SAFRA da tabela SAFRA, CD_PER_SAFRA da tabela BRG_APPESAGEMMP igual a CD_PER_SAFRA da tabela PERIODOSAFRA, CD_UPNIVEL1 da tabela BRG_APPESAGEMMP igual a CD_UPNIVEL1 da tabela UPNIVEL1, CD_UPNIVEL2 da tabela BRG_APPESAGEMMP igual a CD_UPNIVEL2 da tabela UPNIVEL2  e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP igual a CD_UPNIVEL3 da tabela UPNIVEL3, e recuperar a ordem associado a este [talhão] ID_UPNIVEL3 recuperado igual ao ID_UPNIVEL3 da tabela ORDCOLHEITA_LC), se existir Ordem de Colheita para o Local de Produção é verificado se há Ordem de Colheita aberta para o Local de Produção (FG_SITUACAO igual a “A” para a tabela ORDCOLHEITA), se não existir Ordem de Colheita aberta para o Local de Produção é gerada a ocorrência: “Ordem de Colheita já encerrada para o Local de Produção”. 

-         Se configurado “Obrigar a informar a Equipe” para o grupo “Recepção de Matéria prima” em “Tabelas > Culturas > Cultura / Ocupação” (FG_EQUIPE_PES igual a “S” da tabela OCUPACAO) é verificado se foi informada a Ordem de Colheita (NO_ORCOLHEITA vazia da tabela BRG_APPESAGEMMP), e se não foi informado o Ano Agrícola (CD_SAFRA da tabela BRG_APPESAGEMMP), Período de Produção (CD_PER_SAFRA da tabela BRG_APPESAGEMMP), [Fazenda] (CD_UPNIVEL1 da tabela BRG_APPESAGEMMP), [Setor] (CD_UPNIVEL2 da tabela BRG_APPESAGEMMP) e [Talhão] (CD_UPNIVEL3 da tabela BRG_APPESAGEMMP) ou se não foi possível localizar a Ordem de Colheita pelo Ano Agrícola, Período de Produção, [Fazenda], [Setor] e [Talhão] (recuperar o ID_UPNIVEL3 da tabela UPNIVEL3 pelo CD_SAFRA,  CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP, com o ID_UPNIVEL3 recuperar a ordem de colheita ID_UPNIEL3 da tabela ORDCOLHEITA_LC igual ao ID_UPNIVEL3 recuperado), se não foi possível recuperar a ordem de colheita, é gerada a ocorrência: “Equipe configurada como obrigatória na Pesagem para a Cultura/Ocupação, porém não foi informada a Ordem de Colheita”, caso contrário a Equipe não será obrigatória.

-         Se informado a Equipe pela Integração (CD_EQUIPE da tabela BRG_APPESAGEMMP), a mesma deve estar previamente cadastrada (CD_EQUIPE da tabela BRG_APPESAGEMMP deve estar na tabela EQUIPE) para a unidade administrativa da pesagem e deve ser igual a Equipe da Ordem de Colheita (ID_EQUIPE recuperado da tabela Equipe deve ser igual ID_EQUIPE da tabela ORDCOLHEITA), caso não esteja cadastrada gerar ocorrência “Equipe inválida”, caso não seja a mesma da Ordem de Colheita gerar ocorrência “Equipe diferente da Ordem de Colheita”. 

Regras para identificar qual o produto utilizado para gerar estoque:

-         Quando configurado “Finalizar a Pesagem após recebimento de Matéria Prima pela integração com ERP” para o grupo de configuração “Pesagem” em “Administração > Configurações Gerais”, (FG_FINALIZA_PESAGEM_REC_ERP igual a “S” da tabela PRXPARAMETER para o grupo ID_PRXGPPARAMETER igual a “16”).

o    Primeiro verifica se há produto Matéria Prima informado na Pesagem (ID_INSUMO da tabela APPESAGEMMP), se existir será esse o produto utilizado para integrar com o estoque.

o    Se não possuir produto Matéria Prima informado na Pesagem (ID_INSUMO vazio da tabela APPESAGEMMP), o sistema utilizará o produto Matéria Prima da Ordem de Colheita (quando informada) (ID_INSUMO da tabela ORDCOLHEITA_LC, a partir da ID_ORDCOLHEITA da tabela APPESAGEMMP, com o identificador da ordem de colheita, recuperar o ID_INSUMO da tabela ORDCOLHEITA_LC), se existir será esse o produto utilizado para integrar com o estoque.

o    Se não possuir produto Matéria Prima configurado na ordem de Colheita (ID_INSUMO vazio da tabela ORDCOLHETA_LC), o sistema utilizará o produto Matéria Prima configurado para a Variedade (ID_VARIEDADE da tabela APPESAGEMMP, com o identificador da variedade, recuperar o ID_INSUMO da tabela VARIEDADE), se existir será esse o produto utilizado para integrar com o estoque.

o    Se não possuir produto Matéria Prima configurado para a Variedade (ID_INSUMO vazio da tabela VARIEDADE) o sistema utilizará o produto Matéria Prima configurado para a Cultura/Ocupação (ID_INSUMO da tabela OCUPACAO_PMPRIMA, a partir do ID_PERIODOSAFRA da tabela APPESAGEMMP, com o identificador do período de safra, recuperar o ID_OCUPACAO, com o identificador da ocupação, recuperar o ID_INSUMO da tabela OCUPACAO_PMPRIMA), quando possuir apenas um produto Matéria Prima configurado.

o    Se não existir produto configurado para a Pesagem (ID_INSUMO vazio da tabela APPESAGEMMP), nem para a Ordem de Colheita (ID_INSUMO vazio da tabela ORDCOLHEITA_LC), nem para Variedade (ID_INSUMO vazio da tabela VARIEDADE), nem para a Cultura/Ocupação (ID_INUSMO vazio da tabela OCUPACAO_PMPRIMA) ou a Cultura/Ocupação possui mais de uma produto associado (ID_INSUMO da tabela OCUPACAO_PMPRIMA) e a Unidade Receptora estiver configurada para integrar com o estoque (FG_INT_ERP igual a “S” da tabela UNIRECEPTORA), gerar a ocorrência “Não há produto Matéria Prima configurado para essa Pesagem ou Ordem de Colheita ou Variedade ou Cultura/Ocupação ou a Cultura/ocupação possui mais de uma produto associado, pesagem não Finalizada!” e não irá integrar com estoque. 

-         Quando configurado “Finalizar a Pesagem após recebimento de Matéria Prima pela integração com ERP” para o grupo de configuração “Pesagem” em “Administração > Configurações Gerais” (FG_FINALIZA_PESAGEM_REC_ERP igual a “S” da tabela PRXPARAMETER para o grupo ID_PRXGPPARAMETER igual a “16”) e configurado que “Todas as Pesagens são Analisadas” para o grupo “Recepção de Matéria Prima” em “Tabelas > Culturas > Cultura/Ocupação” (FG_PESANALIS igual a “S” da tabela OCUPACAO) a qual pertence a Pesagem e não possuir Análise para a Pesagem (ID_APPESAGEMMP da tabela APPESAGMMP não encontrado na tabela APPESAGEMMP_ANL), será gerada a ocorrência “É obrigatório realizar Análise de Matéria Prima para a Pesagem”, caso contrário não será obrigatório.

-         Se informado o Produto ERP pela Integração (CD_PRODUTO_ERP da tabela BRG_APPESAGEMMP), o mesmo deve estar previamente cadastrado (CD_INT_ERP da tabela INSUMO, igual CD_PRODUTO_ERP da tabela BRG_APPESAGEMMP), caso não esteja cadastrado gerar a ocorrência “Produto ERP inválido”, caso encontre mais de uma Produto associado ao Produto ERP (CD_INT_ERP da tabela INSUMO igual CD_PRODUTO_ERP da tabela BRG_APPESAGEMMP), gerar a ocorrência “Existe mais de um Produto associado ao Produto ERP”.

-         Se não informar o Produto ERP pela integração (CD_PRODUTO_ERP vazio da tabela BRG_APPESAGMEMP), recuperar o produto pela Ordem de Colheita (ID_INSUMO da tabela ORDCOLHEITA_LC partir do NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP para a unidade administrativa da pesagem, com o número da ordem de colheita, recuperar o ID_ORDCOLHETA), caso não encontre produto configurado para Ordem de Colheita, recuperar o produto pela Variedade (ID_VARIEDADE da tabela ORDCOLHEITA_LC, a partir do NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP para unidade administrativa da pesagem, com o número da ordem de colheita, recuperar o ID_ORDCOLHEITA com o identificador da ordem de colheita, recuperar o ID_VARIEDADE da tabela ORDCOLHEITA_LC, com o identificador da variedade, recuperar ID_INSUMO da tabela VARIEDADE, caso não encontre produto configurado para Variedade, recuperar o produção pela Cultura/Ocupação (ID_INSUMO da tabela OCUPACAO_PMPRIMA, a partir do ID_PERIODOSAFRA da tabela APPESAGEMMP, com o identificador do período de produção, recuperar o ID_OCUPACAO da tabela PERIODOSAFRA, com o identificador da ocupação, recuperar o ID_INSUMO da tabela OCUPACAO_PMPRIMA) caso encontre mais de uma produto associado à Cultura/Ocupação não recuperar o produto. 

Se configurado “Necessita de Contrato de Venda da Produção para produto Matéria Prima”, em “Tabelas > Culturas > Cultura/Ocupação” (FG_CVP_MPRIMA igual a “S” da tabela OCUPACAO), e a pesagem possui Controle de Colheita (neste caso todas as pesagens integradas serão consideradas que possuem Controle e Colheita), será localizado o Contrato vigente de acordo com a Data de Movimento (DT_MOVIMENTO da tabela BRG_APPESAGEMMP maior ou igual a DT_INI_VALIDADE da tabela RC_CONTRATO e menor ou igual a DT_FIM_VALIDADE da tabela RC_CONTRATO quando informada), se existir verificar se o contrato possui para o Local de Produção da Ordem de Colheita (recuperar o ID_UPNIVEL3 da ORDCOLHEITA_LC pelo NO_ORDCOLHEITA  da tabela BRG_APPESAGEMMP, com o ID_UPNIVEL3 verificar tem contrato associado ID_UPNIVEL3 da tabela ORDCOLHEITA_LC igual ao ID_UPNIVEL3 da tabela RC_CONTRATO_LOC e ID_OCUPACAO da tabela PERIODOSAFRA igual ao ID_OCUPACAO da tabela RC_CONTRATO_LOC, caso não encontre, verificar se tem contrato pelo ID_UPNIVEL2 da tabela UPNIVEL3, ID_UPNIVEL1 da tabela UPNIVEL2, ID_PERIODOSAFRA da tabela UPNIVEL3 e ID_SAFRA da tabela PERIODOSAFRA e ID_OCUPACAO da tabela PERIODOSAFRA igual a ID_UPNIVEL2, ID_UPNIVEL1, ID_PERIODOSAFRA, ID_SAFRA, ID_OCUPACAO e com ID_UPNIVEL3 vazio da tabela RC_CONTRATO_LOC, caso não encontre, verificar se tem contrato pelo ID_UPNIVEL1 da tabela UPNIVEL2, ID_PERIODOSAFRA da tabela UPNIVEL3, ID_SAFRA da tabela PERIODOSAFRA e ID_OCUPACAO da tabela PERIODOSAFRA igual a ID_UPNIVEL1, ID_PERIODOSAFRA, ID_SAFRA e ID_OCUPACAO e com ID_UPNIVEL2 e ID_UPNIVEL3 vazio da tabela RC_CONTRATO_LOC), caso não encontre, caso não encontre, verificar se tem contrato pelo (ID_PERIODOSAFRA da tabela UPNIVEL3 e ID_SAFRA da tabela PERIODOSAFRA e ID_OCUPACAO da tabela PERIODOSAFRA igual a ID_PERIODOSAFRA, ID_SAFRA, ID_OCUPACAO e com ID_UPNIVEL1, ID_UPNIVEL2 e ID_UPNIVEL3 vazio da tabela RC_CONTRATO_LOC, ID_UPNIVEL2, ID_UPNIVEL2, caso não encontre, verificar se tem contrato pelo ID_SAFRA da tabela PERIODOSAFRA e ID_OCUPACAO da tabela PERIODOSAFRA igual a ID_SAFRA, ID_OCUPACAO e com ID_PERIODOSAFRA, ID_UPNIVEL1, ID_UPNIVEL2 e ID_UPNIVEL3 vazio da tabela RC_CONTRATO_LOC, caso não encontre, verificar se tem contrato pelo ID_UPNIVEL2 da tabela UPNIVEL3, ID_UPNIVEL1 da tabela UPNIVEL2, ID_SAFRA da tabela PERIODOSAFRA e ID_OCUPACAO da tabela PERIODOSAFRA igual a ID_UPNIVEL2, ID_UPNIVEL1, ID_SAFRA, ID_OCUPACAO e com ID_PERIODOSAFRA, ID_UPNIVEL3 vazio da tabela RC_CONTRATO_LOC, caso não encontre, verificar se tem contrato pelo ID_UPNIVEL1 da tabela UPNIVEL2, ID_SAFRA da tabela PERIODOSAFRA e ID_OCUPACAO da tabela PERIODOSAFRA igual a ID_UPNIVEL1, ID_SAFRA, ID_OCUPACAO e com ID_PERIODOSAFRA, ID_UPNIVEL2 e ID_UPNIVEL3 vazio da tabela RC_CONTRATO_LOC, caso não encontre, verificar se tem contrato ID_UPNIVEL1 da tabela UPNIVEL2 e ID_OCUPACAO da tabela PERIODOSAFRA igual a ID_UPNIVEL1, ID_OCUPACAO e com ID_SAFRA, ID_PERIODOSAFRA, ID_UPNIVEL2 e ID_UPNIVEL3 vazio da tabela RC_CONTRATO_LOC, caso não encontre, verificar se tem contrato pelo ID_OCUPACAO da tabela PERIODOSAFRA igual ID_OCUPACAO da tabela RC_CONTRATO_LOC) ou Local de Produção informado (recuperar o ID_UPNIVEL3 da tabela UPNIVEL3 pelo CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2, CD_UPNIVEL3 da tabela BRG_APPESAGEMMP e com o ID_UPNIVEL3 verificar tem contrato associado ID_UPNIVEL3 da tabela UPNIVEL3 igual ao ID_UPNIVEL3 da tabela RC_CONTRATO_LOC e ID_OCUPACAO da tabela PERIODOSAFRA igual ao ID_OCUPACAO da tabela RC_CONTRATO_LOC, caso não encontre, verificar se tem contrato pelo ID_UPNIVEL2 da tabela UPNIVEL3, ID_UPNIVEL1 da tabela UPNIVEL2, ID_PERIODOSAFRA da tabela UPNIVEL3 e ID_SAFRA da tabela PERIODOSAFRA e ID_OCUPACAO da tabela PERIODOSAFRA igual a ID_UPNIVEL2, ID_UPNIVEL1, ID_PERIODOSAFRA, ID_SAFRA, ID_OCUPACAO e com ID_UPNIVEL3 vazio da tabela RC_CONTRATO_LOC, caso não encontre, verificar se tem contrato pelo ID_UPNIVEL1 da tabela UPNIVEL2, ID_PERIODOSAFRA da tabela UPNIVEL3, ID_SAFRA da tabela PERIODOSAFRA e ID_OCUPACAO da tabela PERIODOSAFRA igual a ID_UPNIVEL1, ID_PERIODOSAFRA, ID_SAFRA, ID_OCUPACAO e com ID_UPNIVEL2 e ID_UPNIVEL3 vazio da tabela RC_CONTRATO_LOC), caso não encontre, verificar se tem contrato pelo ID_PERIODOSAFRA da tabela UPNIVEL3 igual a ID_SAFRA da tabela PERIODOSAFRA e ID_OCUPACAO da tabela PERIODOSAFRA igual ao ID_PERIODOSAFRA, ID_SAFRA, ID_OCUPACAO e com ID_UPNIVEL1, ID_UPNIVEL2 e ID_UPNIVEL3 vazio da tabela RC_CONTRATO_LOC, caso não encontre, verificar se tem contrato pelo ID_SAFRA da tabela PERIODOSAFRA e ID_OCUPACAO da tabela PERIODOSAFRA igual ID_SAFRA, ID_OCUPACAO e com ID_PERIODOSAFRA, ID_UPNIVEL1, ID_UPNIVEL2 e ID_UPNIVEL3 vazio da tabela RC_CONTRATO_LOC, caso não encontre, verificar se tem contrato pelo ID_UPNIVEL2 da tabela UPNIVEL3, ID_UPNIVEL1 da tabela UPNIVEL2, ID_SAFRA da tabela PERIODOSAFRA, ID_OCUPACAO da tabela PERIODOSAFRA igual a ID_UPNIVEL2, ID_UPNIVEL1, ID_SAFRA, ID_OCUPACAO e com ID_PERIODOSAFRA e ID_UPNIVEL3 vazio da tabela RC_CONTRATO_LOC, caso não encontre, verificar se tem contrato pelo ID_UPNIVEL1 da tabela UPNIVEL2, ID_SAFRA da tabela PERIODOSAFRA e ID_OCUPACAO da tabela PERIODOSAFRA igual a ID_UPNIVEL1, ID_SAFRA, ID_OCUPACAO e com ID_PERIODOSAFRA, ID_UPNIVEL3 e ID_UPNIVEL3 vazio da tabela RC_CONTRATO_LOC, caso não encontre, verificar se tem contrato pelo ID_UPNIVEL2 da tabela UPNIVEL3, ID_UPNIVEL1 da tabela UPNIVEL2 e ID_OCUPACAO da tabela PERIODOSAFRA igual a ID_UPNIVEL2, ID_UPNIVEL1, ID_OCUPACAO e com ID_SAFRA, ID_PERIODOSAFRA e ID_UPNIVEL3 vazio da tabela RC_CONTRATO_LOC, caso não encontre, verificar se tem contrato pelo ID_UPNIVEL1 da tabela UPNIVEL2 e ID_OCUPACAO da tabela PERIODOSAFRA igual a ID_UPNIVEL1, ID_OCUPACAO e com ID_SAFRA, ID_PERIODOSAFRA, ID_UPNIVEL2 e ID_UPNIVEL3 vazio da tabela RC_CONTRATO_LOC, caso não encontre, verificar se tem contrato pelo ID_OCUPACAO da tabela PERIODOSAFRA igual ID_OCUPACAO da tabela RC_CONTRATO_LOC). Se não existir contrato é gerada a ocorrência: “Não há Contrato de Venda da Produção vigente nessa Data de Movimento para o Local de Produção e Produto”, caso contrário, não será obrigatório ter contrato de venda.

 

 Sequência de Verificação se tem contrato pelo local de produção:

Sequência

Ocupação

Safra

Período de Produção

[Fazenda]

[Setor]

[Talhão]

1

√   

   

   

   

   

   

2

   

   

   

   

   

 

3

   

   

   

   

 

 

4

   

   

   

 

 

 

5

   

   

 

 

 

 

6

   

   

 

   

   

 

7

   

   

 

   

 

 

8

   

 

 

   

   

 

9

   

 

 

   

 

 

10

   

 

 

 

 

 

 

-         Se possuir contrato de venda vigente será verificado se há algum Produto informado no contrato (RC_CONTRATO_PRO possui informação para o contrato ID_RC_CONTRATO). Se existir algum produto no contrato (ID_INSUMO da tabela RC_CONTRATO_PRO) é verificado se o produto ao qual se refere na pesagem (ID_INSUMO da tabela APPESAGEMMP, caso não encontre produto associado a pesagem, recuperar pela ordem de colheita ID_INSUMO da tabela ORCOLHEITA_LC, a partir da NO_ORCOLHEITA da tabela BRG_APPAGEMMP, com o número da ordem de colheita, recuperar  ID_ORDCOLHEITA da tabela ORDCOLHEITA para a unidade administrativa da pesagem, com o identificador da ordem de colheita, recuperar o ID_INSUMO  da tabela ORDCOLHEITA_LC), caso não encontre produto associado a ordem de colheita, recuperar o produto pela variedade ID_VARIEDADE da tabela APPESAGEMMP, com o identificador da variedade recuperar o ID_INSUMO da tabela VARIEDADE, caso não encontre, recuperar o produto pela ocupação, a partir do ID_PERIODOSAFRA da tabela APPESAGEMMP, com o identificador do período de safra, recuperar o ID_OCUPACAO da tabela PERIODOSAFRA e com o identificador da ocupação recuperar o produto ID_INSUMO da tabela OCUPACAO_PMPRIMA, quando encontrar apenas um produto associado  verificar se está associado ao contrato ID_INSUMO recuperado igual ao ID_INSUMO da tabela RC_CONTRATO_PRO) está no contrato e caso não exista será gerada a ocorrência: “Não há Contrato de Venda da Produção vigente nessa Data de Movimento para o Local de Produção e Produto”.

 Regras para identificar qual o produto utilizado para verificar se tem contrato:

  • Primeiro verifica se há produto Matéria Prima informado na Pesagem (ID_INSUMO da tabela APPESAGEMMP), se existir será esse o produto utilizado para integrar com o estoque.
  • Se não possuir produto Matéria Prima informado na Pesagem (ID_INSUMO vazio da tabela APPESAGEMMP), o sistema utilizará o produto Matéria Prima da Ordem de Colheita (quando informada) (ID_INSUMO da tabela ORDCOLHEITA_LC, a partir da ID_ORDCOLHEITA da tabela APPESAGEMMP, com o identificador da ordem de colheita, recuperar o ID_INSUMO da tabela ORDCOLHEITA_LC), se existir será esse o produto utilizado para integrar com o estoque.
  • Se não possuir produto Matéria Prima configurado na ordem de Colheita (ID_INSUMO vazio da tabela ORDCOLHETA_LC), o sistema utilizará o produto Matéria Prima configurado para a Variedade (ID_VARIEDADE da tabela APPESAGEMMP, com o identificador da variedade, recuperar o ID_INSUMO da tabela VARIEDADE), se existir será esse o produto utilizado para integrar com o estoque.
  • Se não possuir produto Matéria Prima configurado para a Variedade (ID_INSUMO vazio da tabela VARIEDADE) o sistema utilizará o produto Matéria Prima configurado para a Cultura/Ocupação (ID_INSUMO da tabela OCUPACAO_PMPRIMA, a partir do ID_PERIODOSAFRA da tabela APPESAGEMMP, com o identificador do período de safra, recuperar o ID_OCUPACAO, com o identificador da ocupação, recuperar o ID_INSUMO da tabela OCUPACAO_PMPRIMA), quando possuir apenas um produto Matéria Prima configurado.

-         Regras para identificar a quantidade a ser integrada, quando configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Geais” (FG_FINALIZA_PESAGEM_REC_ERP igual a “S” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “16”):

  • É verificada se a Unidade de Medida do Produto é “Kg-Quilo” (ID_UNIMEDIDA da tabela INSUMO para o produto encontrado, for igual ID_VALOR da tabela PRXPARAMETER para NAME_PARAMETER igual CD_UM_KG e grupo ID_PRXGPPARAMETER igual “12”), se for, a quantidade bruta, quantidade tara e total de descontos integrada será o peso Final. A unidade de medida “Kg-Quilo” deve estar configurada em “Quilo” para o Grupo de Configuração “Unidade de Medida” em “Administração > Configurações Gerais” (ID_UNIMEDIDA da tabela INSUMO para o produto encontrado, for igual ID_VALOR da tabela PRXPARAMETER para NAME_PARAMETER igual CD_UM_KG e grupo ID_PRXGPPARAMETER igual “12”). Se não possuir a unidade de medida configurada como “Kg-Quilo” gerar a ocorrência “Unidade de Medida Quilo não configurada”.
  • Se a Unidade de Medida do produto for diferente de “Kg-Quilo” (ID_UNIMEDIDA da tabela INSUMO para o produto encontrado, for diferente ID_VALOR da tabela PRXPARAMETER para NAME_PARAMETER igual CD_UM_KG e grupo ID_PRXGPPARAMETER igual “12”), o sistema irá buscar o Conversor de Unidade de Medida em “Tabelas > Básicos > Conversor para Unidade de Medida” (VL_FATOR da tabela CONV_UNIMEDIDA para ID_UM_DE da tabela CONV_UNIMEDIDA igual o ID_VALOR da tabela PRXPARAMETER para o NAME_PARAMETER igual CD_UM_KG e grupo ID_PRXGPPARAMETER igual “12” e o ID_UM_PARA da tabela CONV_UNIMEDIDA igual ID_UNIMEDIDA da tabela INSUMO do produto recuperado) que converterá “Quilo” para a Unidade de Medida do Produto. Será aplicado o fator do conversor de Unidade de Medida para converter os Quilos para a quantidade a ser considerada como produção. Se não possuir conversor de unidade de medida (VL_FATOR vazio da tabela CONV_UNIMEDIDA para o ID_UM_DE do parâmetro e ID_UNIMEDIDA da tabela INSUMO) que converta Quilo para a Unidade de Medida do Produto, será gerada a ocorrência “Não há Conversor de Unidade de Medida de Quilo para a Unidade de Medida do Produto Matéria Prima”.

-         Se não informado o Número da Nota (NO_NOTA vazio da tabela BRG_APPESAGEMMP) e estiver configurado “Informar o número da Nota Fiscal, Série e Tipo da Nota Fiscal na Manutenção da Pesagem, Pesagem e Registro de Colheita” em “Tabelas > Culturas > Culturas / Ocupação” (FG_NOTA_FISCAL igual a “S” da tabela OCUPACAO), gerar ocorrência “Número da Nota Fiscal requerida”, caso contrário o Número da Nota Fiscal não é obrigatório.

-         Se não informado o Número da Série (NO_SERIE vazio da tabela BRG_APPESAGEMMP) e estiver configurado “Informar o número da Nota Fiscal, Série e Tipo da Nota Fiscal na Manutenção da Pesagem, Pesagem e Registro de Colheita”, em “Tabelas > Culturas > Culturas / Ocupação” (FG_NOTA_FISCAL igual a “S” da tabela OCUPACAO), gerar ocorrência “Número da Série da Nota Fiscal é requerida”, caso contrário o Número da Série da Nota Fiscal não é obrigatório”;

-         Se não informado o Tipo da Nota Fiscal (TP_NOTA vazio da Tabela BRG_APPESAGEMMP) e estiver configurado “Informar o número da Nota Fiscal, Série e Tipo da Nota Fiscal na Manutenção da Pesagem, Pesagem e Registro de Colheita”, em “Tabelas > Culturas > Culturas / Ocupação” (FG_NOTA_FISCAL da tabela OCUPACAO), gerar ocorrência “Tipo da Nota Fiscal requerida”, caso contrário o Tipo da Nota Fiscal não é obrigatório.

-         É gravado o identificador da Pesagem na tabela temporária para associar a Pesagem (ID_APPESAGEMMP da tabela APPESAGEMMP será gravado no ID_APPESAGEMMP da tabela BRG_APPESAGEMMP).

-         Quando informar o código do motorista (CD_MOTORISTA_ERP da tabela BRG_APPESAGEMMP), o mesmo deve estar cadastrado (CD_INT_ERP da tabela FUNCIONAR igual a CD_MOTORISTA_ERP da tabela BRG_APPESAGEMMP e para ID_FILIAL do FUNCIONAR igual o ID_FILIAL recuperado a partir do CD_EMPRESA_ERP e CD_FILIAL_ERP da tabela BRG_APPESAGEMMP) e disponível para unidade administrativa da Empresa ERP e Filial ERP (DT_EVENTO da tabela FUNCIONARDISP para a DT_MOVIMENTO da tabela BRG_APPESAEMMP e unidade administrativa recuperada), caso o funcionário não esteja cadastrado ou disponível gerar a ocorrência “Funcionário (código) não está cadastrado ou não está disponível”, caso o código do motorista não for informado, o mesmo não será obrigatório.

-         Quando informar o código da colhedora (CD_COLHEDORA da tabela BRG_APPESAGEMMP), a mesma deve estar cadastrada (CD_COLHEDORA da tabela BRG_APPESAGEMMP deve estar na tabela EQUIPTO) e disponível para unidade administrativa da Empresa ERP e Filial ERP (DT_EVENTO da tabela EQUIPTODISP para a DT_MOVIMENTO da tabela BRG_APPESAGEMMP e unidade administrativa recuperada), caso a colhedora não esteja cadastrada ou disponível gerar a ocorrência “Colhedora (código) não está cadastrada ou não está disponível”, caso não seja informado o código da colhedora, a mesma não será obrigatória.

-         Quando informar o código do operador (CD_OPERADOR_ERP da tabela BRG_APPESAGEMMP), o mesmo deve estar cadastrado (CD_INT_ERP da tabela FUNCIONAR igual a CD_OPERADOR_ERP da tabela BRG_APPESAGEMMP e para ID_FILIAL da FUNCIONAR igual o ID_FILIAL recuperado a partir do CD_EMPRESA_ERP e CD_FILIAL_ERP da tabela BRG_APPESAGEMMP)  e disponível para unidade administrativa da Empresa ERP e Filial ERP (DT_EVENTO da tabela FUNCIONARDISP para a DT_MOVIMENTO da tabela BRG_APPESAEMMP para a unidade administrativa recuperada), caso o operador não esteja cadastrado ou disponível gerar a ocorrência “Operador (código) não está cadastro ou não está disponível”, caso o código do operador não for informado, o mesmo não será obrigatório.

-         Se informado a Ocupação (CD_OCUPACAO da tabela BRG_APPESAGEMMP) é verificado se a mesma está previamente cadastrada (CD_OCUPACAO da tabela BRG_APPESAGEMMP deve estar na tabela OCUPACAO) e deve ser a mesma do [Talhão] da Ordem de Colheita (quando informada) (recuperar o ID_UPNIVEL3 da tabela ORDCOLHEITA_LC, pelo NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP deve estar na tabela ORDCOLHEITA, com identificador do talhão, recuperar o ID_PERIODOSAFRA da tabela UPNIVEL3 e com identificador do período de produção, recuperar o  ID_OCUPACAO da tabela PERIODOSAFRA e com o identificador da ocupação, recuperar o CD_OCUPACAO da tabela OCUPACAO e comparar com CD_OCUPACAO da tabela BRG_APPESAGEMMP)  ou do Local de Produção (recuperar o ID_UPNIVEL3 da tabela UPNIVEL3 a partir do CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIEL3 e com ID_UPNIVEL3 recuperar o ID_PERIODOSAFRA  da tabela UPNIVEL3 e com o identificador do período de produção, recuperar o ID_OCUPACAO da tabela PERIODOSAFRA e com o identificador da ocupação, recuperar O CD_OCUPACAO da tabela OCUPACAO e comparar com o CD_OCUPACAO da tabela BRG_APPESAGEMMP), caso não estiver cadastrado é gerado a ocorrência “Ocupação inválida”, caso não seja a mesmo da Ordem de Colheita ou do Local de Produção é gerado a ocorrência “Ocupação diferente da Ordem de Colheita ou do Local de Produção”.

-         Quando informar o código do Sistema de Colheita (CD_SIST_COLH da tabela BRG_APPESAGEMMP deve estar na tabela SISTCOLHEITA), o mesmo deve estar cadastrado e deve ser o mesmo da Ordem de Colheita (ID_SISTCOLHEITA da tabela ORDCOLHEITA) (quando informado (NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP), caso não esteja cadastrado gerar ocorrência “Sistema de Colheita inválido”, caso não seja o mesmo da Ordem de Colheita (quando informado NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP) gerar a ocorrência “Sistema de Colheita informado diferente da Ordem de Colheita”.

-         Número do Fardão é obrigatório quando configurado “Usar “Nº de Id. da Carga” na pesagem” no Grupo “Recepção de Matéria Prima” em “Tabelas > Culturas > Cultura/Ocupação” (FG_ID_CARGA igual a “S” da tabela OCUPACAO), caso não seja informado gerar ocorrência “Número do Fardão inválido”, caso contrário não será obrigatório.

-         Quando estiver configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP”, em “Administração > Configurações Gerais” (FG_FINALIZA_PESAGEM_REC_ERP igual a “S” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “16”) e estiver configurado “Enviar o recebimento de Matéria Prima para integração com o ERP” em “Administração > Configurações Gerais” (FG_ENVIA_PESAGEM_ERP igual a “S” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER  igual a “16”), a Unidade Receptora (ID_UNIRECEPTORA da tabela APPESAGEMMP) será obrigatório para finalizar a pesagem, caso não seja informada gerar ocorrência “Unidade Receptora inválida na finalização da Pesagem de Matéria Prima”.

Quando estiver configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP”, em “Administração > Configurações Gerais” (FG_FINALIZA_PESAGEM_REC_ERP igual a “S” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “16”), e não estiver configurado “Enviar o recebimento de Matéria Prima para integração com ERP”, em “Administração > Configurações Gerais” (FG_ENVIA_PESAGEM_ERP igual a “N” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual “16”) a Unidade Receptora (ID_UNIRECEPTORA da tabela APPESAGEMMP) não será obrigatório para finalizar a pesagem.          

-         Quando não estiver configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com ERP”, em “Administração > Configurações Gerais” (FG_FINALIZA_PESAGEM_REC_ERP igual “N” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “16”), a Unidade Receptora não será obrigatória (ID_UNIRECEPTORA da tabela APPESAGEMMP). 

-         Quando for uma inclusão de Pesagem de Matéria Prima (FG_ACAO igual a “I” da tabela BRG_APPESAGEMMP) e configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Gerais” (FG_ENVIA_PESAGEM_ERP igual a “S” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “16”), chamar o Serviço (realizarIntegracao) do PIMSMulticultivos para finalizar a pesagem e quando configurado “Enviar o recebimento de Matéria Prima para integração com ERP” em “Administração > Configurações Gerais” (FG_ENVIA_PESAGEM_ERP igual “S” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “16”), e a Unidade Receptora está configurada para integrar (FG_INT_ERP igual a “S” da tabela UNIRECETORA), atualizar o status da pesagem (FG_STATUS_EAI da tabela APPESAGEMMP) para “0” (aguardando execução), atualizar o status da tabela temporária para gerar estoque (FG_STATUS da tabela BRG_BXMATERIAL_EMS) para “0” (aguardando execução) e na tabela de produção (FG_STATUS_EAI da tabela BF_PRODUCAO) com status “2” (envio para ERP), quando a Unidade Receptora não está configurada para integrar (FG_INT_ERP igual a “N” da tabela UNIRECEPTORA), atualizar o status (FG_STATUS_EAI da tabela APPESAGEMMP) da pesagem com “0” (aguardando execução) e gerar a tabela produção (BF_PRODUCAO) com status (FG_STATUS_EAI da tabela BF_PRODUCAO) “9” (não será integrada), chamar o WebService de retorno (retornoIntegracaoMateriaPrima) do PIMSMulticultivos para enviar mensagem de retorno com status (<statusPesagem>) “1” (sucesso) para o Protheus ou Datasul.

-         Quando for uma inclusão (FG_ACAO igual a “I” da tabela BRG_APPESAGEMMP) de Pesagem de Matéria Prima e configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Gerais” (FG_FINALIZA_PESAGEM_REC_ERP igual a “S” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “16”)  chamar o Serviço (realizarIntegracao) do PIMSMulticultivos para finalizar a pesagem e quando não configurado “Enviar o recebimento de Matéria Prima para integração com ERP”, em “Administração > Configurações Gerais” (FG_ENVIA_PESAGEM_ERP igual a “N” da tabela PRXPARAMETER e do grupo ID_PRXGPPARAMETER igual a “16”), atualizar o status (FG_STATUS_EAI da tabela APPESAGEMMP) da pesagem com “0” (aguardando execução) e gerar a pesagem na tabela de produção (BF_PRODUAO) com status (FG_STATUS_EAI da tabela BF_PRODUCAO) “9” (não será integrado) e chamar o WebService de retorno (retornoIntegracaoMateriaPrima) do PIMSMulticultivos para enviar mensagem de retorno com status (<statusPesagem>) “1” (sucesso) para o Protheus ou Datasul.

-         Quando for um alteração (FG_ACAO igual a “I” e o FG_STATUS_EAI igual a “0” da tabela BRG_APPESAGEMMP) de Pesagem de Matéria Prima e quando configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Gerais” (FG_FINALIZA_PESAGEM_REC_ERP igual a “S” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “16”) chamar o Serviço (realizarIntegracao) do PIMSMulticultivos para finalizar a pesagem e quando configurado “Enviar o recebimento de Matéria Prima para integração ERP” em “Administração > Configurações Gerais” (FG_ENVIA_PESAGEM_ERP igual a “S” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “16”) e a Unidade Receptora está configurada para integrar (FG_INT_ERP igual a “S” da tabela UNIRECEPTORA), quando a tabela de produção (BF_PRODUCAO) estiver com status (FG_STATUS_EAI da tabela BF_PRODUCAO) “2” (enviado para o ERP) e na tabela temporária (BRG_BXMATERIAL_EMS) com status (FG_STATUS da tabela BRG_BXMATERIAL_EMS) “0” (aguardando execução) alterar a pesagem (APPESAGEMMP), a tabela de produção (BF_PRODUCAO) e tabela intermediária (BRG_BXMATERIAL_EMS) e chamar o WebService de retorno (retornoIntegracaoMateriaPrima) do PIMSMulticultivos para enviar mensagem de retorno com status (<statusPesagem>) “1” (sucesso) para o Protheus ou Datasul, quando a tabela de produção (BF_PRODUCAO) estiver com status (FG_STATUS_EAI da tabela BF_PRODUCAO) “2” (enviado para o ERP) e na tabela temporária (BRG_BXMATERIAL_EMS) com status (FG_STATUS da tabela BRG_BXMATERIAL_EMS) “1” (em execução) não permitir alterar a pesagem e chamar o WebService de retorno (retornoIntegracaoMateriaPrima) do PIMSMulticultivos para enviar mensagem de retorno com status (<statusPesagem>) “2” (erro) com a ocorrência (<ocorrenciaProcessamento>) “Pesagem em processamento pelo ERP) para o Protheus ou Datasul,  quando o status da tabela de produção (FG_STATUS_EAI da tabela BF_PRODUCAO) estiver “3” (erro no processamento pelo ERP) e na tabela temporária (BRG_BXMATERIAL_EMS) estiver com status (FG_STATUS  da tabela BRG_BXMATERIAL_EMS) “5” (erro atualizado pelo PIMS), alterar a pesagem (APPESAGEMMP), a tabela produção (BF_PRODUCAO) e o status (FG_STATUS_EAI da tabela BF_PRODUCAO) para “2” (enviado para ERP) e a tabela intermediária (BRG_BXMATERIAL_EMS) e o status (FG_STATUS da tabela BRG_BXMATERIAL_EMS) para “0” (aguardando execução) e chamar o WebService retorno (retornoIntegracaoMateriaPrima) do PIMSMulticultivos para enviar mensagem de retorno com status (<statusPesagem>) “1” (sucesso) para o Protheus ou Datasul), quando o status da tabela de produção (FG_STATUS_EAI da tabela BF_PRODUCAO) estiver com status “15” (processado com Sucesso pelo ERP) e a tabela temporária (BRG_BXMATERIAL_EMS) estiver com status (FG_STATUS_EAI) “2” (enviado para o ERP), não permitir alterar a pesagem e chamar o WebService de retorno (retornoIntegracaoMateriaPrima) do PIMSMulticultivos para enviar mensagem de retorno com status (<statusPesagem>) “2” (erro) e a ocorrência (<ocorrenciaProcessamento>) “Pesagem enviada para ERP aguardando execução” para o Protheus ou Datasul, quando a tabela de produção estiver com status (FG_STATUS_EAI da tabela BF_PRODUCAO) “15” (processado com Sucesso pelo ERP) e a tabela temporária estiver com status (FG_STATUS da tabela BRG_BXMATERIAL_EMS) “4” (Valorizado com Sucesso pelo ERP), não permitir alterar a pesagem e chamar WebService de retorno (retornoIntegracaoMateriaPrima) do PIMSMulticultivos para enviar mensagem de retorno com status (<statusPesagem>) “2” (erro) com a ocorrência (<ocorrenciaProcessamento>) “Pesagem Enviada para ERP aguardando valorização) para o Protheus ou Datasul, quando a tabela de produção estiver com status (FG_STATUS_EAI da tabela BF_PRODUCAO) “4” (valorizado com Sucesso pelo ERP) e a tabela temporária estiver com status (FG_STATUS da tabela BRG_BXMATERIAL_EMS) “6” (valorizado pelo PIMS), não permitir alterar a pesagem e chamar o WebService de retorno (retornoIntegracaoPesagemMateriaPrima) do PIMSMulticultivos para enviar mensagem de retorno com status (<statusPesagem>) “2” (erro) com a ocorrência (<ocorrenciaProcessamento>)“Pesagem Enviada para ERP e integrada com sucesso” para o Protheus ou Datasul, quando a tabela de produção estiver com status (FG_STATUS_EAI da tabela BF_PRODUCAO) “11” (em execução do Estorno) e a tabela temporária estiver com status (FG_STATUS da tabela BRG_BXMATERIAL_EMS) “10” (Aguardando Execução do Estorno), não permitir alterar a pesagem e chamar o WebService retorno (retornoIntegracaoMateriaPrima) do PIMSMulticultivos para enviar mensagem de retorno com status (<statusPesagem>) “2” (erro) com a ocorrência (<ocorrenciaProcessamento>) “pesagem Enviada para ERP aguardando estorno” para o Protheus ou Datasul, quando a tabela de produção estiver com status (FG_STATUS_EAI da tabela BF_PRODUCAO) “12” (Erro na execução do estorno pelo ERP) e a tabela temporária estiver com status (FG_STATUS da tabela BRG_BXMATERIAL_EMS) “12” (erro na execução do estorno pelo ERP), não permitir alterar a pesagem e chamar o WebService de retorno (retornoIntegracaoMateriaPrima) do PIMSMulticultivos para enviar mensagem de retorno com status (<statusPesagem>) “2” (erro) com a ocorrência <ocorrenciaProcessamento> “Pesagem Enviada para ERP com erro no estorno” para o Protheus ou Datasul, quando a tabela de produção estiver com status (FG_STATUS_EAI da tabela BF_PRODUCAO) “0” (aguardando execução) e a pesagem não estiver na tabela temporária (FG_STATUS da tabela BRG_BXMATERIAL_EMS), alterar a pesagem (APPESAGEMMP), a tabela de produção com status (FG_STATUS_EAI da tabela BF_PRODUCAO) “2” (enviada para ERP) e incluir a tabela intermediária com status (FG_STATUS da tabela BRG_BXMATERIAL_EMS) “0” (aguardando execução) e chamar o WebService de retorno (retornoIntegracaoMateriaPrima) do PIMSMulticultivos para enviar mensagem de retorno com status (<statusPesagem>) “1” (sucesso) para o Protheus ou Datasul. Quando a Unidade Receptora não está configurada para integrar (FG_INT_ERP igual a “N” da tabela UNIRECEPTORA), e o status da tabela produção (FG_STATUS_EAI da tabela BF_PRODUAO) estiver com “9” (não será integrado) alterar a pesagem (APPESAGEMMP) e a tabela de produção (BF_PRODUCAO) e chamar o WebService de retorno (retornoIntegracaoMateriaPrima) do PIMSMulticultivos para enviar mensagem de retorno com status (<statusPesagem>) “1” (sucesso) para o Protheus ou Datasul. Quando não configurado “Enviar o recebimento de Matéria Prima para integração ERP” em “Administração > Configurações Gerais” (FG_ENVIA_PESAGEM_ERP igual a “N” da tabela PRXPARAMETER para o grupo ID_PRXGPPARAMETER igual a “16”) e o status da tabela de produção (FG_STATUS_EAI da tabela BF_PRODUCAO) estiver com “9” (não será integrado), alterar a pesagem (APPESAGEMMP), a tabela de produção (BF_PRODUCAO) e chamar o WebService de retorno (retornoIntegracaoMateriaPrima) do PIMSMulticultivos para enviar mensagem de retorno com status (<statusPesagem>) “1” (sucesso) para o Protheus ou Datasul.

-         Quando não configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Gerais” (FG_FINALIZA_PESAGEM_REC_ERP da tabela igual a “N” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “16”) a pesagem será salva na tabela oficial (APPESAGEMMP), e não chamar o Serviço (realizarIntegracao) para finalizar a pesagem e chamar o WebService de retorno (retornoIntegracaoMateriaPrima) do PIMSMulticultivos para enviar mensagem de com (<statusPesagem>) “1” (sucesso) para o Protheus ou Datasul. A finalização da pesagem deve ser executada manualmente pelo usuário.

 Ação excluir:

 -         Não permitir excluir uma pesagem quando custo estiver processado (DT_MOVIMENTO da tabela BRG_APPESAGEMMP menor ou igual DT_CST_PRC da tabela UNIDADEADM), chamar o WebService de retorno (retornoIntegracaoMateriaPrima) do PIMSMulticultivos para enviar mensagem de retorno com status (<statusPesagem>) “2” (erro) e a ocorrência de processamento <ocorrenciaProcessamento> “Custo já fechado para essa Data” para o Protheus ou Datasul.

-         Não permitir excluir uma pesagem processado pelo pagamento de serviço (ID_APPESAGEMMP da tabela BRG_APPESAGEMMP igual ao ID_APONTAMENTO da tabela SV_HISTCAPTA para FG_ORIGEM igual a “T”), chamar o WebService de retorno (retornoIntegracaoMateriaPrima) do PIMSMulticultivos para enviar mensagem de retorno com status (<statusPesagem>) “2” (erro) e a ocorrência de processamento <ocorrenciaProcessamento> “Pesagem processada pelo Processamento de Pagamento de Serviço” para o Protheus ou Datasul.

-         Não permitir excluir uma pesagem quando o status da tabela de produção (FG_STATUS_EAI da tabela BF_PRODUCAO) estiver com status “3” (erro no processamento pelo ERP) e o status da tabela temporária (FG_STATUS da tabela BRG_BXMATERIAL_EMS) estiver com “5” (erro na atualização pelo PIMS) ou quando o status da tabela de produção (FG_STATUS_EAI da tabela BF_PRODUCAO) estiver com status “2” (enviado para ERP) e o status da tabela temporária (FG_STATUS da tabela BRG_BXMATERIAL_EMS) estiver com “1” (em execução) ou a tabela de produção estiver com status (FG_STATUS_EAI da tabela BF_PRODUCAO) “15” (Processado com Sucesso pelo ERP) e a status da tabela temporária (FG_STATUS da tabela BRG_BXMATERIAL_EMS) estiver com “2” (Enviado para ERP) ou a tabela de produção estiver com status (FG_STATUS_EAI da tabela BF_PRODUCAO) “15” (processado com Sucesso pelo ERP) e status da tabela intermediária (FG_STATUS da tabela BRG_BXMATERIAL_EMS) estiver com “4” (Valorizado com Sucesso pelo ERP) ou a tabela de produção estiver com status (FG_STATUS_EAI da tabela BF_PRODUCAO) “4” (Valorizado com Sucesso pelo ERP) e o status da tabela intermediária (FG_STATUS da tabela BRG_BXMATERIAL_EMS) estiver “6” (Valorizado pelo PIMS) ou a tabela de produção estiver com status (FG_STATUS_EAI da tabela BF_PRODUCAO) “11” (Em execução do Estorno) e o status da tabela temporária (FG_STATUS da tabela BRG_BXMATERIAL_EMS) estiver com “10” (Aguardando Execução do Estorno) ou se a tabela de produção estiver com status (FG_STATUS_EAI da tabela BF_PRODUCAO) “12” (Erro na execução do estorno pelo ERP) e o status da tabela intermediária (FG_STATUS da tabela BRG_BXMATERIAL_EMS) estiver com “12” (Erro na execução do estorno pelo ERP), chamar o WebService de retorno (retornoIntegracaoMateriaPrima) do PIMSMulticultivos para enviar mensagem de retorno com status (<statusPesagem>) “2” (erro) e a ocorrência de processamento <ocorrenciaProcessamento> para o Protheus ou Datasul.

Criar serviço para gravar as informações na tabela de Pesagem de Matéria Prima (APPESAGEMMP).

Serviço

Campo

Campo BRG

 

Informações gravadas a partir da BRG_PESAGEMMP

ID_APPESAGEMMP

 

 

ID_APPESAGEMMP da tabela APPESAGEMMP para a pesagem salva.

NO_BOLETIM

 

 

Será gerado pelo sistema sequencialmente.

ID_UNIDADEADM

 

 

Recuperar o ID a partir da Empresa (<cdEmpresaErp>) e Filial <cdFilialErp> enviada, verificar se trabalha com Unidade Administrativa Centralizadora. Para verificar se a Empresa ERP e Filial ERP possui unidade centralizada utilizar o método (selectUnidadeAdmByERPCode) e a classe (MessageProcessor). Basicamente localizar a empresa (CD_INT_ERP da tabela EMPRESA igual a <cdEmpresaErp>), e a filial (CD_FILIAL da tabela FILIAL igual a <cdFilialErp>), com o código empresa e filial localizar o identificador da filial associada a empresa (ID_FILIAL da tabela FILIAL), com a empresa localizar a região administrativa (ID_REGIAOADM da tabela EMPRESA), com o identificador da região administrativa localizar a unidade centralizadora (ID_UNIDADEADM da tabela REGIAO_ADM), caso não tenha informação para a unidade centralizadora (ID_UNIDADEADM da tabela REGIAO_ADM), localizar a unidade administrativa pela empresa e filial (ID_FILIAL da tabela UNIDADEADM).

DT_MOVIMENTO

DT_MOVIMENTO

<dtMovimento>

Gravar com a data do Movimento enviada na integração (DT_MOVIMENTO da tabela BRG_APPESAGEMMP gravar no campo DT_MOVIMENTO tabela APPESAGEMMP).

DT_ENTRADA

DT_ENTRADA

<dtEntrada>

Gravar com a data e hora de Entrada enviada na integração (DT_ENTRADA da tabela BRG_APPESAGEMMP gravar no campo DT_ENTRADA da tabela APPESAGEMMP)

DT_SAIDA

DT_SAIDA

<dtSaida>

Gravar com a data e hora de Saída enviada na integração (DT_SAIDA da tabela BRG_APPESAGEMMP gravar no campo (DT_SAIDA da tabela APPESAGEMMP)

NO_PESAGEM

NO_PESAGEM

<noPesagem>

Gravar com o número da Pesagem enviada na integração, caso contrário não será obrigatório (NO_PESAGEM da tabela BRG_APPESAEMMP gravar no campo NO_PESAGEM da tabela APPESAGEMMP)

ID_ORDCOLHEITA

NO_ORDCOLHEITA

<“noOrdcolheita”>

Identificador da Ordem de Colheita (ID_ORDCOLHEITA da tabela ORDCOLHEITA). Recuperar a identificador da ordem de colheita pelo número da Ordem de Colheita (NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP) e pela unidade administrativa recuperada pela CD_EMPRESA_ERP e CD_FILIAL_ERP). Quando não informar o número da ordem de colheita (NO_ORDCOLHEITA vazio da tabela BRG_APPESAGEMMP) recuperar o identificador pelo ID_UPNIVEL3 da tabela ORDCOLHEITA_LC pelo CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3).

ID_UNIRECEPTORA

CD_UNI_RECEP_ERP

<cdUniRecepErp>

Recuperar o ID do cadastro de Unidade Receptora  (ID_UNIRECEPTORA da tabela UNIRECEPTORA) a partir do código enviado (CD_UNI_RECEP_ERP da tabela BRG_APPESAGEMMP deve ser igual a CD_INT_ERP da tabela UNIRECEPTORA para unidade administrativa), caso contrário recuperar o ID pela Ordem de Colheita (ID_UNIRECEPTORA da tabela ORDCOLHEITA pelo NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP para a unidade administrativa), quando não informar a ordem colheita NO_ORDCOLHEITA vazio para a tabela BRG_APPESAGEMMP, recuperar a ordem de colheita pelo ID_UPNIVEL3 da tabela ORDCOLHEITA_LC para o CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP) e não será obrigatório quando não configurado “Obrigado informar Unidade Receptora” no cadastro de Cultura/Ocupação (FG_UNIREC_PES  igual a “N” da tabela OCUPACAO), caso contrário será obrigatório informar a Unidade Receptora.

ID_EQUIPE

CD_EQUIPE

<cdEquipe>

Recuperar o ID do cadastro de Equipe (ID_EQUIPE da tabela EQUIPE) a partir do código enviado pela integração (CD_EQUIPE da tabela BRG_APPESAGEMMP deve estar na tabela EQUIPE) e quando não configurado “Obrigar a informar a Equipe” no cadastro de “Cultura/Ocupação” (FG_EQUIPE_PES igual “N” da tabela OCUPACAO), não será obrigatório, caso contrário será obrigatório informar a Equipe.

ID_UPNIVEL3

 

 

Recuperar o ID do [Talhão] da seguinte maneira:

1 - Pelo número da Ordem de Colheita (NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP igual ao NO_ORDCOLHEITA da tabela ORDCOLHEITA) para a unidade administrativa, com o identificador da ordem de colheita (ID_ORDCOLHEITA da tabela ORDCOLHEITA) recuperar o ID_UPNIVEL3 da tabela ORDCOLHEITA_LC pelo identificador da pesagem (ID_ORDCOLHEITA da tabela ORDCOLHEITA igual ID_ORDCOLHEITA da tabela ORDCOLHEITA_LC).

2 - Recuperar ID_UPNIVEL3 da tabela UPNIVEL3, pelo código da Ano Agrícola, Período de Produção, [Fazenda], [Setor] e [Talhão] (CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP) enviada na integração e verificar se o mesmo está associado a Ordem e Colheita (ID_UPNIVEL3 da tabela ORDCOLHEITA_LC recuperado a partir do número da ordem de colheita.

QT_BRUTO

QT_BRUTO

<qtBruto>

Gravar com o peso da 1ª pesagem enviada pela integração. (QT_BRUTO da tabela BRG_APPESAGEMMP gravar no campo QT_BRUTO da tabela APPESAGEMMP)

QT_TARA

QT_TARA

<qtTara>

Gravar com o peso da 2ª pesagem enviada pela integração (QT_TARA da tabela BRG_APPESAGEMMP gravar no campo QT_TARA da tabela APPESAGEMMP)

QT_LIQUIDO

 

 

Gravar com a Peso da 1ª pesagem menos Peso da 2ª pesagem (QT_BRUTO da tabela APPESAGEMMP menos QT_TARA da tabela APPESAGEMMP)

QT_LIQUIDO_DESC

 

 

Gravar com Quantidade Liquida menos a Quantidade Total de impureza (QT_LIQUIDO da tabela APPESAGEMMP – QT_TOT_IMPUREZA da tabela APPESAGEMMP)

QT_TOT_IMPUREZA

QT_TOT_IMPUREZA

<qtTotImpureza>

Gravar com o Total de Impureza enviada pela integração (QT_TOT_IMPUREZA da tabela BRG_APPESAGEMMP gravar no campo QT_TOT_IMPUREZA da tabela APPESAGEMMP)

ID_CAMINHAO

CD_EQUIPTO

<cdEquipto>

Recuperar o ID do cadastro de Equipamento (ID_EQUIPTO da tabela EQUIPTO) a partir do código enviado pela integração (CD_EQUIPTO da tabela BRG_APPESAGEMMP), caso não encontre e estiver configurado “Permite informar Caminhão não cadastrado” na configuração por unidade “Administração > Configuração por Unidade” (FG_CAMINHAO_NAO_CADASTRADO igual a “S” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “16”) o código do equipamento deverá ser gravado “CD_CAM_NCAD da tabela APPESAGEMMP”, caso contrário o código do equipamento será validado (CD_EQUIPTO da tabela BRG_APPESAGEM deve estar na tabela EQUIPTO) e deve estar disponível para a unidade administrativa recuperada (DT_EVENTO da tabela EQUIPTODISP para a DT_MOVIMENTO da tabela BRG_APPESAEMMP e unidade administrativa recuperada). Caso não venha preenchido (CD_EQUIPTO vazio da tabela BRG_APPESAGEMMP) não será obrigatório.

ID_MOTORISTA

CD_MOTORISTA_ERP

<cdMotoristaErp>

Recuperar o ID do cadastro de Funcionário (ID_FUNCIONAR da tabela FUNCIONAR) a partir do código enviado pela integração (CD_INT_ERP da tabela FUNCIONAR igual a CD_MOTORISTA_ERP da tabela BRG_APPESAGEMMP e para ID_FILIAL da FUNCIONAR igual o ID_FILIAL recuperado a partir do CD_EMPRESA_ERP e CD_FILIAL_ERP da tabela BRG_APPESAGEMMP) e disponível para a unidade administrativa recuperada (DT_EVENTO da tabela FUNCIONARDISP para a DT_MOVIMENTO da tabela BRG_APPESAEMMP e unidade administrativa recuperada),  caso contrário não será obrigatório (CD_MOTORISTA_ERP vazio da tabela BRG_APPESAGEMMP).

ID_COLHEDORA

CD_COLHEDORA

<cdColhedora>

Recuperar o ID do cadastro de Equipamento (ID_EQUIPTO da tabela EQUIPTO) a partir do código enviado pela integração (CD_COLHEDORA da tabela BRG_APPESAGEMMP deve estar na tabela EQUIPTO) e disponível para unidade administrativa recuperada (DT_EVENTO da tabela EQUIPTODISP para a DT_MOVIMENTO da tabela BRG_APPESAEMMP e unidade administrativa recuperada), caso não venha preenchido (CD_COLHEDORA vazio da tabela BRG_APPESAGEMMP) não será obrigatório.

ID_OPERADOR

CD_OPERADOR_ERP

<cdOperadorErp>

Recuperar o ID do cadastro de Funcionário (ID_FUNCIONAR da tabela FUNCIONAR) a partir do código enviado pela integração (CD_INT_ERP da tabela FUNCIONAR igual a CD_OPERADOR_ERP da tabela BRG_APPESAGEMMP e para ID_FILIAL da FUNCIONAR igual o ID_FILIAL recuperado a partir do CD_EMPRESA_ERP e CD_FILIAL_ERP da tabela BRG_APPESAGEMMP) e disponível para a unidade administrativa recuperada (DT_EVENTO da tabela FUNCIONARDISP para a DT_MOVIMENTO da tabela BRG_APPESAEMMP e unidade administrativa recuperada),  caso contrário não será obrigatório (CD_OPERADOR_ERP vazio da tabela BRG_APPESAGEMMP).

ROWVERSION

 

 

Gerado pelo sistema, controle interno.

LAST_UPDATE

 

 

Data e hora da última alteração

CHANGED_BY

 

 

Quando o serviço for executado pela integração gravar “Integração”

FG_TIPO

 

 

Gravar com “E”.

QT_PESO_1

 

 

Gravar com o Peso da 1ª pesagem enviado pela integração (QT_BRUTO da tabela BRG_APPESAGEMMP)

QT_PESO_2

 

 

Gravar com o Peso da 2ª pesagem enviada pela integração (QT_TARA da tabela BRG_APPESAGEMMP)

DT_ANALISE

 

 

Não é obrigatório (gravar vazio)

FG_DIG_PESO1

 

 

Não é obrigatório (gravar vazio)

FG_DIG_PESO2

 

 

Não é obrigatório (gravar vazio)

ID_USR1

 

 

Não é obrigatório (gravar vazio)

ID_USR2

 

 

Não é obrigatório (gravar vazio)

ID_BALANCA1

 

 

Não é obrigatório (gravar vazio)

ID_BALANCA2

 

 

Não é obrigatório (gravar vazio)

FG_STATUS_EAI

 

 

Gravar com “0” (zero)

NO_ANALISE

 

 

Não é obrigatório (gravar vazio)

NR_IDCARGA

NO_FARDAO

<noFardao>

Gravar com o número do fardão (NO_FARDAO da tabela BRG_APPESAGEM gravar no campo NR_IDCARGA da tabela APPESAGEMMP)

FG_CTRL_COL

 

 

Gravar com “S”

ID_PERIODOSAFRA

CD_PER_SAFRA

<cdPerSafra>

Recuperar o ID do cadastro Período de Produção (ID_PERIODOSAFRA da tabela PERIODOSAFRA) pelo número da ordem de colheita (NO_ORCOLHEITA da tabela BRG_APPESAGEMMP deve estar na tabela ORDCOLHEITA, com o identificador da ordem de colheita ID_ORDCOLHEITA da tabela ORDCOLHEITA, recuperar o identificador do talhão ID_UPNIVEL3 da tabela ORDCOLHEITA_LC e com o identificador do talhão recuperar o identificador do período de safra ID_PERIODOSAFRA da tabela UPNIVEL3) ou a partir do código enviado (CD_PER_SAFR da tabela BRG_APPESAGEMMP, deve estar na tabela PERIODOSAFRA) e deve estar associado a uma Ordem de Colheita (ID_UPNIVEL3 da tabela ORDCOLHEITA_LC verificar se é igual ID_PERIODOSAFRA recuperado).

ID_VARIEDADE

 

 

Recuperar o ID da Variedade associado a Ordem de Colheita (ID_VARIEDADE da tabela ORDCOLHEITA_LC) pelo número da ordem de colheita (NO_ORCOLHEITA da tabela BRG_APPESAGEMMP deve estar na tabela ORDCOLHEITA, com o identificador da ordem de colheita ID_ORDCOLHEITA da tabela ORDCOLHEITA, recuperar o ID_VARIEDADE da tabela ORDCOLHEITA_LC), caso não encontre recuperar a variedade pelo talhão (com o ID_UPNIVEL3 da tabela APPESAGEMMP, com o identificador do talhão, recuperar o ID_VAREIDADE da tabela UPNIVEL3), caso não encontre deverá localizar o ID a partir  da Cultura/Ocupação (ID_VARIEDADE da tabela OCUPACAO), recuperar o identificador do período de produção ID_PERIODOSAFRA da tabela APPESAGEMMP e com o identificador do período de safra recuperar o identificador da ocupação ID_OCUPACAO e com o identificador da ocupação recuperar o ID_VARIEDADE).

ID_PROPRIETARIO

 

 

Recuperar o ID do cadastro de [Fazenda] (ID_PROPRIETARIO da tabela UPNIVEL1) pelo número da ordem de colheita (NO_ORCOLHEITA da tabela BRG_APPESAGEMMP deve estar na tabela ORDCOLHEITA, com o identificador da ordem de colheita ID_ORDCOLHEITA da tabela ORDCOLHEITA, recuperar o identificador do talhão ID_UPNIVEL3 da tabela ORDCOLHEITA_LC, e com identificador do talhão recuperar o identificador do upnivel2 ID_UPNIVEL2 da tabela UPNIVEL3 e com o identificador do upnivel2, recuperar o identificador do upnivel1 ID_UPNIVEL1 da tabela UPNIVEL2 e com o identificador do upnivel1 recuperar o identificador do proprietário) ou recuperar o ID do cadastro de [Fazenda] (ID_PROPRIETARIO da tabela UPNIVEL1) pelo (CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP recuperar o ID_UPNIVEL3, com identificador do talhão recuperar o identificador do upnivel2 ID_UPNIVEL2 da tabela UPNIVEL3 e com o identificador do upnivel2, recuperar o identificador do upnivel1 ID_UPNIVEL1 da tabela UPNIVEL2 e com o identificador do upnivel1 recuperar o identificador do proprietário)

CD_CAM_NCAD

 

 

Será gravado com o código do Equipamento quando o mesmo não estiver cadastrado no PIMSMUlticultivos e estiver configurado “Permite informar Caminhão não cadastrado” na configuração por unidade “Administração > Configuração por Unidade” (FG_CAMINHAO_NAO_CADASTRADO igual a “S” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “16”) (CD_EQUIPTO da tabela BRG_APPESAGEMMP gravar no campo CD_CAM_NCAD).

NO_NOTA

NO_NOTA

<noNota>

Gravar com o número da Nota enviado pela integração (NO_NOTA da tabela BRG_APPESAGEMMP gravar no campo NO_NOTA da tabela APPESAGEMMP) e quando configurado no cadastro de Cultura/Ocupação “Informar o número da Nota Fiscal, Série e Tipo da Nota Fiscal na Manutenção da Pesagem, Pesagem e Registro de Colheita“ (FG_NOTA_FISCAL igual a “S” da tabela OCUPACAO), será obrigatório o número da Nota, caso contrário não será obrigatório.

NO_SERIE

NO_SERIE

<noSerie>

Gravar com o número da Série enviado pela integração (NO_SERIE da tabela BRFG_APPESAGEMMP gravar no campo NO_SERIE da tabela APPESAGEMMP) e quando configurado no cadastro de Cultura/Ocupação “Informar o número da Nota Fiscal, Série e Tipo da Nota Fiscal na Manutenção da Pesagem, Pesagem e Registro de Colheita“ (FG_NOTA_FISCAL igual a “S” da tabela OCUPACAO), será obrigatório o número da Série, caso contrário não será obrigatório

TP_NOTA

TP_NOTA

<tpNota>

Gravar com o Tipo da nota enviado pela integração (TP_NOTA da tabela BRG_APPESAGEMMP gravar no campo TP_NOTA da tabela APPESAGEMMP) e quando configurado no cadastro de Cultura/Ocupação “Informar o número da Nota Fiscal, Série e Tipo da Nota Fiscal na Manutenção da Pesagem, Pesagem e Registro de Colheita“ (FG_NOTA_FISCAL igual a “S” da tabela OCUPACAO), será obrigatório o tipo da nota, caso contrário não será obrigatório

NO_BOLETIM_EXT

NO_BOLETIM_EXT

<noBoletimExt>

Número da Pesagem Externa (NO_BOLETIM_EXT da tabela BRG_APPESAGEMMP gravar no campo NO_BOLETIM_EXT da tabela APPESAGEMMP)

ID_INSUMO

CD_PRODUTO_ERP

<cdProdutoErp>

Recuperar o ID_INSUMO pelo CD_PRODUTO_ERP enviado pela integração. Caso não seja enviando pela integração, recuperar o produto pela ordem de colheita (recuperar o ID_ORDCOLHEITA da tabela ORDCOLHEITA, pela NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP igual NO_ORDCOLHEITA da tabela ORDCOLHEITA para unidade administrativa da pesagem, com o identificador da ordem de colheita, recupera o ID_INSUMO da ORDCOLHIETA_LC, caso não encontre o produto associado a ordem de colheita, recuperar o ID_INSUMO da tabela VARIEDADE, a partir do ID_VARIEDADE da tabela APPESAGEMMP, com o identificador da variedade, recuperar o ID_INSUMO da tabela VARIEDADE, caso não encontre recuperar o produto pelo Cultura/Ocupação, recuperar o ID_PERIODOSAFRA da tabela APPESAGEMMP, com o identificador do período de produção, recuperar o ID_OCUPACAO da tabela PERIODOSAFRA, com o identificador da ocupação, recuperar o ID_INSUMO da tabela OUPACAO_PMPRIMA, caso encontre apenas um produto associado.

XML de retorno das pesagens

<cdEmpresaErp>

Será gerado com o código da Empresa ERP que enviou a pesagem.

<cdFilialErp>

Será gerado com o código da Empresa ERP que enviou a pesagem.

<dtMovimento>

Será gerado com a Data da pesagem

<noBoletimExt>

Será gerado com o número da pesagem externa

<noBoletim>

Será gerado com o número da pesagem gravada no PIMSMulticultivos

<statusPesagem>

Será gerado com o status da pesagem (1 – Sucesso, 2 – Erro ou 3 – Pesagem aguardando para ser processada)

<ocorrenciaProcessamento>

Será gerada com a ocorrência quando o status da pesagem for “2” (erro).

 

16 - Importação da Recepção de Matéria Prima.

Objetivo: Validar e importar dados de Recepção de Matéria Prima por Unidade Administrativa.

 Menu: Apontamentos > Colheita > Importação de Recepção de Matéria Prima

Entrada de Menu: COLM0018

Esboço da tela:

Dados:

Dados

Campos Obrigatórios:

-         Ação: Indica a ação a ser realizada na importação.

  • Incluir: Realiza a inclusão do registro na importação.
  • Excluir: Realiza a exclusão do registro na importação.

-         Data 1ª Pesagem: Data da primeira pesagem informada pela integração e por padrão campo desabilitado. A data da Primeira Pesagem não pode ser maior que a Data da Segunda Pesagem.

-         Hora 1ª Pesagem: Hora da primeira pesagem informada pela integração e por padrão campo desabilitado. A hora da Primeira Pesagem não pode ser maior que a Hora da Segunda Pesagem.

-         Data 2ª Pesagem: Data da segunda pesagem informada pela integração e por padrão campo desabilitado. A data da Segunda Pesagem não pode ser menor que a Data da Primeira Pesagem.

-         Hora 2ª Pesagem: Hora da segunda pesagem informada pela integração e por padrão campo desabilitado. A hora da Segunda Pesagem não pode ser menor que a Hora a Primeira Pesagem.

-         Data de Movimento: Data de Movimento da Recepção de Pesagem informado pela integração e por padrão campo desabilitado.

-         1ª Pesagem (Kg): Peso da primeira pesagem em quilos informado pela integração, por padrão campo desabilitado e deve ser maior que “0” zero informado.

-         2ª Pesagem (Kg): Peso da segunda pesagem em quilos pela integração, informado pela integração, por padrão campo desabilitado e deve ser maior que “0” zero

-         Total descontos (Kg): Total de descontos em quilos informado pela integração, por padrão campo desabilitado e deve ser maior ou igual a “0” zero.

Campos Obrigatórios condicionalmente:

-         Ordem de Colheita: Número da Ordem de Colheita informado pela integração e por padrão campo desabilitado. A Ordem de Colheita é obrigatória quando não forem informados os campos “Ano Agrícola”, “Período de Produção”, “[Fazenda]”, “[Setor]” e “[Talhão]”, quando configurado “Utiliza Ano Agrícola” e “Utiliza [Setor], em “Administração > Configurações dos Locais de Produção” ou “Período de Produção”, “[Fazenda] e [Talhão], quando não configurado “Utiliza Ano Agrícola” e “Utiliza [Setor]” em “Administração > Configurações dos Locais de Produção”. A Ordem de Colheita deve estar previamente cadastrada e não pode estar encerrada.

-         Unidade Receptora ERP: Unidade Receptora ERP a qual está sendo entregue a Matéria Prima informado pela integração e por padrão campo desabilitado. Quando informado deve estar previamente cadastrado para a unidade administrativa corrente.

-         Ano Agrícola: Ano Agrícola a qual pertence o Local de Produção informado pela integração e por padrão campo desabilitado. Campo obrigatório quando não informado a Ordem de Colheita e estiver configurado “Utiliza Ano Agrícola” em “Administração > Configuração do Local de Produção”, campo invisível quando não configurado “Utiliza Ano Agrícola” em “Administração > Configurações dos Locais de Produção”. Quando informado, o Ano Agrícola deve estar previamente cadastrado.

-         Período de Produção: Período de Produção ao qual pertence o Local de Produção informado pela integração e por padrão campo desabilitado. Campo obrigatório quando não informada a Ordem de Colheita. Quando informado, o Período de Produção deve estar previamente cadastrado.

-         [Fazenda]: [Fazenda] a qual pertence o Local de Produção informado pela integração e por padrão campo desabilitado. Campo obrigatório quando não informada a Ordem de Colheita. Quando informada, a [Fazenda] deve estar previamente cadastrada para a Unidade Administrativa corrente.

-         [Setor]: [Setor] ao qual pertence o Local de Produção informado pela integração. Campo visível e obrigatório quando não informada a Ordem de Colheita e estiver configurado “Utiliza “[Setor]” em “Administração > Configuração do Local de Produção”, campo invisível quando não configurado “Utiliza [Setor]” em “Administração > Configurações dos Locais de Produção”. Quando informado, o [Setor] deve estar previamente cadastrado para a [Fazenda] informada.

-         [Talhão]: Local de Produção a qual se refere a Produção informado pela integração e por padrão campo desabilitado. Campo obrigatório quando não informada a Ordem de Colheita. Quando informado, o [Talhão] deve estar previamente cadastrado para o [Setor], quando configurado “Utiliza [Setor]” em “Administração > Configuração do Local de Produção” e Período de Produção informado ou deve estar cadastrado para a [Fazenda], quando não configurado “Utiliza o [Setor]” em “Administração > Configurações do Locais de Produção” e Período de Produção informado.

-         Equipamento: Equipamento utilizado para fazer o transporte da colheita informado pela integração e por padrão campo desabilitado. Quando configurado “Permite informar Caminhão não cadastrado” no Grupo de Configuração “Pesagem” em “Administração > Configuração por Unidade” permitir informar o equipamento não cadastrado e será emitida a mensagem “Não cadastrado” na descrição do campo Caminhão, caso contrário o equipamento informado deve estar previamente cadastrado e disponível para Unidade Administrativa corrente.

-         Nota Fiscal: Número da Nota Fiscal informado pela integração e por padrão campo desabilitado. Campo obrigatório quando configurado na Cultura/Ocupação “Informar o número da Nota Fiscal, Série e Tipo da Nota Fiscal na Manutenção da Pesagem, Pesagem e Registro de Colheita”, caso contrário o campo não será obrigatório.

-         Série: Número da Série da Nota Fiscal informado pela integração e por padrão campo desabilitado. Campo obrigatório quando configurado na Cultura/Ocupação “Informar o número da Nota Fiscal, Série e Tipo da Nota Fiscal na Manutenção da Pesagem, Pesagem e Registro de Colheita”, caso contrário o campo não será obrigatório.

-         Tipo: Tipo da Nota Fiscal informado pela integração e por padrão campo desabilitado. Campo obrigatório quando configurado na Cultura/Ocupação “Informar o número da Nota Fiscal, Série e Tipo da Nota na Manutenção da Pesagem, Pesagem e Registro de Colheita”, caso contrário o campo não será obrigatório. Quando tipo da Nota Fiscal possuir valor o mesmo não será atualizado.

Demais Campos:

-         Ordem de Colheita Externa: Número da Ordem de Colheita realizado por sistema externo ao PIMSMulticultivos informado pela integração e por padrão campo desabilitado.

-         Número Documento: Número do documento utilizado na viagem (se aplicável) informado pela integração e por padrão campo desabilitado. Pode ser número da NF, número de Guia de Trânsito Livre ou qualquer outro número de controle.

-         Número Pesagem Externa: Número da pesagem realizada por sistema externo ao PIMSMulticultivos informado pela integração e por padrão campo desabilitado. Se informado, não é permitido possuir o mesmo Número de Pesagem para a mesma Unidade Administrativa quando não trabalha com Unidade Administrativa Centralizadora.

-         Ocupação: Cultura/Ocupação referente à Pesagem informado pela integração e por padrão campo desabilitado. Quando informado deve estar previamente cadastrado e associado a Ordem de Colheita ou ao Local de Produção.

-         Produto ERP: Produto ERP referente à Pesagem informada pela integração e por padrão campo desabilitado. Quando informado deve estar previamente cadastrado.

-        Equipe: Equipe de colheita informado pela integração e por padrão campo desabilitado. Quando informado a Equipe deve estar previamente cadastrado para Unidade Administrativa corrente e deve estar associada a Ordem de Colheita quando informada.

-         Motorista ERP: Código do Motorista ERP referente a Pesagem informado pela integração e por padrão campo desabilitado. Quando informado deve estar previamente cadastrado e disponível para Unidade Administrativa corrente.

-         Colhedora: Código da Colhedora referente a colheita informado pela integração e por padrão campo desabilitado. Quando informado deve estar previamente cadastrada e disponível para Unidade Administrativa corrente.

-         Operador ERP: Código do Operador ERP referente a Pesagem informado pela integração e por padrão campo desabilitado. Quando informado deve estar previamente cadastrado e disponível para Unidade Administrativa corrente.

-        Sistema de Colheita: Código do Sistema de Colheita referente a colheita informado pela integração e por padrão campo desabilitado. Quando informado o Sistema de Colheita deve estar previamente cadastrado para Unidade Administrativa corrente e deve estar associada a Ordem de Colheita quando informada.

-         Data da Ordem: Data da Ordem de Colheita informado pela integração e por padrão campo desabilitado.

-         Área da Ordem: Área do talhão que deve ser colhida informado pela integração e por padrão campo desabilitado.

-         Estimativa (kg) da Ordem: Estimativa de colheita para o talhão que deve ser colhido informado pela integração e por padrão campo desabilitado.

-         Número do Fardão: Número de identificação da Carga informado pela integração e por padrão campo desabilitado, no caso de algodão é conhecido como “número do fardão”. Campo obrigatório quando configurado “Usar “Nº de Id. da Carga” na pesagem” no Grupo “Recepção de Matéria Prima” em “Tabelas > Culturas > Cultura/Ocupação”, caso contrário não será obrigatório.

-         Ocorrência na Validação: Ocorrência identificada na validação da importação da Recepção de Matéria Prima. Quando possuir valor identifica que o registro está inválido. Campo desabilitado ao usuário.

Demais Funcionalidades:

-         Validar: São realizadas as seguintes validações para a importação:

              Validação da pesagem quando a Ação for Incluir:

  • É verificado se há Ordem de Colheita informada ou Ano Agrícola, Período de Produção, [Fazenda], [Setor] e [Talhão] informado, quando configurado “Utiliza Ano Agrícola” e “Utiliza [Setor]” em “Administração > Configuração do Local de Produção” ou Período de Produção, [Fazenda] e [Talhão] quando não configurado “Utiliza Ano Agrícola” e “Utiliza [Setor]” em “Administração > Configuração do Local de Produção” ou Período de Produção, [Fazenda], [Setor] e [Talhão], quando não configurado “Utiliza Ano Agrícola” e configurado que “Utiliza [Setor]” em “Administração > Configuração do Local de Produção” ou Ano Agrícola, Período de Produção, [Fazenda] e [Talhão], quando configurado “Utiliza Ano Agrícola” e não configurado “Utiliza [Setor]” em “Administração > Configuração do Local de Produção”. Se não existir nem Ordem de Colheita informada e nem Ano Agrícola, Período de produção, [Fazenda], [Setor] e [Talhão] quando configurado “Utiliza Ano Agrícola” e “Utiliza [Setor]” em “Administração > Configuração do Local de Produção” gerar a ocorrência “Ordem de Colheita ou Ano Agrícola, Período de Produção, [Fazenda], [Setor] e [Talhão] não informado”, se não existir Ordem de Colheita e nem Período de Produção, [Fazenda] e [Talhão] quando não configurado “Utiliza Ano Agrícola”, “Utiliza [Setor]” em “Administração > Configuração dos Local de Produção” gerar a ocorrência “Ordem de Colheita ou Período de Produção, [Fazenda] e [Talhão]” não informado”, se não existir Ordem de Colheita e nem Período de Produção, [Fazenda], [Setor] e [Talhão], quando não configurado “Utiliza Ano Agrícola” e configurado “Utiliza [Setor]” em “Administração > Configuração do Local de Produção” gerar a ocorrência “Ordem de Colheita ou Período de Produção, [Fazenda], [Setor] e [Talhão] não informado” e se não existir Ordem de Colheita e nem Ano Agrícola, Período de Produção, [Fazenda] e [Talhão] quando configurado “Utiliza Ano Agrícola” e não configurado “Utiliza [Setor]” em “Administração > Configuração do Local de Produção” gerar a ocorrência “Ordem de Colheita ou Ano Agrícola, Período de Produção, [Fazenda] e [Talhão] não informado”.
  • Quando configurado “Ordem de Colheita compartilhada entre unidades (S/N)”, nos parâmetros gerais o número da Ordem de Colheita deve estar previamente cadastrado, caso contrário, o Número da Ordem de Colheita deve estar cadastrado para a Unidade Administrativa.
    • Quando o Número da Ordem de Colheita não estiver cadastrado e estiver configurado “Ordem de Colheita compartilhada entre unidades (S/N)” nos parâmetros gerais, gerar a ocorrência “Ordem de Colheita (Número) invalida”, caso contrário, gerar ocorrência “Ordem de Colheita (Número) invalida para a Unidade Administrativa (Descrição)”.Se informada Ordem de Colheita válida, é verificado se há Local de Produção para a Ordem de Colheita, caso não exista é gerada a ocorrência “Ordem de Colheita sem Local de Produção”.
  • Se informada a Ordem de Colheita e o Local de Produção, é verificado se o Local de Produção é o mesmo da Ordem de Colheita, caso não seja é gerada a ocorrência: “Local de Produção não corresponde ao Local de Produção da Ordem de Colheita.”.
  • Se informada a Ordem de Colheita é verificada se a mesma está aberta, caso não esteja é gerada a ocorrência: “Ordem de Colheita já encerrada.”.
  • Se não informado a Ordem de Colheita e quando configurado “Utiliza Ano Agrícola” em “Administração > Configurações do Local de Produção”, e o Ano Agrícola for informado o mesmo deve estar previamente cadastrado, caso não esteja gerar ocorrência “Ano Agrícola inválido”, caso o Ano Agrícola não for informado recuperar o Ano Agrícola pelo Período de Produção, caso existe mais de uma Período de Produção, gerar ocorrência “Não foi possível recuperar o Ano Agrícola pelo Período de Produção”, caso o Período de Produção não for informado gerar ocorrência “Orem de Colheita não informada e Ano Agrícola inválido”.
  • Se não informado a Ordem de Colheita e quando não configurado “Utiliza Ano Agrícola” em “Administração > Configurações do Local de Produção”, e o Ano Agrícola não for informado recuperar o Ano Agrícola pelo Período de Produção.
  • Se não informada a Ordem de Colheita e estiver configurado “Utiliza Ano Agrícola” em “Administração > Configuração do Local de Produção” é verificado se o Período de Produção está associado ao Ano agrícola, caso não esteja é gerada a ocorrência “Ordem de Colheita não informada e Período de Produção não associado ao Ano Agrícola”, caso contrário, é gerado a ocorrência “Ordem e Colheita não informada e Período de Produção invalido”.
  • Se não informada a Ordem de Colheita é verificado se a [Fazenda] está cadastrada para a Unidade Administrativa corrente, caso não esteja é gerada a ocorrência “Ordem de Colheita não informada e [Fazenda] inválida”.
  • Se informada a [Fazenda] é verificado se a mesma está cadastrada para a Unidade Administrativa corrente, caso não esteja é gerada a ocorrência: “[Fazenda] (Código) não cadastrada para a Unidade Administrativa (Descrição)”.
  • Se não informada a Ordem de Colheita, e estiver configurado “Utiliza [Setor] na Configuração do Local de Produção em “Administração > Configuração do Local de Produção”, é verificado se o [Setor] está associado para a [Fazenda] informada, caso não esteja é gerada a ocorrência “Ordem de Colheita não informado e [Setor] não associado a [Fazenda]”, caso contrário o [Setor] não será obrigatório.
  • Se não informada a Ordem de Colheita, e estivar configurado “Utiliza [Setor]” na Configuração do Local de Produção em “Administração > Configuração do Local de Produção”, é verificado se o [Talhão] está associado ao [Setor] e Período de Produção informado, caso não esteja é gerada a ocorrência “Ordem de Colheita não informado e [Talhão] não associado ao [Setor]”, caso contrário é gerada ocorrência “Ordem de Colheita não informada e [Talhão] não associado a [Fazenda]”.
  • É verificada se a Data de Movimento foi informada, caso não esteja informada é gerada a ocorrência: “Data de movimento inválida”.
  • É verificado se a Data de Entrada foi informada, caso não esteja informado é gerado a ocorrência “Data de Entrada inválida”.
  • É verificado se a Data de Entrada é maior que a Data de Saída, caso seja é gerado a ocorrência “Data de Entrada maior que a Data de Saída”.
  • É verificado se a Hora de Entrada foi informada, caso não esteja informado é gerado a ocorrência “Hora de Entrada inválida”.
  • É verificado se a Hora de Entrada é maior que a Hora de Saída, caso seja é gerado a ocorrência “Hora de Entrada maior que a Hora de Saída”.
  • É verificado se a Data de Saída foi informada, caso não esteja informado é gerado a ocorrência “Data de Saída inválida”.
  • É verificado se a Data de Saída é menor que a Data de Entrada, caso seja é gerado a ocorrência “Data de Saída menor que a Data de Entrada”.
  • É verificado se a Hora de Saída foi informada, caso não esteja informado é gerado a ocorrência “Hora de Saída inválida”.
  • É verificado se a Hora de Saída é menor que a Hora de Entrada, caso seja é gerado a ocorrência “Hora de Saída menor que a Hora de Entrada”.
  • Se o custo já estiver fechado para a Data de Movimento será gerada a ocorrência “Custo já fechado para essa Data”.
  • Quando for atualizar a Pesagem verificar se a mesma já foi processada pelo Pagamento de Serviço, caso foi processada gerar ocorrência “Pesagem processada pelo Processamento de Pagamento de Serviço”, caso contrário atualizar a pesagem.
  • Se informado o Local de Produção e não informada a Ordem de Colheita, é verificado se há Ordem de Colheita para o Local de Produção informado, se existir Ordem de Colheita para o Local de Produção é verificado se há Ordem de Colheita aberta para o Local de Produção, se não existir Ordem de Colheita aberta para o Local de Produção é verificado se a soma das áreas das Ordens de Colheita é igual à área produtiva do Local de Produção, se a soma das áreas for igual à área produtiva é gerada a ocorrência: “Ordem de Colheita já encerrada para o Local de Produção”.
  • Se informada a Unidade Receptora ERP é verificado se a mesma está previamente cadastrada para a Unidade Administrativa da pesagem, se não estiver cadastrada é gerada a ocorrência: “Unidade Receptora inválida”. 
  • Quando a Unidade Receptora ERP não for informada pela integração, recuperar a Unidade Receptora pela Ordem de Colheita (quando informada) e quando não estiver configurado “Obrigar a informar Unidade Receptora” para grupo “Recepção de Matéria Prima” para o grupo “Recepção de Matéria Prima” em “Tabelas > Culturas > Culturas / Ocupação” o campo não será obrigatório, caso contrário gerar ocorrência “Unidade Receptora requerida”.
  • Se não informada a Unidade Receptora ERP e nem a Ordem de Colheita, é verificado se há Ordem de Colheita aberta para o Local de Produção, se não houver Ordem de Colheita aberta para o Local de Produção é quando configurado “Obrigar a informar Unidade Receptora” para o grupo “Ordem de Colheita” em “Tabelas > Culturas > Cultura /  Ocupação” a Unidade Receptora é obrigatória na Ordem de Colheita para a Cultura/Ocupação, se for obrigatória é gerada a ocorrência: “Unidade Receptora é obrigatória para a Ordem de Colheita.”.
  • Se informado a Ocupação é verificado se a mesma está previamente cadastrada e deve ser a mesma do [Talhão] da Ordem de Colheita (quando informada) ou do Local de Produção, caso não estiver cadastrado é gerado a ocorrência “Ocupação inválida”, caso não seja a mesmo da Ordem de Colheita ou do Local de Produção é gerado a ocorrência “Ocupação diferente da Ordem de Colheita ou do Local de Produção”.
  • Se informado o Produto ERP é verificado se o mesmo está previamente cadastrado, caso não esteja cadastrado é gerado a ocorrência “Produto ERP inválido”, caso encontre mais de um Produto associado ao Produto ERP gerar a ocorrência “Existe mais de uma Produto associado ao Produto ERP”, caso não seja informado não será obrigatório.
  • Se configurado “Obrigar a informar a Equipe” para o grupo “Recepção de Matéria Prima” em “Tabelas > Culturas > Cultura / Ocupação”, é verificado se foi informada a Ordem de Colheita, e se não foi informado o Ano Agrícola, Período de Produção, [Fazenda], [Setor] e [Talhão] ou se não foi possível localizar a Ordem de Colheita pelo Ano Agrícola, Período de Produção, [Fazenda], [Setor] e [Talhão], se não foi possível recuperar a ordem de colheita, é gerada a ocorrência: “Equipe configurada como obrigatória na Pesagem para a Cultura/Ocupação, porém não foi informada a Ordem de Colheita”, caso contrário a Equipe não será obrigatória.
  • Se informado a Equipe pela Integração, a mesma deve estar previamente cadastrada para a unidade administrativa corrente e deve ser igual a Equipe da Ordem de Colheita, caso não esteja cadastrada gerar ocorrência “Equipe inválida”, caso não seja a mesma da Ordem de Colheita gerar ocorrência “Equipe diferente da Ordem de Colheita”.
  • Quando o Equipamento for informado e estiver configurado “Permite informar caminhão não cadastrado” na seção “Pesagem” em “Administração > Configuração por Unidade”, e o mesmo não estiver cadastrado o Equipamento não será obrigatório e o código será gravado em “CD_CAM_NCAD na tabela APPESAGEMMP”, caso contrário o Equipamento será obrigatório e deve estar cadastrado e disponível para a Unidade Administrativa.
    • Quando o Equipamento for informado e não estiver configurado “Permite informar caminhão não cadastrado” na seção “Pesagem” em “Administração > Configuração por Unidade” e não estiver cadastrado ou disponível para Unidade Administrativa” gerar ocorrência “Equipamento (Código) não cadastrado ou disponível para Unidade Administrativa”.
  • Quando informar o código do Motorista ERP, o mesmo deve estar cadastrado e disponível para unidade administrativa corrente, caso o Motorista ERP não esteja cadastrado ou disponível gerar a ocorrência “Funcionário (código) não está cadastrado ou não está disponível”.
  • Quando informar o código da colhedora, a mesma deve estar cadastrada e disponível para unidade administrativa corrente, caso a colhedora não esteja cadastrada ou disponível gerar a ocorrência “Colhedora (código) não está cadastrada ou não está disponível”.
  • Quando informar o código do Operador ERP, o mesmo deve estar cadastrado e disponível para unidade administrativa corrente, caso o operador não esteja cadastrado ou disponível gerar a ocorrência “Operador (código) não está cadastro ou não está disponível”.
  • Quando informar o Sistema de Colheita, o mesmo deve estar cadastrado e deve ser o mesmo da Ordem de Colheita (quando informado), caso não esteja cadastrado gerar ocorrência “Sistema de Colheita inválido”, caso não seja o mesmo da Ordem de Colheita gerar a ocorrência “Sistema de Colheita informado diferente da Ordem de Colheita”.
  • Número do Fardão é obrigatório quando configurado “Usar “Nº de Id. da Carga” na pesagem” no Grupo “Recepção de Matéria Prima” em “Tabelas > Culturas > Cultura/Ocupação”, caso não seja informado gerar ocorrência “Número do Fardão inválido”, caso contrário não será obrigatório.
  • A 1ª Pesagem (kg) deve ser maior que 0 (zero).
    • Quando a 1ª Pesagem (kg) for menor ou igual a 0 (zero) gerar ocorrência “1ª Pesagem deve ser positiva e maior que zero”.
  • A 2ª Pesagem (kg) deve ser maior que 0 (zero).
    • Quando a 2ª Pesagem (kg) for menor ou igual a 0 (zero) gerar ocorrência “2ª Pesagem (kg) deve ser positiva e maior que zero”.
  • Total de Descontos (kg) deve ser maior ou igual a 0 (zero).
    • Quando o Total de Descontos (kg) for menor que 0 (zero) gerar ocorrência “Total de Descontos (kg) deve ser positivo”.
  • Se não informado o Número da Nota e estiver configurado “Informar o número da Nota Fiscal, Série e Tipo da Nota Fiscal na Manutenção da Pesagem, Pesagem e Registro de Colheita” em “Tabelas > Culturas > Culturas / Ocupação”, gerar ocorrência “Número da Nota Fiscal requerida”, caso contrário o Número da Nota Fiscal não é obrigatório.
  • Se não informado o Número da Série e estiver configurado “Informar o número da Nota Fiscal, Série e Tipo da Nota Fiscal na Manutenção da Pesagem, Pesagem e Registro de Colheita”, em “Tabelas > Culturas > Culturas / Ocupação” gerar ocorrência “Número da Série da Nota Fiscal é requerida”, caso contrário o Número da Série da Nota Fiscal não é obrigatório”;
  • Se não informado o Tipo da Nota Fiscal e estiver configurado “Informar o número da Nota Fiscal, Série e Tipo da Nota Fiscal na Manutenção da Pesagem, Pesagem e Registro de Colheita”, em “Tabelas > Culturas > Culturas / Ocupação” gerar ocorrência “Tipo da Nota Fiscal requerida”, caso contrário o Tipo da Nota Fiscal não é obrigatório.
  • Se informado o [Talhão] é verificado se o mesmo está cadastrado para a Ano Agrícola, Período de produção, [Fazenda], [Setor], caso não esteja será gerada a ocorrência: “[Talhão] não cadastrado para a Ano Agrícola, Período de Produção, [Fazenda] e [Setor] informada.”.
  • Se não informada a Ordem de Colheita, é verificado se há Ordem de Colheita aberta para o Local de Produção informado, se não houver é verificado se há Estimativa/ha enviada, se não houver é verificado se há Estimativa/ha para o Local de Produção com data menor ou igual à data de movimento, se não houver é verificado se há Estimativa/ha padrão configurada para a Cultura/Ocupação do Local de Produção, se não houver é gerada a ocorrência: “Estimativa/ha padrão não configurada para a Cultura/Ocupação, com isso não é possível gerar a Ordem de Colheita”.
  • Se não informada a Ordem de Colheita e estiver configurado que é obrigatório o Sistema de Colheita na Ordem de Colheita para a Cultura/Ocupação, é verificado se há Ordem de Colheita aberta para o Local de Produção informado, se não houver é verificado se há Sistema de Colheita configurado para o Local de Produção, se não houver é gerada a ocorrência: “Sistema de Colheita é obrigatório na Ordem de Colheita para a Cultura/Ocupação, porém não há Sistema de Colheita configurado para o Local de Produção”.
  • Se não informada a Ordem de Colheita, é verificado se há Ordem de Colheita aberta para o Local de Produção informado, se não houver é verificado se há Variedade informada para o Local de Produção, se não houver, é verificado se há Variedade para a Ocupação do Local de Produção, se não houver, é gerada a ocorrência: “Variedade não configurada para a Local de Produção ou para a Ocupação, com isso não é possível gerar a Ordem de Colheita”.

Regras para identificar qual o produto utilizado para gerar estoque:

o    Quando configurado “Finalizar a Pesagem após recebimento de Matéria Prima pela integração com ERP” para o grupo de configuração “Pesagem” em “Administração > Configurações Gerais”.

  •          Primeiro verifica se há produto Matéria Prima informado na Pesagem, se existir será esse o produto utilizado para integrar com o estoque.
  •     Se não possuir produto Matéria Prima informado na Pesagem, o sistema utilizará o produto Matéria Prima da Ordem de Colheita (quando informada), se existir será esse o produto utilizado para integrar com o estoque.
  •      Se não possuir produto Matéria Prima configurado na ordem de Colheita, o sistema utilizará o produto Matéria Prima configurado para a Variedade, se existir será esse o produto utilizado para integrar com o estoque.
  •       Se não possuir produto Matéria Prima configurado para a Variedade, o sistema utilizará o produto Matéria Prima configurado para a Cultura/Ocupação, quando possuir apenas um produto Matéria Prima configurado.
  •            Se não existir produto configurado para a Pesagem, nem para a Ordem de Colheita, nem para Variedade, nem para a Cultura/Ocupação ou a Cultura/Ocupação possui mais de uma produto associado e a Unidade Receptora estiver configurada para integrar com o estoque, gerar a ocorrência “Não há produto Matéria Prima configurado para essa Pesagem ou Ordem de Colheita ou Variedade ou Cultura/Ocupação ou a Cultura/ocupação possui mais de uma produto associado, pesagem não Finalizada!” e não irá integrar com estoque.

o    Quando configurado “Finalizar a Pesagem após recebimento de Matéria Prima pela integração com ERP” para o grupo de configuração “Pesagem” em “Administração > Configurações Gerais” e configurado que “Todas as Pesagens são Analisadas” para o grupo “Recepção de Matéria Prima” em “Tabelas > Culturas > Cultura/Ocupação” a qual pertence a Pesagem e não possuir Análise para a Pesagem, será gerada a ocorrência “É obrigatório realizar Análise de Matéria Prima para a Pesagem”, caso contrário não será obrigatório     

o    Se informado o Produto ERP pela Integração, o mesmo deve estar previamente cadastrado, caso não esteja cadastrado gerar a ocorrência “Produto ERP inválido”, caso encontre mais de uma Produto associado ao Produto ERP, gerar a ocorrência “Existe mais de um Produto associado ao Produto ERP”.

o    É verificado se “Necessita de Contrato de Venda da Produção para produto Matéria Prima”, para o grupo “Receitas” em “Tabelas > Culturas > Culturas/Ocupação”. Se estiver configurado que necessita de Contrato e a pesagem possui Controle de Colheita, será localizado o Contrato vigente de acordo com a Data de Movimento para o Local de Produção da Ordem de Colheita ou Local de Produção informado. Se não existir contrato é gerada a ocorrência: “Não há Contrato de Venda da Produção vigente nessa Data de Movimento para o Local de Produção e Produto.  

o    Se possuir contrato de venda vigente será verificado se há algum Produto informado no contrato. Se existir algum produto no contrato é verificado se o produto ao qual se refere na pesagem está no contrato e caso não exista será gerada a ocorrência: “Não há Contrato de Venda da Produção vigente nessa Data de Movimento para o Local de Produção e Produto”.

Regras para identificar qual o produto utilizado para verificar se tem contrato:

  • Primeiro verifica se há produto Matéria Prima informado na Pesagem, se existir será esse o produto utilizado para integrar com o estoque.
  • Se não possuir produto Matéria Prima informado na Pesagem, o sistema utilizará o produto Matéria Prima da Ordem de Colheita (quando informada), se existir será esse o produto utilizado para integrar com o estoque.
  • Se não possuir produto Matéria Prima configurado na ordem de Colheita, o sistema utilizará o produto Matéria Prima configurado para a Variedade, se existir será esse o produto utilizado para integrar com o estoque.
  • Se não possuir produto Matéria Prima configurado para a Variedade o sistema utilizará o produto Matéria Prima configurado para a Cultura/Ocupação, quando possuir apenas um produto Matéria Prima configurado.
  • Regras para identificar a quantidade a ser integrada, quando configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Geais”:
    • É verificada se a Unidade de Medida do Produto é “Kg-Quilo”, se for, a quantidade bruta, quantidade tara e total de descontos integrada será o peso Final. A unidade de medida “Kg-Quilo” deve estar configurada em (Administração > Configurações Gerais – Grupo de Configuração “Unidade de Medida”). Se não possuir a unidade de medida configurada como “Kg-Quilo” gerar a ocorrência “Unidade de Medida Quilo não configurada”.
    • Se a Unidade de Medida do produto for diferente de “Kg-Quilo”, o sistema irá buscar o Conversor de Unidade de Medida (Tabelas > Básicos > Conversor para Unidade de Medida) que converterá “Quilo” para a Unidade de Medida do Produto. Será aplicado o fator do conversor de Unidade de Medida para converter os Quilos para a quantidade a ser considerada como produção. Se não possuir conversor de unidade de medida que converta Quilo para a Unidade de Medida do Produto, será gerada a ocorrência “Não há Conversor de Unidade de Medida de Quilo para a Unidade de Medida do Produto Matéria Prima”.
    • Quando estiver configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP”, em “Administração > Configurações Gerais” e estiver configurado “Enviar o recebimento de Matéria Prima para integração com o ERP” em “Administração > Configurações Gerais”, a Unidade Receptora será obrigatório para finalizar a pesagem, caso não seja informada gerar ocorrência “Unidade Receptora inválida na finalização da Pesagem de Matéria Prima”.
    • Quando estiver configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP”, em “Administração > Configurações Gerais”, e não estiver configurado “Enviar o recebimento de Matéria Prima para integração com ERP”, em “Administração > Configurações Gerais” a Unidade Receptora não será obrigatório para finalizar a pesagem.
    • Quando não estiver configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com ERP”, em “Administração > Configurações Gerais”, a Unidade Receptora não será obrigatória.
    • Quando for um alteração de Pesagem de Matéria Prima e quando configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Gerais” e quando configurado “Enviar o recebimento de Matéria Prima para integração ERP” em “Administração > Configurações Gerais” e a Unidade Receptora está configurada para integrar, quando a tabela de produção estiver com status “2” (enviado para o ERP) e na tabela temporária com status “1” (em execução), gerar a ocorrência “Pesagem em processamento pelo ERP), quando o status da tabela de produção estiver com status “15” (processado com Sucesso pelo ERP) e a tabela temporária estiver com status “2” (enviado para o ERP), gerar a ocorrência “Pesagem enviada para ERP aguardando execução”, quando a tabela de produção estiver com status “15” (processado com Sucesso pelo ERP) e a tabela temporária estiver com status “4” (Valorizado com Sucesso pelo ERP), gerar a ocorrência “Pesagem Enviada para ERP aguardando valorização), quando a tabela de produção estiver com status “4” (valorizado com Sucesso pelo ERP) e a tabela temporária estiver com status “6” (valorizado pelo PIMS), gerar a ocorrência “Pesagem Enviada para ERP e integrada com sucesso”, quando a tabela de produção estiver com status “11” (em execução do Estorno) e a tabela temporária estiver com status “10” (Aguardando Execução do Estorno), gerar a ocorrência “pesagem Enviada para ERP aguardando estorno”, quando a tabela de produção estiver com status “12” (Erro na execução do estorno pelo ERP) e a tabela temporária estiver com status “12” (erro na execução do estorno pelo ERP), gerar a ocorrência “Pesagem Enviada para ERP com erro no estorno”.

Validação da pesagem quando a Ação for excluir:

  • Não permitir excluir uma pesagem quando custo estiver processado, caso esteja processamento gerar ocorrência “Custo já fechado para essa Data”.
  • Não permitir excluir uma pesagem processado pelo pagamento de serviço, caso já esteja processado gerar a ocorrência “Pesagem processada pelo Processamento de Pagamento de Serviço”.
  • Não permitir excluir uma pesagem quando o status da tabela de produção estiver com status “3” (erro no processamento pelo ERP) e o status da tabela temporária estiver com “5” (erro na atualização pelo PIMS) ou quando o status da tabela de produção estiver com status “2” (enviado para ERP) e o status da tabela temporária estiver com “1” (em execução) ou a tabela de produção estiver com status “15” (Processado com Sucesso pelo ERP) e a status da tabela temporária estiver com “2” (Enviado para ERP) ou a tabela de produção estiver com status “15” (processado com Sucesso pelo ERP) e status da tabela intermediária estiver com “4” (Valorizado com Sucesso pelo ERP) ou a tabela de produção estiver com status “4” (Valorizado com Sucesso pelo ERP) e o status da tabela intermediária estiver “6” (Valorizado pelo PIMS) ou a tabela de produção estiver com status “11” (Em execução do Estorno) e o status da tabela temporária estiver com “10” (Aguardando Execução do Estorno) ou se a tabela de produção estiver com status “12” (Erro na execução do estorno pelo ERP) e o status da tabela intermediária estiver com “12” (Erro na execução do estorno pelo ERP).

Fluxo de validação:

-         Importar: Importação de todos os registros com status igual “0” Aguardado processamento na tabela temporária. A importação é realizada para todos os registros pendentes de importação, independente dos filtros aplicados na tela. Após a importação os filtros são limpos e são carregados os registros com erro na importação, ou seja, registros que ficaram pendentes de importação. A importação é realizada seguindo a ordem que os registros foram enviados. Na importação os registros são validados e somente são importados os registros válidos.

Passos para importação:

  • Validação do registro (processo descrito no passo de validação).
  • Quando a pesagem não existe na tabela oficial e a ação for de inclusão, o Serviço do PIMSMulticultivos busca todas a pesagens com status igual a “0” (Aguardando Processamento), que vai alterar o status da tabela temporária para “1” (em processamento), gravar a tabela oficial e quando não configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Gerais” não chamar o Serviço para finalizar a pesagem na tabela oficial, caso contrário chamar o Serviço para finalizar a pesagem na tabela oficial, se configurado, “Enviar o recebimento de Matéria Prima para integração com ERP” em “Administração > Configurações Gerais”, gerar a tabela de produção e na tabela intermediária, caso contrário, gerar a tabela de produção.
    • Caso não exista erro para salvar e finalizar a pesagem na tabela oficial, a pesagem será salva na tabela oficial e o Serviço do PIMSMulticultivos irá gravar o identificador da pesagem, o status para “2” – Processamento com Sucesso, apagar as ocorrências do processamento  e definir que não enviou o retorno na tabela temporária, e será definido um Serviço agendado que vai buscar todas as pesagens com status igual “2” e com o retorno da ocorrência igual “N” na tabela temporária e enviar a mensagem de retorno com status “1” (sucesso) para o ERP que irá marcar que a pesagem foi integrada e alterar a tabela temporária definindo que efetuou o retorno.
    • Caso exista erro para salvar ou finalizar a pesagem na tabela oficial, a pesagem não será salva na tabela oficial e o Serviço do PIMSMulticultivos irá alterar o status para “3” Erro no processamento, a ocorrência de processamento e definir que não enviou retorno na tabela temporária, e será definido um Serviço agendado que vai buscar todas a pesagens com status igual a “3” Erro no processamento e com o retorno da ocorrência igual a “N” na tabela temporária e enviar a mensagem de retorno com status “2” (erro) e a ocorrência de processamento encontrada para o ERP marcar que a pesagem não foi integrada, a ocorrência de processamento, para que a mesma seja corrigida e enviada novamente e alterar a tabela temporária definindo que enviou o retorno.
  • Quando a pesagem existe na tabela oficial e a ação é de inclusão, o Serviço do PIMSMulticultivos vai buscar todas as pesagens com status igual a “0” (Aguardando Processamento) que vai alterar o status da tabela temporária para “1” (em processamento), remover as ocorrências de processamento e definir que não enviou retorno das ocorrências, alterar a pesagem na tabela oficial e quando não configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Gerais” alterar a pesagem na tabela oficial, caso contrário, se configurado, “Enviar o recebimento de Matéria prima para integração com ERP” em “Administração > Configurações Gerais”, alterar a tabela de produção e a tabela intermediária, caso contrário, alterar a pesagem na tabela de produção.
    • Caso não exista erro para alterar a pesagem na tabela oficial, o Serviço do PIMSMulticultivos irá gravar o identificador da pesagem, o status para “2” – Processamento com Sucesso, apagar as ocorrências do processamento e definir que não enviou o retorno na tabela temporária, e será definido um Serviço agendado que vai buscar todas as pesagens com status igual “2” Processamento com Sucesso e com retorno da ocorrência igual a “N” na tabela temporária e enviar a mensagem de retorno com status “1” (sucesso) para o ERP marcar que a pesagem foi integrada e alterar a tabela temporária definido que enviou o retorno.
    • Caso exista erro para alterar a pesagem na tabela oficial, o Serviço do PIMSMulticultivos irá alterar o status para “3” Erro no processamento, a ocorrência do processamento e definir que não enviou o retorno na tabela temporária, e será definido um Serviço agendado que vai buscar todas as pesagens com status igual a “3” Erro no processamento e com retorno da ocorrência igual “N” na tabela temporária e enviar a mensagem de retorno com status “2” (erro) e a ocorrência encontrada para o ERP marcar que a pesagem não foi integrada, a ocorrência, para que a mesma seja corrigida e enviada novamente e alterar tabela temporária definido que enviou o retorno.
  • Quando a pesagem não existe na tabela oficial e a ação é de exclusão, chamar o Serviço do PIMSMulticultivos para buscar todas as pesagem com status “0” (Aguardando processamento), alterando o status da tabela temporária para “1” (em processamento), como está pesagem não existe na tabela oficial o Serviço do PIMSMulticultivos irá atualizar o status para “2” – Processamento com Sucesso, apagar as ocorrências do processamento e definir que não enviou o retorno na tabela temporária, e será definido um Serviço agendado que vai buscar todas as pesagens com status igual a “2” Processamento com sucesso e com retorno da ocorrência igual “N” na tabela temporária e enviar a mensagem de retorno com status “1” (sucesso) para ERP e alterar a tabela temporária definindo que enviou o retorno.
  • Quando a pesagem existe na tabela oficial e a ação é de exclusão, o Serviço do PIMSMulticultivos busca todas as pesagem com status “0” (Aguardando processamento), que vai alterar o status da tabela temporária para “1” (em processamento), remover as ocorrências de processamento e definir que não enviou o retorno na tabela temporária e excluir a pesagem na tabela oficial, tabela de produção e na tabela intermediária.
    • Caso não exista erro para excluir a pesagem na tabela oficial, a pesagem será excluída da tabela oficial e o Serviço do PIMSMulticultivos irá remover o identificador da pesagem, o status para “2” – Processamento com Sucesso, apagar as ocorrências do processamento e definir que não enviou o retorno na tabela temporária e será definido um Serviço agendado que vai buscar todas a pesagens com status igual a “2” Processamento com sucesso e com o retorno da ocorrência igual a “N” e enviar a mensagem de retorno com status “1” (sucesso) para o ERP e alterar a tabela temporária definindo que enviou o retorno.
    • Caso exista erro para excluir a pesagem na tabela oficial, a pesagem não será excluída na tabela oficial e o Serviço do PIMSMulticultivos irá alterar o status para “3” Erro no processamento, a ocorrência de processamento e definir que não enviou o retorno na tabela temporária e será definido um Serviço agendado que vai buscar todas a pesagens com status igual a “3” Erro no processamento e com o retorno da ocorrência igual a “N” e enviar a mensagem de retorno com status “2” (erro) e a ocorrência de processamento encontrada para o ERP e alterar a tabela temporária definindo que enviou o retorno.
  • Geração da Ordem de Colheita:
    • A geração da Ordem de Colheita ocorre quando não há Ordem de Colheita informada, há Local de Produção informado e não há Ordem de Colheita aberta para o Local de Produção.

Dados da Ordem de Colheita:

  • Número da Ordem de Colheita: Quando configurado “Ordem de Colheita compartilhada entre unidades (S/N)”, nas configurações gerais será gerado sequencial independente da Unidade Administrativa, caso contrário será gerado sequencialmente para Unidade Administrativa.
  • Data: Data da Ordem de Colheita informado. Quando não informada gerar com a Data de movimento informado.
  • Equipe: Código da Equipe informada. Quando configurado, “Obrigar a informar Equipe” para o grupo “Ordem de Colheita” em “Tabelas > Culturas > Cultura/Ocupação”, a equipe é obrigatória, caso contrário não é obrigatório.
  • Unidade Receptora: Unidade Receptora informada. Quando configurado, “Obrigar a informar Unidade Receptora” para o grupo “Ordem de Colheita” em “Tabelas > Culturas > Cultura/Ocupação”, a unidade receptora será obrigatório, caso contrário não é obrigatório.
  • Previsão de Início: Sem valor.
  • Previsão de Encerramento: Sem valor.
  • Sistema de Colheita: Sistema de Colheita informado, caso não seja informado é o sistema de colheita do local de produção (quando informado). Quando configurado, “Obrigar a informar Sistema de Colheita” para o grupo “Ordem de Colheita” em “Tabelas > Culturas > Cultura/Ocupação”, o sistema de colheita será obrigatório, caso contrário não é obrigatório.
  • Tipo: Comercial.
  • Ano Agrícola: Ano Agrícola informado. Quando não informado é o Ano Agrícola do Período de Produção informado.
  • Período de Produção: Período de Produção informado.
  • [Fazenda]: [Fazenda] informada.
  • [Setor]: [Setor] informado.
  • [Talhão]: [Talhão] informado.
  • Variedade: Variedade do Local de Produção.
  • Área de Colheita: Área de Colheita informada. Quando não informado é a [Área produtiva do Local de Produção] – [Área de outras Ordens de Colheita para o mesmo Local de Produção].
  • Estimativa: Estimativa/ha informada, se não informada é verificada a última estimativa registrada para o Local de Produção com data menor ou igual à data de movimento, se não existir será considerada a Estimativa/ha padrão configurada para a Cultura/Ocupação em “Tabelas > Culturas > Cultura/ocupação”.
  • Data Colheita Inicial: Sem Valor.
  • Data Colheita Final: Sem Valor.
  • Situação: Aberta.
  • Unidade Administrativa: Unidade Administrativa corrente.
  • Data de Encerramento: Sem valor.
  • Data de Reabertura: Sem valor.
  • Origem do Encerramento: Sem valor.
  • Produto ERP: Produto ERP informado. 
  • Número do Ordem de Colheita Externa: Número da Ordem de Colheita Externa informada.
  • Geração da Pesagem: 

Dados da Pesagem: 

  • Número do Boletim: Número sequencial gerado internamente.
  • Número do Documento: Número do Documento informado, quando não informado não será Obrigatório.
  • Controle de Colheita: Gerar com Sim.
  • Número Id. Carga: Número do Fardão informado. Quando configurado “Usar “Nº de Id. da Carga” na pesagem” para o grupo “Recepção de Matéria Prima” em “Tabelas > Culturas > Cultura/Ocupação”, o número do fardão será obrigatório, caso contrário não será obrigatório.
  • Número Ordem de Colheita:
    • Número da Ordem de Colheita informada (se informada).
    • Número da Ordem de Colheita aberta para o Local de Produção (se encontrada).
    • Número da Ordem de Colheita gerada para o Local de Produção (se não existir).
    • Data 1ª Pesagem: Data da 1ª Pesagem informada.
    • Hora 1ª Pesagem: Hora da 1ª Pesagem informada.
    • Data 2ª Pesagem: Data da 2ª Pesagem informada.
    • Hora 2ª Pesagem: Hora da 2ª Pesagem informada.
    • Data de Movimento: Data de Movimento informada.
    • Unidade Receptora:
      • Unidade Receptora informada (se informada).
      • Unidade Receptora da Ordem de Colheita (se informada).
      • Ano Agrícola: Ano Agrícola pelo Local de Produção informado. Quando não informado é o Ano Agrícola do Período de Produção, quando o período de produção não for informado é da Ordem e Colheita.
      • Período de Produção: Período de Produção pelo Local de Produção informado. Quando não informado é o Período de Produção da Ordem de Colheita.
      • Variedade: Recuperar a Variedade associado ao [Talhão] da Ordem de Colheita, caso não encontre é a Variedade da Ocupação do Talhão, caso a Ordem de Colheita não for informado é a Variedade do Local de Produção, caso não encontre é a Variedade da Ocupação do Local de Produção.
      • [Fazenda]: [Fazenda] pelo local de Produção informada. Quando não informado é a [Fazenda] da Ordem de Colheita.
      • [Setor]: [Setor] pelo Local de Produção informado. Quando não informado é o [Setor] da Ordem de Colheita.
      • [Talhão]: [Talhão] pelo Local de Produção informado. Quando não informado é o [Talhão] da Ordem de Colheita.
      • Proprietário: Proprietário da [Fazenda] da Ordem de Colheita. Quando a Ordem de Colheita não for informado é o Proprietário do Local de Produção.
      • Equipe: Equipe informado. Quando não informado é a Equipe da Ordem de Colheita, e quando não encontrada ou informada, e estiver configurado “Obrigar a informar a Equipe” para o Grupo “Recepção de Matéria Prima” em “Tabelas > Culturas > Cultura/Ocupação”, a Equipe será obrigatória, caso contrário a Equipe não será obrigatória.
      • Caminhão: Equipamento informado. Quando configurado “Permite informar Caminhão não cadastrado” para o grupo de configuração “Pesagem” em “Administração > Configuração por unidade”, e o mesmo não estiver cadastrado, o Equipamento não será obrigatório e o código será gravado em “CD_CAM_NCAD na tabela APPESAGEMMP”, caso contrário o Equipamento será obrigatório e deve estar disponível para a Unidade Administrativa.
      • Motorista: Motorista informado e deve estar previamente cadastrado e disponível para unidade administrativa corrente. Quando não informado gerar sem valor.
      • Colhedora: Colhedora informada e deve estar previamente cadastrada e disponível para unidade administrativa corrente. Quando não informada gerar sem valor.
      • Operador: Operador informado e deve estar previamente cadastrado e disponível para unidade administrativa corrente.
      • 1ª Pesagem (kg): 1ª Pesagem informada.
      • 2ª Pesagem (kg): 2ª Pesagem informada.
      • Peso Líquido (kg): 1ª Pesagem menos 2ª Pesagem.
      • Total de Descontos (kg): Total de descontos (kg) informado. Se não informado receberá o valor 0 (zero).
      • Peso Líquido (kg) com Descontos: Peso Líquido (kg) menos Total de Descontos (kg).
      • Número de Pesagem externa: Número de Pesagem informado. Quando não informado gerar sem valor.
      • Unidade Administrativa: Unidade Administrativa corrente.
      • Data da Análise: Sem valor.
      • Número da Análise: Sem valor.
      • Nota Fiscal: Número da Nota Fiscal informada. Quando não informada e estiver configurado “Informar o número da Nota Fiscal, Série e Tipo da Nota Fiscal na Manutenção da Pesagem, Pesagem e Registro de Colheita” para o grupo “Gerais” em “Tabelas > Culturas > Cultura/Ocupação”, a Nota Fiscal será obrigatória, caso contrário não será obrigatório.
      • Série: Número da Série da Nota Fiscal informada. Quando não informado e estiver configurado “Informar o número da Nota Fiscal, Série e Tipo da Nota Fiscal na Manutenção da Pesagem, Pesagem e Registro de Colheita” para o grupo “Gerais” em “Tabelas > Culturas > Cultura/Ocupação”, a Série da Nota Fiscal será obrigatória, caso contrário não será obrigatório.
      • Tipo: Tipo da Nota Fiscal informado. Quando não informado e estiver configurado “Informar o número da Nota Fiscal, Série e Tipo da Nota Fiscal na Manutenção da Pesagem, Pesagem e Registro de Colheita” para o grupo “Gerais” em “Tabelas > Culturas > Cultura/Ocupação”, o Tipo da Nota Fiscal será obrigatório, caso contrário não será obrigatório.
      • Quantidade Bruta: 1ª Pesagem (kg) informada.
      • Quantidade Tara: 2ª Pesagem (kg) informada.
      • Tipo: Gerar com “E” (entrada – recebimento).
      • Digitação Manual 1ª Pesagem: Sem valor.
      • Digitação Manual 2ª Pesagem: Sem valor.
      • Usuário 1ª Pesagem: Sem valor.
      • Usuário 2ª Pesagem: Sem valor.
      • Código Balança 1ª Pesagem: Sem valor.
      • Código Balança 2ª Pesagem: Sem valor.
      • Caminhão Não Cadastra: Gerar com o código do Equipamento quando não estiver cadastrado e estiver configurado ““Permite informar Caminhão não cadastrado” para o grupo de configuração “Pesagem” em “Administração > Configuração por unidade”.
      • Produto ERP: Produto ERP informado.

Filtros: 

Quando clicar no “Aplicar” do Procurar, recuperar todas as pesagens com status igual a “0” (Aguardando Processamento) ou “3” (Erro no Processamento) e para unidade administrativa corrente. Recuperar as Pesagens de Matéria Prima para a Unidade Administrativa corrente, pertencentes as Empresa ERP e Filial ERP, quando não utiliza Unidade Administrativa Centralizadora. Basicamente localizar a empresa, e a filial e com o código empresa e filial localizar o identificador da filial associada a empresa, com a empresa localizar a região administrativa, com o identificador da região administrativa localizar a unidade centralizadora, caso não tenha informação para a unidade centralizadora, localizar a unidade administrativa pela empresa e filial.

-    Data Inicial para filtro do apontamento de Recepção de Matéria Prima. A Data Inicial não pode ser maior que a Data Final e se informar a Data Inicial a Data Final será obrigatória.

-    Data Final para filtro do apontamento de Recepção de Matéria Prima. A Data Final não pode ser menor que a Data Inicial e se informar a Data Final a Data Inicial será obrigatória.

-    Ação: Indica a ação para filtro do apontamento de Recepção de Matéria Prima.

  • Ambas: Recupera todos os apontamentos de Recepção de Matéria Prima, independente da ação.
  • Incluir: Recupera os apontamentos de Recepção de Matéria Prima com a ação igual a “Incluir”.
  • Excluir: Recupera os apontamentos de Recepção de Matéria prima com a ação igual a “Excluir”.

-    Número da Pesagem Externa: Número da pesagem realizada por sistema externo ao PIMSMulticultivos. (Tamanho do Campo: 20 Caracteres).

-    Ordem de Colheita: Número da Ordem de Colheita. (Tamanho do Campo: 10 Inteiros).

-         Ordem de Colheita Externa: Número da Ordem de Colheita realizado por sistema externo ao PIMSMulticultivos. (Tamanho do Campo: 20 Caracteres).

-    Unidade Receptora ERP: Unidade Receptora ERP a qual está sendo entregue a Matéria Prima. (Tamanho do Campo: 20 Caracteres).

-    Ano Agrícola: Ano Agrícola a qual pertence o Local de Produção. Campo visível, quando estiver configurado “Utiliza Ano Agrícola” em “Administração > Configuração do Local de Produção”, campo invisível quando não configurado “Utiliza Ano Agrícola” em “Administração > Configurações dos Locais de Produção”. Quando informado, o Ano Agrícola deve estar previamente Cadastrado. (Tamanho do Campo: 10 Inteiros).

-    Período de Produção: Período de Produção ao qual pertence o Local de Produção. Quando informado, o Período de Produção deve estar previamente cadastrado. (Tamanho do Campo: 10 Inteiros).

-    [Fazenda]: [Fazenda] a qual pertence o Local de Produção. Quando informada, a [Fazenda] deve estar previamente cadastrada para a Unidade Administrativa corrente. (Tamanho do Campo: 6 Caracteres).

-    [Setor]: [Setor] ao qual pertence o Local de Produção. Campo visível, quando estiver configurado “Utiliza “[Setor]” em “Administração > Configuração do Local de Produção”, campo invisível quando não configurado “Utiliza [Setor]” em “Administração > Configurações dos Locais de Produção”. Quando informado, o [Setor] deve estar previamente cadastrado para a [Fazenda] informada. (Tamanho do Campo: 6 Caracteres).

-    [Talhão]: Local de Produção a qual se refere a Produção. Quando informado, o [Talhão] deve estar previamente cadastrado para o [Setor], quando configurado “Utiliza [Setor]” em “Administração > Configuração do Local de Produção” e Período de Produção informado ou deve estar cadastrado para a [Fazenda], quando não configurado “Utiliza o [Setor]” em “Administração > Configurações do Locais de Produção” e Período de Produção informado. (Tamanho do Campo: 6 Caracteres).

-    Equipamento: Equipamento utilizado para fazer o transporte da colheita. Quando informado NÃO precisa estar previamente cadastrado. (Tamanho do campo: 10 caracteres).

-         Motorista ERP: Código do Motorista ERP referente a Pesagem. Quando informado NÃO precisa estar previamente cadastrado. (Tamanho do Campo: 20 Caracteres).

-         Nota Fiscal Inicial: Informar o número da Nota Inicial para pesquisa das pesagens. Campo obrigatório quando informar a Nota Fiscal Final. (Tamanho do Campo: 9 Caracteres).

-         Série: Informar o número da série da Nota fiscal para pesquisa das pesagens. (Tamanho do Campo: 3 Caracteres).

-         Tipo: Selecionar o Tipo da Nota Fiscal para pesquisa das pesagens entre “Remessa” ou “Venda”). 

XML de retorno das pesagens

<searchfilter>

 

 

 

 

 

<retornoIntegracaoPesagemMateriaPrima>

 

 

 

 

 

<cdEmpresaErp>

<![CDATA[001]]>

</cdEmpresaErp>

 

 

<cdFilialErp>

<![CDATA[001]]>

</cdFilialErp>

 

 

<dtMovimento>

<![CDATA[26/08/2015]]>

</dtMovimento>

 

 

<noBoletimExt>

<![CDATA[]]>

</noBoletimExt>

 

 

<noBoletim>

<![CDATA[]]>

</noBoletim>

 

 

<statusPesagem>

<![CDATA[1]]>

</statusPesagem>

 

 

<ocorrenciaProcessamento>

<![CDATA[]]>

</ocorrenciaProcessamento>

 

</retornoIntegracaoPesagemMateriaPrima>

 

 

 

</searchfilter>

 

 

 

 

 

Especificação Técnica:

 Tabela:

Descrição

Nome

Situação

Ordem de Colheita

ORDCOLHEITA

Alteração

Demais Funcionalidades:

-         Validar: São realizadas as seguintes validações para a importação:

                  Validação da pesagem quando a Ação for Incluir (FG_ACAO igual a “I” da tabela BRG_APPESAGEMMP):

  • É verificado se há Ordem de Colheita informada (NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP) ou Ano Agrícola, Período de Produção, [Fazenda], [Setor] e [Talhão] (CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP) informado, quando configurado “Utiliza Ano Agrícola” e “Utiliza [Setor]” em “Administração > Configuração do Local de Produção” (FG_SAFRA e FG_UPNIVEL2 igual a “S” da tabela PRX_PARAM_LOCAIS) ou Período de Produção, [Fazenda] e [Talhão] (CD_PER_SAFRA, CD_UPNIVEL1 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP) quando não configurado “Utiliza Ano Agrícola” e “Utiliza [Setor]” em “Administração > Configuração do Local de Produção” (FG_SAFRA e FG_UPNIVEL2 igual a “N” da tabela PRX_PARAM_LOCAIS) ou Período de Produção, [Fazenda], [Setor] e [Talhão] (CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP), quando não configurado “Utiliza Ano Agrícola” e configurado que “Utiliza [Setor]” em “Administração > Configuração do Local de Produção” (FG_SAFRA igual “N” e FG_UPNIVEL2 igual a “S” da tabela PRX_PARAM_LOCAIS) ou Ano Agrícola, Período de Produção, [Fazenda] e [Talhão] (CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP), quando configurado “Utiliza Ano Agrícola” e não configurado “Utiliza [Setor]” em “Administração > Configuração do Local de Produção” (FG_SAFRA igual a “S” e FG_UPNIVEL2 igual “N” da tabela PRX_PARAM_LOCAIS). Se não existir nem Ordem de Colheita informada (NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP)  e nem Ano Agrícola, Período de produção, [Fazenda], [Setor] e [Talhão] (CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP) quando configurado “Utiliza Ano Agrícola” e “Utiliza [Setor]” em “Administração > Configuração do Local de Produção”  (FG_SAFRA e FG_UPNIVEL2 igual a “S” da tabela “BRG_APPESAGEMMP) gerar a ocorrência “Ordem de Colheita ou Ano Agrícola, Período de Produção, [Fazenda], [Setor] e [Talhão] não informado”, se não existir Ordem de Colheita (NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP) e nem Período de Produção, [Fazenda] e [Talhão] (CD_PER_SAFRA, CD_UPNIVEL1 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP) quando não configurado “Utiliza Ano Agrícola”, “Utiliza [Setor]” em “Administração > Configuração dos Local de Produção” (FG_SAFRA e FG_UPNIVEL2 igual a “N” da tabela PRX_PARAM_LOCAIS) gerar a ocorrência “Ordem de Colheita ou Período de Produção, [Fazenda] e [Talhão]” não informado”, se não existir Ordem de Colheita (NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP) e nem Período de Produção, [Fazenda], [Setor] e [Talhão] (CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP), quando não configurado “Utiliza Ano Agrícola” e configurado “Utiliza [Setor]” em “Administração > Configuração do Local de Produção”  (FG_SAFRA igual “N” e FG_UPNIVEL2 igual a “S” da tabela PRX_PARAM_LOCAIS) gerar a ocorrência “Ordem de Colheita ou Período de Produção, [Fazenda], [Setor] e [Talhão] não informado” e se não existir Ordem de Colheita (NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP) e nem Ano Agrícola, Período de Produção, [Fazenda] e [Talhão] (CD_SAFRA,CD_PER_SAFRA,CD_UPNIVEL1 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP) quando configurado “Utiliza Ano Agrícola” e não configurado “Utiliza [Setor]” em “Administração > Configuração do Local de Produção” (FG_SAFRA igual a “S” e FG_UPNIVEL2 igual “N” da tabela PRX_PARAM_LOCAIS) gerar a ocorrência “Ordem de Colheita ou Ano Agrícola, Período de Produção, [Fazenda] e [Talhão] não informado”.
  • Quando configurado “Ordem de Colheita compartilhada entre unidades (S/N)” nos parâmetros gerais (ORDEM_COMPARTILHADA igual a “S” na tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “6”), o número da Ordem de Colheita deve estar previamente cadastrado (BRG_APPESAGEMMP>NO_ORDCOLHEITA deve estar na tabela ORDCOLHEITA), caso contrário, o Número da Ordem de Colheita deve estar cadastrado para a Unidade Administrativa (BRG_APPESAGEMMP>NO_ORDCOLHEITA deve estar na tabela ORDCOLHEITA para a unidade administrativa corrente). 
    • Quando o Número da Ordem de Colheita não estiver cadastrado (BRG_APPESAGEMMP>NO_ORDCOLHEITA não encontrado na tabela ORDCOLHEITA) e estiver configurado “Ordem de Colheita compartilhada entre unidades (S/N)” nos parâmetros gerais (ORDEM_COMPARTILHADA igual a “S” na tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “6”) gerar ocorrência “Ordem de Colheita (Número) inválida”, caso contrário, gerar a ocorrência “Ordem de Colheita (Número) inválida para a Unidade Administrativa (Descrição)”.
  • Se informada Ordem de Colheita válida (NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP encontrada na tabela ORDCOLHEITA), é verificado se há Local de Produção para a Ordem de Colheita (ID_UPNIVEL3 da tabela ORDCOLHEITA_LC para a ordem NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP), caso não exista é gerada a ocorrência “Ordem de Colheita sem Local de Produção”.
  • Se informada a Ordem de Colheita (NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP) e o Local de Produção (CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP), é verificado se o Local de Produção é o mesmo da Ordem de Colheita (encontrar o ID_UPNIVEL3 do talhão pelo CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 e comparar com o ID_UPNIVEL3 da tabela ORDCOLHEITA_LC da pesagem), caso não seja é gerada a ocorrência: “Local de Produção não corresponde ao Local de Produção da Ordem de Colheita.”.
  • Se informada a Ordem de Colheita (NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP) é verificada se a mesma está aberta (FG_SITUACAO igual “A” da tabela ORDCOLHEITA para o NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP), caso não esteja é gerada a ocorrência: “Ordem de Colheita já encerrada.”.
  • Se não informado a Ordem de Colheita (NO_ORDCOLHEITA vazio da tabela BRG_APPESAGEMMP) e quando configurado “Utiliza Ano Agrícola” em “Administração > Configurações do Local de Produção” (FG_SAFRA igual a “S” da tabela PRX_PARAM_LOCAIS), e o Ano Agrícola for informado (CD_SAFRA da tabela BRG_APPESAGEMMP) o mesmo deve estar previamente cadastrado (CD_SAFRA da tabela BRG_APPESAGEMMP deve estar na tabela SAFRA), caso não esteja, gerar ocorrência “Ano Agrícola inválido”, caso o Ano Agrícola não for informado (CD_SAFRA vazio da tabela BRG_APPESAGEMMP) recuperar o Ano Agrícola pelo Período de Produção (CD_PER_SAFRA da tabela BRG_APPESAGEMMP igual a CD_PER_SAFRA da tabela PERIODOSAFRA buscar o ID_SAFRA), caso existe mais de uma Período de Produção (CD_PER_SAFRA da tabela BRG_APPESAGEMMP igual a CD_PER_SAFRA da tabela PERIODOSAFRA e retornar mais que um ID_SAFRA), gerar ocorrência “Não foi possível recuperar o Ano Agrícola pelo Período de Produção”, caso o Período de Produção (CD_PER_SAFRA vazio da tabela BRG_APPESAGEMMP) não for informado gerar ocorrência “Ordem de Colheita não informada e Ano Agrícola inválido”.
  • Se não informado a Ordem de Colheita (NO_ORDCOLHEITA vazio da tabela BRG_APPESAGEMMP) e quando não configurado “Utiliza Ano Agrícola” em “Administração > Configurações do Local de Produção” (FG_SAFRA igual “N” da tabela PRX_PARAM_LOCAIS), e o Ano Agrícola não for informado (CD_SAFRA vazio da tabela BRG_APPESAGEMMP) recuperar o Ano Agrícola pelo Período de Produção (CD_PER_SAFRA da tabela BRG_APPESAGEMMP igual ao CD_PER_SAFRA da tabela PERIODOSAFRA recuperar o ID_SAFRA).
  • Se não informada a Ordem de Colheita (NO_ORDCOLHEITA vazio da tabela BRG_APPESAGEMMP), e estiver configurado “Utiliza Ano Agrícola” em “Administração > Configuração do Local de Produção” (FG_SAFRA igual a “S” da tabela PRX_PARAM_LOCAIS) é verificado se o Período de Produção está associado ao Ano agrícola (recuperar o ID_SAFRA da SAFRA pelo CD_SAFRA da tabela BRG_APPESAGEMMP igual ao CD_SAFRA da tabela SAFRA, e verificar se o ID_SAFRA  da tabela SAFRA é igual ao ID_SAFRA da tabela PERIODOSAFRA pelo CD_PER_SAFRA da tabela BRG_APPESAGEMMP), caso não esteja é gerada a ocorrência “Ordem de Colheita não informada e Período de Produção não associado ao Ano Agrícola”, caso contrário, é gerado a ocorrência “Ordem e Colheita não informada e Período de Produção invalido”.
  • Se não informada a Ordem de Colheita (NO_ORDCOLHEITA vazio da tabela BRG_APPESAGEMMP), é verificado se a [Fazenda] está cadastrada para a Unidade Administrativa (CD_UPNIVEL1 da tabela BRG_APPESAGEMMP igual ao CD_UPNIVEL1 da tabela UPNIVEL1 para a unidade administrativa corrente), caso não esteja é gerada a ocorrência “Ordem de Colheita não informada e [Fazenda] inválida”.
  • Se informada a [Fazenda] (CD_UPNIVEL da tabela UPNIVEL1) é verificado se a mesma está cadastrada para a Unidade Administrativa (ID_UNIDADEADM da tabela UPNIVEL1 é igual a unidade administrativa corrente), caso não esteja é gerada a ocorrência: “[Fazenda] (Código) não cadastrada para a Unidade Administrativa (Descrição)”.
  • Se não informada a Ordem de Colheita (NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP), e estiver configurado “Utiliza [Setor] na Configuração do Local de Produção em “Administração > Configuração do Local de Produção” (FG_UPNIVEL2 da tabela PRX_PARAM_LOCAIS), é verificado se o [Setor] está associado a [Fazenda] informada (recuperar ID_UPNIVEL1 pelo CD_UPNIVEL1 da tabela BRG_APPESAGEMMP igual ao CD_UPNIVEL1 da tabela UPNIVEL1 e o ID_UPNIVEL1 deve ser igual ao ID_UPNIVEL1 da tabela UPNIVEL2 pelo CD_UPNIVEL2 da tabela BRG_APPESAGEMMP igual ao CD_UPNIVEL2 da tabela UPNIVEL2), caso não esteja é gerada a ocorrência “Ordem de Colheita não informado e [Setor] não associado a [Fazenda]”, caso contrário o [Setor] não será obrigatório.
  • Se não informada a Ordem de Colheita (NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP), e estivar configurado “Utiliza [Setor]” na Configuração do Local de Produção em “Administração > Configuração do Local de Produção” (FG_UPNIVEL2 igual a “S” da tabela PRX_PARAM_LOCAIS), é verificado se o [Talhão] está associado ao [Setor] e Período de Produção informado (recuperar o ID_UPNIVEL2 pelo CD_UPNIVEL2 da tabela BRG_APPESSAGEMMP igual ao CD_UPNIVEL2 da tabela UPNIVEL2, recuperar o ID_PERIODOSAFRA pelo CD_PER_SAFRA da tabela BRG_APPESAGEMMP igual ao CD_PER_SAFRA da tabela PERIODOSAFRA, o ID_UPNIVEL2 da tabela UPNIVEL2 deve ser igual ao ID_UPNIVEL2 da tabela UPNIVEL3 e o ID_PERIODOSAFRA da tabela PERIODOSAFRA deve ser igual  ID_PERIODOSAFRA da tabela UPNIVEL3), caso não esteja é gerada a ocorrência “Ordem de Colheita não informado e [Talhão] não associado ao [Setor]”, caso contrário é gerada ocorrência “Ordem de Colheita não informada e [Talhão] não associado a [Fazenda]”.
  •   É verificada se a Data de Movimento foi informada (DT_MOVIMENTO da tabela BRG_APPESAGEMMP), caso não esteja informada é gerada a ocorrência: “Data de movimento inválida”.   
  •     É verificado se a Data de Entrada foi informada (DT_ENTRADA da tabela BRG_APPESAGEMMP), caso não esteja informado é gerado a ocorrência “Data de Entrada inválida”.
  •     É verificado se a Hora de Entrada foi informada (DT_ENTRADA (HH:MI:SS) da tabela BRG_APPESAGEMMP), caso não esteja informado é gerado a ocorrência “Hora de Entrada inválida”
  •     É verificado se a Hora de Entrada é maior que a Hora de Saída (DT_ENTRADA (HH:MI:SS) maior DT_SAIDA (HH:MISS) da tabela BRG_APPESAGEMMP), caso seja é gerado a ocorrência “Hora de Entrada maior que a Hora de Saída”.
  •     É verificado se a Data de Saída foi informada (DT_SAIDA da tabela BRG_APPESAGEMMP), caso não esteja informado é gerado a ocorrência “Data de Saída inválida”.
  •     É verificado se a Data de Saída é menor que a Data de Entrada (DT_SAIDA menor DT_ENTRADA da tabela BRG_APPESAGEMMP), caso seja é gerado a ocorrência “Data de Saída menor que a Data de Entrada”.
  •     É verificado se a Hora de Saída foi informada (DT_SAIDA (HH:MI:SS) da tabela BRG_APPESAGEMMP), caso não esteja informado é gerado a ocorrência “Hora de Saída inválida”.
  •     É verificado se a Hora de Saída é menor que a Hora de Entrada (DT_SAIDA (HH:MI:SS) menor DT_ENTRADA (HH:MI:SS) da tabela BRG_APPESAGEMMP), caso seja é gerado a ocorrência “Hora de Saída menor que a Hora de Entrada”.
  •     Se o custo já estiver fechado para a Data de Movimento (DT_MOVIMENTO da tabela BRG_APPESAGEMMP menor ou igual DT_CST_PRC da tabela UNIDADEADM corrente) será gerada a ocorrência “Custo já fechado para essa Data”.
  •    Quando for atualizar a Pesagem verificar se a mesma já foi processada pelo Pagamento de Serviço (ID_APPESAGEMMP da tabela BRG_APPESAGEMMP igual ao ID_APONTAMENTO da tabela SV_HISTCAPTA para o FG_ORIGEM igual a “T”), caso foi processada gerar ocorrência “Pesagem processada pelo Processamento de Pagamento de Serviço”, caso contrário atualizar a pesagem.
  •     Se informado o Local de Produção (CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP) e não informada a Ordem de Colheita (NO_ORDCOLHEITA vazio da tabela BRG_APPESAGEMMP), é verificado se há Ordem de Colheita para o Local de Produção informado (localizar o ID_UPNIVEL3 da tabela UPNIVEL3 pelo CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP, com o identificador do talhão, recuperar a ordem de colheita mais recente menor ou igual a data de movimento e com maior número de ordem e com situação aberto (ID_UPNIVEL3 da tabela UPNIVEL3 igual ID_UPNIVEL3 da tabela ORDCOLHEITA_LC com DT_ORDEM da tabela ORDCOLHEITA menor igual a DT_MOVIMENTO da tabela BRG_APPESAGEMMP e com FG_SITUACAO igual “A” e NO_ORDCOLHEITA maior da tabela ORDCOLHEITA), se existir Ordem de Colheita para o Local de Produção é verificado se há Ordem de Colheita aberta para o Local de Produção (ID_UPNIVEL3 da tabela UPNIVEL3 igual ID_UPNIVEL3 da tabela ORDCOLHEITA_LC com DT_ORDEM da tabela ORDCOLHEITA menor igual a DT_MOVIMENTO da tabela BRG_APPESAGEMMP e com FG_SITUACAO igual “A” e NO_ORDCOLHEITA maior da tabela ORDCOLHEITA) se não existir Ordem de Colheita aberta para o Local de Produção é verificado se a soma das áreas das Ordens de Colheita (sum(QT_AREA_COLH da tabela ORDCOLHEITA_LC para o ID_UPNIVEL3 da tabela UPNIVEL3 do local de produção (CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP igual ao ID_UPNIVEL3 da tabela ORDCOLHEITA_LC)) é igual à área produtiva do Local de Produção (QT_AREA_PROD da tabela UPNIVEL3 igual ao ID_UPNIVEL3 recuperado do local de produção (CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNVIEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP), se a soma das áreas for igual à área produtiva é gerada a ocorrência: “Ordem de Colheita já encerrada para o Local de Produção”.
  •    Se informada a Unidade Receptora ERP (CD_UNI_RECEP_ERP da tabela BRG_APPESAGEMMP) é verificado se a mesma está previamente cadastrada (CD_INT_ERP da tabela UNIRECEPTORA) para a Unidade Administrativa corrente, se não estiver cadastrada é gerada a ocorrência: “Unidade Receptora inválida”.
  •     Quando a Unidade Receptora ERP não for informada pela integração (CD_UNI_RECEP_ERP vazio da tabela BRG_APPESAGEMMP), recuperar a Unidade Receptora pela Ordem de Colheita (quando informada) (ID_UNIRECEPTORA da tabela ORDCOLHEITA com o NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP) e quando não estiver configurado “Obrigar a informar Unidade Receptora” para grupo “Recepção de Matéria Prima” em “Tabelas > Culturas > Culturas / Ocupação” (FG_UNIREC_ORDCOLH igual a “N” da tabela OCUPACAO) o campo não será obrigatório, caso contrário gerar ocorrência “Unidade Receptora requerida”.
  •     Se não informada a Unidade Receptora ERP (CD_UNI_RECEP_ERP vazio da tabela BRG_APPESAGEMMP) e nem a Ordem de Colheita (NO_ORDCOLHEITA vazio da tabela BRG_APPESAGEMMP), é verificado se há Ordem de Colheita aberta para o Local de Produção (recuperar o ID_UPNIVEL3 da tabela UPNIVEL3 pelo CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP, igual ID_UPNIVEL3 da tabela ORDCOLHEITA_LC com DT_ORDEM da tabela ORDCOLHEITA menor igual a DT_MOVIMENTO da tabela BRG_APPESAGEMMP e com FG_SITUACAO igual “A” e NO_ORDCOLHEITA maior da tabela ORDCOLHEITA), se não houver Ordem de Colheita aberta para o Local de Produção é quando configurado “Obrigar a informar Unidade Receptora” para o grupo “Ordem de Colheita” em “Tabelas > Culturas > Cultura /  Ocupação” (FG_UNIREC_ORDCOLH igual a “S” da tabela OCUPACAO) a Unidade Receptora é obrigatória na Ordem de Colheita para a Cultura/Ocupação (recuperar ID_OCUPACAO da tabela OCUPACAO, pelo ID_UPNIVEL3 da tabela UPNIVEL3 do CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP e com o identificador do talhão, recuperar o ID_PERIODOSAFRA da tabela UPNIVEL3 e com o identificador do período de produção recuperar o ID_OCUPACAO da tabela PERIODOSAFRA), se for obrigatória é gerada a ocorrência: “Unidade Receptora é obrigatória para a Ordem de Colheita.”.
  •     Se informado a Ocupação (CD_OCUPACAO da tabela BRG_APPESAGEMMP) é verificado se a mesma está previamente cadastrada (CD_OCUPACAO da tabela BRG_APPESAGEMMP deve estar na tabela OCUPACAO) e deve ser a mesma do [Talhão] da Ordem de Colheita (quando informada) (recuperar o ID_UPNIVEL3 da tabela ORDCOLHEITA_LC, pelo NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP deve estar na tabela ORDCOLHEITA, com identificador do talhão, recuperar o ID_PERIODOSAFRA da tabela UPNIVEL3 e com identificador do período de produção, recuperar o  ID_OCUPACAO da tabela PERIODOSAFRA e com o identificador da ocupação, recuperar o CD_OCUPACAO da tabela OCUPACAO e comparar com CD_OCUPACAO da tabela BRG_APPESAGEMMP)  ou do Local de Produção (recuperar o ID_UPNIVEL3 da tabela UPNIVEL3 a partir do CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIEL3 e com ID_UPNIVEL3 recuperar o ID_PERIODOSAFRA  da tabela UPNIVEL3 e com o identificador do período de produção, recuperar o ID_OCUPACAO da tabela PERIODOSAFRA e com o identificador da ocupação, recuperar o CD_OCUPACAO da tabela OCUPACAO e comparar com o CD_OCUPACAO da tabela BRG_APPESAGEMMP), caso não estiver cadastrado é gerado a ocorrência “Ocupação inválida”, caso não seja a mesmo da Ordem de Colheita ou do Local de Produção é gerado a ocorrência “Ocupação diferente da Ordem de Colheita ou do Local de Produção”.
  •     Se configurado “Obrigar a informar a Equipe” para o grupo “Recepção de Matéria Prima” em “Tabelas > Culturas > Cultura / Ocupação” (FG_EQUIPE_PES igual a “S” da tabela OCUPACAO) é verificado se foi informada a Ordem de Colheita (NO_ORCOLHEITA vazia da tabela BRG_APPESAGEMMP), e se não foi informado o Ano Agrícola (CD_SAFRA da tabela BRG_APPESAGEMMP), Período de Produção (CD_PER_SAFRA da tabela BRG_APPESAGEMMP), [Fazenda] (CD_UPNIVEL1 da tabela BRG_APPESAGEMMP), [Setor] (CD_UPNIVEL2 da tabela BRG_APPESAGEMMP) e [Talhão] (CD_UPNIEL3 da tabela BRG_APPESAGEMMP) ou se não foi possível localizar a Ordem de Colheita pelo Ano Agrícola, Período de Produção, [Fazenda], [Setor] e [Talhão] (recuperar o ID_UPNIVEL3 da tabla UPNIVEL3 pelo (CD_SAFRA,  CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP, com o ID_UPNIVEL3 recuperar a ordem de colheita (ID_UPNIVEL3 da tabela ORDCOLHEITA_LC igual ao ID_UPNIVEL3 recuperado), se não foi possível recuperar a ordem de colheita, é gerada a ocorrência: “Equipe configurada como obrigatória na Pesagem para a Cultura/Ocupação, porém não foi informada a Ordem de Colheita”, caso contrário a Equipe não será obrigatória.
  •     Se informado a Equipe pela Integração (CD_EQUIPE da tabela BRG_APPESAGEMMP), a mesma deve estar previamente cadastrada (CD_EQUIPE da tabela BRG_APPESAGEMMP deve estar na tabela EQUIPE) para a unidade administrativa corrente e deve ser igual a Equipe da Ordem de Colheita (ID_EQUIPE recuperado da tabela Equipe deve ser igual ID_EQUIPE da tabela ORDCOLHEITA), caso não esteja cadastrada gerar ocorrência “Equipe inválida”, caso não seja a mesma da Ordem de Colheita gerar ocorrência “Equipe diferente da Ordem de Colheita”.
  •     Quando o Equipamento (CD_EQUIPTO da tabela BRG_APPESAGEMMP) for informado e estiver configurado “Permite informar caminhão não cadastrado” na seção “Pesagem” em “Administração > Configuração por Unidade” (FG_CAMINHAO_NAO_CADASTRADO igual a “S” da tabela PRXPARAMETER para o grupo ID_PRXGPPARAMETER igual a “16”), e o mesmo não estiver cadastrado (CD_EQUIPTO da tabela BRG_APPESAGEMMP não encontrado na tabela EQUIPTO), o Equipamento não será obrigatório e o código será gravado em “CD_CAM_NCAD na tabela APPESAGEMMP”, caso contrário o Equipamento será obrigatório (ID_EQUIPTO da tabela APPESAGEMMP), caso contrário, o Equipamento deve estar cadastrado (CD_EQUIPTO da tabela BRG_APPESAGEMMP deve ser encontrada na tabela EQUIPTO)  e disponível para a Unidade Administrativa (DT_EVENTO da tabela EQUIPTODISP) corrente na data do movimento (DT_MOVIMENTO da tabela BRG_APPESAGEMMP).
  •                 Quando o Equipamento for informado (CD_EQUIPTO da tabela BRG_APPESAGEMMP) e não estiver configurado “Permite informar caminhão não cadastrado” na seção “Pesagem” em “Administração  Configuração por Unidade” (FG_CAMINHAO_NAO_CADASTRADO igual a “N” da tabela PRXPARAMETER para o grupo ID_PRXGPPARAMETER igual a “16”) e não estiver cadastrado (CD_EQUIPTO da tabela BRG_APPESAGEMMP deve estar na tabela EQUIPTO) ou disponível para Unidade Administrativa corrente (DT_EVENTO da tabela EQUIPTODISP) na data do movimento (DT_MOVIMENTO da tabela BRG_APPESAGEMMP) gerar ocorrência “Equipamento (Código) não cadastrado ou disponível para Unidade Administrativa”.   

o    Quando informar o código do Motorista ERP (CD_MOTORISTA_ERP da tabela BRG_APPESAGEMMP), o mesmo deve estar cadastrado (CD_INT_ERP da tabela FUNCIONAR igual a CD_MOTORISTA_ERP da tabela BRG_APPESAGEMMP e para ID_FILIAL do FUNCIONAR igual o ID_FILIAL recuperado a partir do CD_EMPRESA_ERP e CD_FILIAL_ERP da tabela BRG_APPESAGEMMP) e disponível para unidade administrativa corrente (DT_EVENTO da tabela FUNCIONARDISP para a DT_MOVIMENTO da tabela BRG_APPESAGEMMP e unidade administrativa corrente), caso o Motorista ERP não esteja cadastrado ou disponível gerar a ocorrência “Funcionário (código) não está cadastrado ou não está disponível”.

o    Quando informar o código da colhedora (CD_COLHEDORA da tabela BRG_APPESAGEMMP), a mesma deve estar cadastrada (CD_COLHEDORA da tabela BRG_APPESAGEMMP deve estar na tabela EQUIPTO) e disponível para unidade administrativa corrente (DT_EVENTO da tabela EQUIPTODISP para a DT_MOVIMENTO da tabela BRG_APPESAGEMMP), caso a colhedora não esteja cadastrada ou disponível gerar a ocorrência “Colhedora (código) não está cadastrada ou não está disponível”.

o    Quando informar o código do Operador ERP (CD_OPERADOR_ERP da tabela BRG_APPESAGEMMP), o mesmo deve estar cadastrado (CD_INT_ERP da tabela FUNCIONAR igual a CD_OPERADOR_ERP da tabela BRG_APPESAGEMMP e para ID_FILIAL da tabela FUNCIONAR igual ID_FILIAL recuperado a partir do CD_EMPRESA_ERP e CD_FILIAL_ERP da tabela BRG_APPESAGEMMP) e disponível para unidade administrativa corrente (DT_EVENTO da tabela FUNCIONARDISP para a DT_MOVIMENO da tabela BRG_APPESAGEMMP), caso o operador não esteja cadastrado ou disponível gerar a ocorrência “Operador (código) não está cadastro ou não está disponível”.

o    Quando informar o Sistema de Colheita (CD_SIST_COLH da tabela BRG_APPESAGEMMP), o mesmo deve estar cadastrado (CD_SIST_COLH da tabela BRG_APPESAGEMMP deve estar na tabela SISTCOLHEITA) e deve ser o mesmo da Ordem de Colheita (quando informado) (recuperar o ID_SISTCOLHEITA da tabela ORDCOLHEITA e recuperar o ID_SISTCOLHEITA pelo CD_SIST_COLH e comparar), caso não esteja cadastrado gerar ocorrência “Sistema de Colheita inválido”, caso não seja o mesmo da Ordem de Colheita gerar a ocorrência “Sistema de Colheita informado diferente da Ordem de Colheita”.

o    Número do Fardão é obrigatório quando configurado “Usar “Nº de Id. da Carga” na pesagem” no Grupo “Recepção de Matéria Prima” em “Tabelas > Culturas > Cultura/Ocupação” (FG_ID_CARGA igual a “S” da tabela OCUPACAO), caso não seja informado gerar ocorrência “Número do Fardão inválido”, caso contrário não será obrigatório.

o    A 1ª Pesagem (kg) deve ser maior que 0 (zero) (QT_BRUTO da tabela BRG_APPESAGEMMP).

  •        Quando a 1ª Pesagem (kg) (QT_BRUTO da tabela BRG_APPESAGEMMP) for menor ou igual a 0 (zero) gerar ocorrência “1ª Pesagem deve ser positiva e maior que zero”.

o    A 2ª Pesagem (kg) deve ser maior que 0 (zero) (QT_TARA da tabela BRG_APPESAGEMMP).

  •        Quando a 2ª Pesagem (kg) (QT_TARA da tabela BRG_APPESAGEMMP) for menor ou igual a 0 (zero) gerar ocorrência “2ª Pesagem (kg) deve ser positiva e maior que zero”.

o    Total de Descontos (kg) deve ser maior ou igual a 0 (zero) (QT_TOT_IMPUREZA da tabela BRG_APPESAGEMMP).

  •        Quando o Total de Descontos (kg) (QT_TOT_IMPUREZA da tabela BRG_APPESAGEMMP) for menor que 0 (zero) gerar ocorrência “Total de Descontos (kg) deve ser positivo”.

o    Se não informado o Número da Nota (NO_NOTA vazio da tabela BRG_APPESAGEMMP) e estiver configurado “Informar o número da Nota Fiscal, Série e Tipo da Nota Fiscal na Manutenção da Pesagem, Pesagem e Registro de Colheita” em “Tabelas > Culturas > Culturas / Ocupação” (FG_NOTA_FISCAL igual a “S” da tabela OCUPACAO), gerar ocorrência “Número da Nota Fiscal requerida”, caso contrário o Número da Nota Fiscal não é obrigatório.

o    Se não informado o Número da Série (NO_SERIE vazio da tabela BRG_APPESAGEMMP) e estiver configurado “Informar o número da Nota Fiscal, Série e Tipo da Nota Fiscal na Manutenção da Pesagem, Pesagem e Registro de Colheita”, em “Tabelas > Culturas > Culturas / Ocupação” (FG_NOTA_FISCAL igual a “S” da tabela OCUPACAO) gerar ocorrência “Número da Série da Nota Fiscal é requerida”, caso contrário o Número da Série da Nota Fiscal não é obrigatório”;

o    Se não informado o Tipo da Nota Fiscal (TO_NOTA da tabela BRG_APPESAGEMMP) e estiver configurado “Informar o número da Nota Fiscal, Série e Tipo da Nota Fiscal na Manutenção da Pesagem, Pesagem e Registro de Colheita”, em “Tabelas > Culturas > Culturas / Ocupação” (FG_NOTA_FISCAL igual a “S” da tabela OCUPACAO) gerar ocorrência “Tipo da Nota Fiscal requerida”, caso contrário o Tipo da Nota Fiscal não é obrigatório.

o    Se informado o [Talhão] (CD_UPNIVEL3 da tabela BRG_APPESAGEMMP) é verificado se o mesmo está cadastrado para a Ano Agrícola, Período de produção, [Fazenda], [Setor] (CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 da tabela BRG_APPESAGEMMP), caso não esteja será gerada a ocorrência: “[Talhão] não cadastrado para a Ano Agrícola, Período de Produção, [Fazenda] e [Setor] informado”.

o    Se não informada a Ordem de Colheita (NO_ORDCOLHEITA vazio da tabela BRG_APPESAGEMMP), é verificado se há Ordem de Colheita aberta para o Local de Produção informado (recuperar o ID_UPNIVEL3 pelo CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNVIEL2 e CD_UPNIVEL3, com o ID_UPNIVEL3 recuperar as ordens de colheita abertas ID_UPNIVEL3 da tabela ORDCOLHEITA_LC, recuperar o ID_ORDCOLHEITA da tabela ORDCOLHEITA_LC, com o identificador da ordem de colheita, recuperar a ordem de colheita aberta FG_SITUACAO igual “A” e com DT_ORDEM menor igual DT_MOVIMENTO da tabela BRG_APPESAGEMMP e com NO_ORDCOLHEITA da tabela ORDCOLHEITA maior), se não houver é verificado se há Estimativa/ha enviada (QT_KG_COLH da tabela BRG_APPESAGEMMP), se não houver é verificado se há Estimativa/ha para o Local de Produção com data menor ou igual à data de movimento (recuperar QT_KG_COLH da tabela ORDCOLHETA_LC a partir do ID_UPNIVEL3 pelo CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3, com o ID_UPNIVEL3 recuperar as ordens de colheita ID_UPNIVEL3 da tabela ORDCOLHEITA_LC, recuperar o ID_ORDCOLHEITA da tabela ORDCOLHEITA_LC, com identificador da ordem de colheita, recuperar a ordem de colheita com DT_ORDEM menor ou igual a DT_MOVIMENTO da tabela BRG_APPESAGEMMP com NO_ORDCOLHEITA maior da tabela ORDCOLHEITA), se não houver é verificado se há Estimativa/ha padrão configurada para a Cultura/Ocupação do Local de Produção (recuperar o ID_OCUPACAO da tabela OCUPACAO pelo ID_UPNIVEL3 a partir do CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP, com o identificador do talhão, recuperar o ID_PERIODOSAFRA da tabela UPNIVEL3, com identificador do período de produção, recuperar o ID_OCUPACAO da tabela PERIODOSAFRA e com o identificador da ocupação recuperar o QT_KG_EST_PAD da tabela OCUPACAO), se não houver é gerada a ocorrência: “Estimativa/ha padrão não configurada para a Cultura/Ocupação, com isso não é possível gerar a Ordem de Colheita”.

o    Se não informada a Ordem de Colheita (NO_ORDCOLHEITA vazio da tabela BRG_APPESAGEMMP) e estiver configurado que é obrigatório o Sistema de Colheita na Ordem de Colheita para a Cultura/Ocupação (FG_SISTCOL_ORDCOLH igual a “S” da tabela OCUPACAO), é verificado se há Ordem de Colheita aberta para o Local de Produção informado (recuperar o ID_UPNIVEL3 da tabela UPNIVEL3 a partir do CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP, com o identificador do talhão, recuperar as ordens pelo ID_UPNIVEL3 da tabela ORDCOLHEITA_LC e recuperar o ID_ORDCOLHEITA da tabela ORDCOLHEITA_LC, com o identificador do ordem de colheita, recuperar a ordem aberta FG_SITUACAO igual a “A” com DT_ORDEM menor igual DT_MOVIMENTO da tabela BRG_APPESAGEM e com NO_ORDCOLHEITA da tabela ORDCOLHEITA maior e recuperar o ID_SISTCOLHEITA da tabela ORDCOLHEITA), se não houver é gerada a ocorrência: “Sistema de Colheita é obrigatório na Ordem de Colheita para a Cultura/Ocupação, porém não há Sistema de Colheita configurado para o Ordem de Colheita”, se não houver ordem de colheita aberta é verificado se há Sistema de Colheita configurado para o Local de Produção (recuperar ID_UPNIVEL3 da tabela UPNIVEL3 pelo CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP, com o identificador do talhão, recuperar o ID_SISTCOLHEITA da tabela UPNIVEL3), se não houver é gerada a ocorrência: “Sistema de Colheita é obrigatório na Ordem de Colheita para a Cultura/Ocupação, porém não há Sistema de Colheita configurado para o Local de Produção”.

o    Se não informada a Ordem de Colheita (NO_ORDCOLHEITA vazio da tabela BRG_APPESAGEMMP), é verificado se há Ordem de Colheita aberta para o Local de Produção informado (recuperar o ID_UPNIVEL3 pelo CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNVIEL2 e CD_UPNIVEL3, com o ID_UPNIVEL3 recuperar as ordens de colheita abertas ID_UPNIVEL3 da tabela ORDCOLHEITA_LC, recuperar o ID_ORDCOLHEITA da tabela ORDCOLHEITA_LC, com o identificador da ordem de colheita, recuperar a ordem de colheita aberta FG_SITUACAO igual “A” da tabela ORDCOLHEITA e com DT_ORDEM da tabela ORDCOLHEITA menor igual DT_MOVIMENTO da tabela BRG_APPESAGEMMP e com NO_ORDCOLHEITA da tabela ORDCOLHEITA maior), se não houver, é verificado se há Variedade informada para o Local de Produção (recuperar o ID_UPNIVEL3 da tabela UPNIVEL3 pelo CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP, com o identificador do talhão, recuperar o ID_VARIEDADE da tabela UPNIVEL3), se não houver, é verificado se há Variedade para a Ocupação do Local de Produção (recuperar o ID_UPNIVEL3 da tabela UPNIVEL3 pelo CD_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP, com o identificador do talhão, recuperar o ID_PERIODOSAFRA da tabela UPNIVEL3, com o identificador do período de produção, recuperar o ID_OCUPACAO da tabela PERIODOSAFRA, com o identificador da ocupação, recuperar o ID_VARIEDADE da tabela OCUPACAO), se não houver é gerada a ocorrência: “Variedade não configurada para a Local de Produção ou para a Ocupação, com isso não é possível gerar a Ordem de Colheita”. 

Regras para identificar qual o produto utilizado para gerar estoque: 

o    Quando configurado “Finalizar a Pesagem após recebimento de Matéria Prima pela integração com ERP” para o grupo de configuração “Pesagem” em “Administração > Configurações Gerais”, (FG_FINALIZA_PESAGEM_REC_ERP igual a “S” da tabela PRXPARAMETER para o grupo ID_PRXGPPARAMETER  igual a “16”).

  •         Primeiro verifica se há produto Matéria Prima informado na Pesagem (ID_INSUMO da tabela APPESAGEMMP), se existir será esse o produto utilizado para integrar com o estoque.
  •        Se não possuir produto Matéria Prima informado na Pesagem (ID_INSUMO vazio da tabela APPESAGEMMP), o sistema utilizará o produto Matéria Prima da Ordem de Colheita (quando informada) (ID_INSUMO da tabela ORDCOLHEITA_LC, a partir da ID_ORDCOLHEITA da tabela APPESAGEMMP, com o identificador da ordem de colheita, recuperar o ID_INSUMO da tabela ORDCOLHEITA_LC), se existir será esse o produto utilizado para integrar com o estoque.
  •           Se não possuir produto Matéria Prima configurado na ordem de Colheita (ID_INSUMO vazio da tabela ORDCOLHETA_LC), o sistema utilizará o produto Matéria Prima configurado para a Variedade (ID_VARIEDADE da tabela APPESAGEMMP, com o identificador da variedade, recuperar o ID_INSUMO da tabela VARIEDADE), se existir será esse o produto utilizado para integrar com o estoque.
  •          Se não possuir produto Matéria Prima configurado para a Variedade (ID_INSUMO vazio da tabela VARIEDADE) o sistema utilizará o produto Matéria Prima configurado para a Cultura/Ocupação (ID_INSUMO da tabela OCUPACAO_PMPRIMA, a partir do ID_PERIODOSAFRA da tabela APPESAGEMMP, com o identificador da período de safra, recuperar o ID_OCUPACAO, com o identificador da ocupação, recuperar o ID_INSUMO da tabela OCUPACAO_PMPRIMA), quando possuir apenas um produto Matéria Prima configurado.

 

  •          Se não existir produto configurado para a Pesagem (ID_INSUMO vazio da tabela APPESAGEMMP), nem para a Ordem de Colheita (ID_INSUMO vazio da tabela ORDCOLHEITA_LC), nem para Variedade (ID_INSUMO vazio da tabela VARIEDADE), nem para a Cultura/Ocupação (ID_INUSMO vazio da tabela OCUPACAO_PMPRIMA) ou a Cultura/Ocupação possui mais de uma produto associado (ID_INSUMO da tabela OCUPACAO_PMPRIMA) e a Unidade Receptora estiver configurada para integrar com o estoque (FG_INT_ERP igual a “S” da tabela UNIRECEPTORA), o sistema emitirá a mensagem “Não há produto Matéria Prima configurado para essa Pesagem ou ordem de Colheita ou Variedade ou Cultura/Ocupação ou a Cultura/Ocupação possui mais de uma produto associado.”, gerar a ocorrência “Não há produto Matéria Prima configurado para essa Pesagem ou Ordem de Colheita ou Variedade ou Cultura/Ocupação ou a Cultura/ocupação possui mais de uma produto associado, pesagem não Finalizada!” e não irá integrar com estoque. 

o    É verificado se a Data de Entrada foi informada (DT_ENTRADA da tabela BRG_APPESAGEMMP), caso não esteja informado é gerado a ocorrência “Data de Entrada inválida”.

o    É verificado se a Hora de Entrada foi informada (DT_ENTRADA (HH:MI:SS) da tabela BRG_APPESAGEMMP), caso não esteja informado é gerado a ocorrência “Hora de Entrada inválida”.

o    É verificado se a Hora de Entrada é maior que a Hora de Saída (DT_ENTRADA (HH:MI:SS) maior DT_SAIDA (HH:MISS) da tabela BRG_APPESAGEMMP), caso seja é gerado a ocorrência “Hora de Entrada maior que a Hora de Saída”.

o    É verificado se a Data de Saída foi informada (DT_SAIDA da tabela BRG_APPESAGEMMP), caso não esteja informado é gerado a ocorrência “Data de Saída inválida”.

o    É verificado se a Data de Saída é menor que a Data de Entrada (DT_SAIDA menor DT_ENTRADA da tabela BRG_APPESAGEMMP), caso seja é gerado a ocorrência “Data de Saída menor que a Data de Entrada”.

o    É verificado se a Hora de Saída foi informada (DT_SAIDA (HH:MI:SS) da tabela BRG_APPESAGEMMP), caso não esteja informado é gerado a ocorrência “Hora de Saída inválida”.

o    É verificado se a Hora de Saída é menor que a Hora de Entrada (DT_SAIDA (HH:MI:SS) menor DT_ENTRADA (HH:MI:SS) da tabela BRG_APPESAGEMMP), caso seja é gerado a ocorrência “Hora de Saída menor que a Hora de Entrada”. 

o    Se o custo já estiver fechado para a Data de Movimento (DT_MOVIMENTO da tabela BRG_APPESAGEMMP menor ou igual DT_CST_PRC da tabela UNIDADEADM corrente) será gerada a ocorrência “Custo já fechado para essa Data”. 

o    Quando for atualizar a Pesagem verificar se a mesma já foi processada pelo Pagamento de Serviço (ID_APPESAGEMMP da tabela BRG_APPESAGEMMP igual ao ID_APONTAMENTO da tabela SV_HISTCAPTA para o FG_ORIGEM igual a “T”), caso foi processada gerar ocorrência “Pesagem processada pelo Processamento de Pagamento de Serviço”, caso contrário atualizar a pesagem. 

o    Se informado o Local de Produção (CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP) e não informada a Ordem de Colheita (NO_ORDCOLHEITA vazio da tabela BRG_APPESAGEMMP), é verificado se há Ordem de Colheita para o Local de Produção informado (localizar o ID_UPNIVEL3 da tabela UPNIVEL3 pelo CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP, com o identificador do talhão, recuperar a ordem de colheita mais recente menor ou igual a data de movimento e com maior número de ordem e com situação aberto (ID_UPNIVEL3 da tabela UPNIVEL3 igual ID_UPNIVEL3 da tabela ORDCOLHEITA_LC com DT_ORDEM da tabela ORDCOLHEITA menor igual a DT_MOVIMENTO da tabela BRG_APPESAGEMMP e com FG_SITUACAO igual “A” e NO_ORDCOLHEITA maior da tabela ORDCOLHEITA), se existir Ordem de Colheita para o Local de Produção é verificado se há Ordem de Colheita aberta para o Local de Produção (ID_UPNIVEL3 da tabela UPNIVEL3 igual ID_UPNIVEL3 da tabela ORDCOLHEITA_LC com DT_ORDEM da tabela ORDCOLHEITA menor igual a DT_MOVIMENTO da tabela BRG_APPESAGEMMP e com FG_SITUACAO igual “A” e NO_ORDCOLHEITA maior da tabela ORDCOLHEITA) se não existir Ordem de Colheita aberta para o Local de Produção é verificado se a soma das áreas das Ordens de Colheita (sum(QT_AREA_COLH da tabela ORDCOLHEITA_LC para o ID_UPNIVEL3 da tabela UPNIVEL3 do local de produção (CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP igual ao ID_UPNIVEL3 da tabela ORDCOLHEITA_LC)) é igual à área produtiva do Local de Produção (QT_AREA_PROD da tabela UPNIVEL3 igual ao ID_UPNIVEL3 recuperado do local de produção (CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNVIEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP), se a soma das áreas for igual à área produtiva é gerada a ocorrência: “Ordem de Colheita já encerrada para o Local de Produção”. 

o    Se informada a Unidade Receptora ERP (CD_UNI_RECEP_ERP da tabela BRG_APPESAGEMMP) é verificado se a mesma está previamente cadastrada (CD_INT_ERP da tabela UNIRECEPTORA) para a Unidade Administrativa corrente, se não estiver cadastrada é gerada a ocorrência: “Unidade Receptora inválida”.

o    Quando a Unidade Receptora ERP não for informada pela integração (CD_UNI_RECEP_ERP vazio da tabela BRG_APPESAGEMMP), recuperar a Unidade Receptora pela Ordem de Colheita (quando informada) (ID_UNIRECEPTORA da tabela ORDCOLHEITA com o NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP) e quando não estiver configurado “Obrigar a informar Unidade Receptora” para grupo “Recepção de Matéria Prima” em “Tabelas > Culturas > Culturas / Ocupação” (FG_UNIREC_ORDCOLH igual a “N” da tabela OCUPACAO) o campo não será obrigatório, caso contrário gerar ocorrência “Unidade Receptora requerida”.

o    Se não informada a Unidade Receptora ERP (CD_UNI_RECEP_ERP vazio da tabela BRG_APPESAGEMMP) e nem a Ordem de Colheita (NO_ORDCOLHEITA vazio da tabela BRG_APPESAGEMMP), é verificado se há Ordem de Colheita aberta para o Local de Produção (recuperar o ID_UPNIVEL3 da tabela UPNIVEL3 pelo CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP, igual ID_UPNIVEL3 da tabela ORDCOLHEITA_LC com DT_ORDEM da tabela ORDCOLHEITA menor igual a DT_MOVIMENTO da tabela BRG_APPESAGEMMP e com FG_SITUACAO igual “A” e NO_ORDCOLHEITA maior da tabela ORDCOLHEITA), se não houver Ordem de Colheita aberta para o Local de Produção é quando configurado “Obrigar a informar Unidade Receptora” para o grupo “Ordem de Colheita” em “Tabelas > Culturas > Cultura /  Ocupação” (FG_UNIREC_ORDCOLH igual a “S” da tabela OCUPACAO) a Unidade Receptora é obrigatória na Ordem de Colheita para a Cultura/Ocupação (recuperar ID_OCUPACAO da tabela OCUPACAO, pelo ID_UPNIVEL3 da tabela UPNIVEL3 do CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP e com o identificador do talhão, recuperar o ID_PERIODOSAFRA da tabela UPNIVEL3 e com o identificador do período de produção recuperar o ID_OCUPACAO da tabela PERIODOSAFRA), se for obrigatória é gerada a ocorrência: “Unidade Receptora é obrigatória para a Ordem de Colheita.”.

o    Se informado a Ocupação (CD_OCUPACAO da tabela BRG_APPESAGEMMP) é verificado se a mesma está previamente cadastrada (CD_OCUPACAO da tabela BRG_APPESAGEMMP deve estar na tabela OCUPACAO) e deve ser a mesma do [Talhão] da Ordem de Colheita (quando informada) (recuperar o ID_UPNIVEL3 da tabela ORDCOLHEITA_LC, pelo NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP deve estar na tabela ORDCOLHEITA, com identificador do talhão, recuperar o ID_PERIODOSAFRA da tabela UPNIVEL3 e com identificador do período de produção, recuperar o  ID_OCUPACAO da tabela PERIODOSAFRA e com o identificador da ocupação, recuperar o CD_OCUPACAO da tabela OCUPACAO e comparar com CD_OCUPACAO da tabela BRG_APPESAGEMMP)  ou do Local de Produção (recuperar o ID_UPNIVEL3 da tabela UPNIVEL3 a partir do CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIEL3 e com ID_UPNIVEL3 recuperar o ID_PERIODOSAFRA  da tabela UPNIVEL3 e com o identificador do período de produção, recuperar o ID_OCUPACAO da tabela PERIODOSAFRA e com o identificador da ocupação, recuperar o CD_OCUPACAO da tabela OCUPACAO e comparar com o CD_OCUPACAO da tabela BRG_APPESAGEMMP), caso não estiver cadastrado é gerado a ocorrência “Ocupação inválida”, caso não seja a mesmo da Ordem de Colheita ou do Local de Produção é gerado a ocorrência “Ocupação diferente da Ordem de Colheita ou do Local de Produção”.

o    Se configurado “Obrigar a informar a Equipe” para o grupo “Recepção de Matéria Prima” em “Tabelas > Culturas > Cultura / Ocupação” (FG_EQUIPE_PES igual a “S” da tabela OCUPACAO) é verificado se foi informada a Ordem de Colheita (NO_ORCOLHEITA vazia da tabela BRG_APPESAGEMMP), e se não foi informado o Ano Agrícola (CD_SAFRA da tabela BRG_APPESAGEMMP), Período de Produção (CD_PER_SAFRA da tabela BRG_APPESAGEMMP), [Fazenda] (CD_UPNIVEL1 da tabela BRG_APPESAGEMMP), [Setor] (CD_UPNIVEL2 da tabela BRG_APPESAGEMMP) e [Talhão] (CD_UPNIEL3 da tabela BRG_APPESAGEMMP) ou se não foi possível localizar a Ordem de Colheita pelo Ano Agrícola, Período de Produção, [Fazenda], [Setor] e [Talhão] (recuperar o ID_UPNIVEL3 da tabla UPNIVEL3 pelo (CD_SAFRA,  CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP, com o ID_UPNIVEL3 recuperar a ordem de colheita (ID_UPNIVEL3 da tabela ORDCOLHEITA_LC igual ao ID_UPNIVEL3 recuperado), se não foi possível recuperar a ordem de colheita, é gerada a ocorrência: “Equipe configurada como obrigatória na Pesagem para a Cultura/Ocupação, porém não foi informada a Ordem de Colheita”, caso contrário a Equipe não será obrigatória.

o    Se informado a Equipe pela Integração (CD_EQUIPE da tabela BRG_APPESAGEMMP), a mesma deve estar previamente cadastrada (CD_EQUIPE da tabela BRG_APPESAGEMMP deve estar na tabela EQUIPE) para a unidade administrativa corrente e deve ser igual a Equipe da Ordem de Colheita (ID_EQUIPE recuperado da tabela Equipe deve ser igual ID_EQUIPE da tabela ORDCOLHEITA), caso não esteja cadastrada gerar ocorrência “Equipe inválida”, caso não seja a mesma da Ordem de Colheita gerar ocorrência “Equipe diferente da Ordem de Colheita”.

o    Quando o Equipamento (CD_EQUIPTO da tabela BRG_APPESAGEMMP) for informado e estiver configurado “Permite informar caminhão não cadastrado” na seção “Pesagem” em “Administração > Configuração por Unidade” (FG_CAMINHAO_NAO_CADASTRADO igual a “S” da tabela PRXPARAMETER para o grupo ID_PRXGPPARAMETER igual a “16”), e o mesmo não estiver cadastrado (CD_EQUIPTO da tabela BRG_APPESAGEMMP não encontrado na tabela EQUIPTO), o Equipamento não será obrigatório e o código será gravado em “CD_CAM_NCAD na tabela APPESAGEMMP”, caso contrário o Equipamento será obrigatório (ID_EQUIPTO da tabela APPESAGEMMP), caso contrário, o Equipamento deve estar cadastrado (CD_EQUIPTO da tabela BRG_APPESAGEMMP deve ser encontrada na tabela EQUIPTO)  e disponível para a Unidade Administrativa (DT_EVENTO da tabela EQUIPTODISP) corrente na data do movimento (DT_MOVIMENTO da tabela BRG_APPESAGEMMP).

  •  Quando o Equipamento for informado (CD_EQUIPTO da tabela BRG_APPESAGEMMP) e não estiver configurado “Permite informar caminhão não cadastrado” na seção “Pesagem” em “Administração > Configuração por Unidade” (FG_CAMINHAO_NAO_CADASTRADO igual a “N” da tabela PRXPARAMETER para o grupo ID_PRXGPPARAMETER igual a “16”) e não estiver cadastrado (CD_EQUIPTO da tabela BRG_APPESAGEMMP deve estar na tabela EQUIPTO) ou disponível para Unidade Administrativa corrente (DT_EVENTO da tabela EQUIPTODISP) na data do movimento (DT_MOVIMENTO da tabela BRG_APPESAGEMMP) gerar ocorrência “Equipamento (Código) não cadastrado ou disponível para Unidade Administrativa”. 

o    Quando informar o código do Motorista ERP (CD_MOTORISTA_ERP da tabela BRG_APPESAGEMMP), o mesmo deve estar cadastrado (CD_INT_ERP da tabela FUNCIONAR igual a CD_MOTORISTA_ERP da tabela BRG_APPESAGEMMP e para ID_FILIAL do FUNCIONAR igual o ID_FILIAL recuperado a partir do CD_EMPRESA_ERP e CD_FILIAL_ERP da tabela BRG_APPESAGEMMP) e disponível para unidade administrativa corrente (DT_EVENTO da tabela FUNCIONARDISP para a DT_MOVIMENTO da tabela BRG_APPESAGEMMP e unidade administrativa corrente), caso o Motorista ERP não esteja cadastrado ou disponível gerar a ocorrência “Funcionário (código) não está cadastrado ou não está disponível”.

o    Quando informar o código da colhedora (CD_COLHEDORA da tabela BRG_APPESAGEMMP), a mesma deve estar cadastrada (CD_COLHEDORA da tabela BRG_APPESAGEMMP deve estar na tabela EQUIPTO) e disponível para unidade administrativa corrente (DT_EVENTO da tabela EQUIPTODISP para a DT_MOVIMENTO da tabela BRG_APPESAGEMMP), caso a colhedora não esteja cadastrada ou disponível gerar a ocorrência “Colhedora (código) não está cadastrada ou não está disponível”.

o    Quando informar o código do Operador ERP (CD_OPERADOR_ERP da tabela BRG_APPESAGEMMP), o mesmo deve estar cadastrado (CD_INT_ERP da tabela FUNCIONAR igual a CD_OPERADOR_ERP da tabela BRG_APPESAGEMMP e para ID_FILIAL da tabela FUNCIONAR igual ID_FILIAL recuperado a partir do CD_EMPRESA_ERP e CD_FILIAL_ERP da tabela BRG_APPESAGEMMP) e disponível para unidade administrativa corrente (DT_EVENTO da tabela FUNCIONARDISP para a DT_MOVIMENO da tabela BRG_APPESAGEMMP), caso o operador não esteja cadastrado ou disponível gerar a ocorrência “Operador (código) não está cadastro ou não está disponível”.

o    Quando informar o Sistema de Colheita (CD_SIST_COLH da tabela BRG_APPESAGEMMP), o mesmo deve estar cadastrado (CD_SIST_COLH da tabela BRG_APPESAGEMMP deve estar na tabela SISTCOLHEITA) e deve ser o mesmo da Ordem de Colheita (quando informado) (recuperar o ID_SISTCOLHEITA da tabela ORDCOLHEITA e recuperar o ID_SISTCOLHEITA pelo CD_SIST_COLH e comparar), caso não esteja cadastrado gerar ocorrência “Sistema de Colheita inválido”, caso não seja o mesmo da Ordem de Colheita gerar a ocorrência “Sistema de Colheita informado diferente da Ordem de Colheita”.

o    Número do Fardão é obrigatório quando configurado “Usar “Nº de Id. da Carga” na pesagem” no Grupo “Recepção de Matéria Prima” em “Tabelas > Culturas > Cultura/Ocupação” (FG_ID_CARGA igual a “S” da tabela OCUPACAO), caso não seja informado gerar ocorrência “Número do Fardão inválido”, caso contrário não será obrigatório.

o    A 1ª Pesagem (kg) deve ser maior que 0 (zero) (QT_BRUTO da tabela BRG_APPESAGEMMP).

  •         Quando a 1ª Pesagem (kg) (QT_BRUTO da tabela BRG_APPESAGEMMP) for menor ou igual a 0 (zero) gerar ocorrência “1ª Pesagem deve ser positiva e maior que zero”.

o    A 2ª Pesagem (kg) deve ser maior que 0 (zero) (QT_TARA da tabela BRG_APPESAGEMMP).

  •        Quando a 2ª Pesagem (kg) (QT_TARA da tabela BRG_APPESAGEMMP) for menor ou igual a 0 (zero) gerar ocorrência “2ª Pesagem (kg) deve ser positiva e maior que zero”.

o    Total de Descontos (kg) deve ser maior ou igual a 0 (zero) (QT_TOT_IMPUREZA da tabela BRG_APPESAGEMMP).

  •        Quando o Total de Descontos (kg) (QT_TOT_IMPUREZA da tabela BRG_APPESAGEMMP) for menor que 0 (zero) gerar ocorrência “Total de Descontos (kg) deve ser positivo”.

o    Se não informado o Número da Nota (NO_NOTA vazio da tabela BRG_APPESAGEMMP) e estiver configurado “Informar o número da Nota Fiscal, Série e Tipo da Nota Fiscal na Manutenção da Pesagem, Pesagem e Registro de Colheita” em “Tabelas > Culturas > Culturas / Ocupação” (FG_NOTA_FISCAL igual a “S” da tabela OCUPACAO), gerar ocorrência “Número da Nota Fiscal requerida”, caso contrário o Número da Nota Fiscal não é obrigatório.

o    Se não informado o Número da Série (NO_SERIE vazio da tabela BRG_APPESAGEMMP) e estiver configurado “Informar o número da Nota Fiscal, Série e Tipo da Nota Fiscal na Manutenção da Pesagem, Pesagem e Registro de Colheita”, em “Tabelas > Culturas > Culturas / Ocupação” (FG_NOTA_FISCAL igual a “S” da tabela OCUPACAO) gerar ocorrência “Número da Série da Nota Fiscal é requerida”, caso contrário o Número da Série da Nota Fiscal não é obrigatório”;

o    Se não informado o Tipo da Nota Fiscal (TO_NOTA da tabela BRG_APPESAGEMMP) e estiver configurado “Informar o número da Nota Fiscal, Série e Tipo da Nota Fiscal na Manutenção da Pesagem, Pesagem e Registro de Colheita”, em “Tabelas > Culturas > Culturas / Ocupação” (FG_NOTA_FISCAL igual a “S” da tabela OCUPACAO) gerar ocorrência “Tipo da Nota Fiscal requerida”, caso contrário o Tipo da Nota Fiscal não é obrigatório.

o    Se informado o [Talhão] (CD_UPNIVEL3 da tabela BRG_APPESAGEMMP) é verificado se o mesmo está cadastrado para a Ano Agrícola, Período de produção, [Fazenda], [Setor] (CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 da tabela BRG_APPESAGEMMP), caso não esteja será gerada a ocorrência: “[Talhão] não cadastrado para a Ano Agrícola, Período de Produção, [Fazenda] e [Setor] informado”.

o    Se não informada a Ordem de Colheita (NO_ORDCOLHEITA vazio da tabela BRG_APPESAGEMMP), é verificado se há Ordem de Colheita aberta para o Local de Produção informado (recuperar o ID_UPNIVEL3 pelo CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNVIEL2 e CD_UPNIVEL3, com o ID_UPNIVEL3 recuperar as ordens de colheita abertas ID_UPNIVEL3 da tabela ORDCOLHEITA_LC, recuperar o ID_ORDCOLHEITA da tabela ORDCOLHEITA_LC, com o identificador da ordem de colheita, recuperar a ordem de colheita aberta FG_SITUACAO igual “A” e com DT_ORDEM menor igual DT_MOVIMENTO da tabela BRG_APPESAGEMMP e com NO_ORDCOLHEITA da tabela ORDCOLHEITA maior), se não houver é verificado se há Estimativa/ha enviada (QT_KG_COLH da tabela BRG_APPESAGEMMP), se não houver é verificado se há Estimativa/ha para o Local de Produção com data menor ou igual à data de movimento (recuperar QT_KG_COLH da tabela ORDCOLHETA_LC a partir do ID_UPNIVEL3 pelo CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3, com o ID_UPNIVEL3 recuperar as ordens de colheita ID_UPNIVEL3 da tabela ORDCOLHEITA_LC, recuperar o ID_ORDCOLHEITA da tabela ORDCOLHEITA_LC, com identificador da ordem de colheita, recuperar a ordem de colheita com DT_ORDEM menor ou igual a DT_MOVIMENTO da tabela BRG_APPESAGEMMP com NO_ORDCOLHEITA maior da tabela ORDCOLHEITA), se não houver é verificado se há Estimativa/ha padrão configurada para a Cultura/Ocupação do Local de Produção (recuperar o ID_OCUPACAO da tabela OCUPACAO pelo ID_UPNIVEL3 a partir do CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP, com o identificador do talhão, recuperar o ID_PERIODOSAFRA da tabela UPNIVEL3, com identificador do período de produção, recuperar o ID_OCUPACAO da tabela PERIODOSAFRA e com o identificador da ocupação recuperar o QT_KG_EST_PAD da tabela OCUPACAO), se não houver é gerada a ocorrência: “Estimativa/ha padrão não configurada para a Cultura/Ocupação, com isso não é possível gerar a Ordem de Colheita”.

o    Se não informada a Ordem de Colheita (NO_ORDCOLHEITA vazio da tabela BRG_APPESAGEMMP) e estiver configurado que é obrigatório o Sistema de Colheita na Ordem de Colheita para a Cultura/Ocupação (FG_SISTCOL_ORDCOLH igual a “S” da tabela OCUPACAO), é verificado se há Ordem de Colheita aberta para o Local de Produção informado (recuperar o ID_UPNIVEL3 da tabela UPNIVEL3 a partir do CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP, com o identificador do talhão, recuperar as ordens pelo ID_UPNIVEL3 da tabela ORDCOLHEITA_LC e recuperar o ID_ORDCOLHEITA da tabela ORDCOLHEITA_LC, com o identificador do ordem de colheita, recuperar a ordem aberta FG_SITUACAO igual a “A” com DT_ORDEM menor igual DT_MOVIMENTO da tabela BRG_APPESAGEM e com NO_ORDCOLHEITA da tabela ORDCOLHEITA maior e recuperar o ID_SISTCOLHEITA da tabela ORDCOLHEITA), se não houver é gerada a ocorrência: “Sistema de Colheita é obrigatório na Ordem de Colheita para a Cultura/Ocupação, porém não há Sistema de Colheita configurado para o Ordem de Colheita”, se não houver ordem de colheita aberta é verificado se há Sistema de Colheita configurado para o Local de Produção (recuperar ID_UPNIVEL3 da tabela UPNIVEL3 pelo CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP, com o identificador do talhão, recuperar o ID_SISTCOLHEITA da tabela UPNIVEL3), se não houver é gerada a ocorrência: “Sistema de Colheita é obrigatório na Ordem de Colheita para a Cultura/Ocupação, porém não há Sistema de Colheita configurado para o Local de Produção”.

 

o    Se não informada a Ordem de Colheita (NO_ORDCOLHEITA vazio da tabela BRG_APPESAGEMMP), é verificado se há Ordem de Colheita aberta para o Local de Produção informado (recuperar o ID_UPNIVEL3 pelo CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNVIEL2 e CD_UPNIVEL3, com o ID_UPNIVEL3 recuperar as ordens de colheita abertas ID_UPNIVEL3 da tabela ORDCOLHEITA_LC, recuperar o ID_ORDCOLHEITA da tabela ORDCOLHEITA_LC, com o identificador da ordem de colheita, recuperar a ordem de colheita aberta FG_SITUACAO igual “A” da tabela ORDCOLHEITA e com DT_ORDEM da tabela ORDCOLHEITA menor igual DT_MOVIMENTO da tabela BRG_APPESAGEMMP e com NO_ORDCOLHEITA da tabela ORDCOLHEITA maior), se não houver, é verificado se há Variedade informada para o Local de Produção (recuperar o ID_UPNIVEL3 da tabela UPNIVEL3 pelo CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP, com o identificador do talhão, recuperar o ID_VARIEDADE da tabela UPNIVEL3), se não houver, é verificado se há Variedade para a Ocupação do Local de Produção (recuperar o ID_UPNIVEL3 da tabela UPNIVEL3 pelo CD_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP, com o identificador do talhão, recuperar o ID_PERIODOSAFRA da tabela UPNIVEL3, com o identificador do período de produção, recuperar o ID_OCUPACAO da tabela PERIODOSAFRA, com o identificador da ocupação, recuperar o ID_VARIEDADE da tabela OCUPACAO), se não houver é gerada a ocorrência: “Variedade não configurada para a Local de Produção ou para a Ocupação, com isso não é possível gerar a Ordem de Colheita”.

Regras para identificar qual o produto utilizado para gerar estoque: 

o    Quando configurado “Finalizar a Pesagem após recebimento de Matéria Prima pela integração com ERP” para o grupo de configuração “Pesagem” em “Administração > Configurações Gerais”, (FG_FINALIZA_PESAGEM_REC_ERP igual a “S” da tabela PRXPARAMETER para o grupo ID_PRXGPPARAMETER  igual a “16”).

  •        Primeiro verifica se há produto Matéria Prima informado na Pesagem (ID_INSUMO da tabela APPESAGEMMP), se existir será esse o produto utilizado para integrar com o estoque.
  •        Se não possuir produto Matéria Prima informado na Pesagem (ID_INSUMO vazio da tabela APPESAGEMMP), o sistema utilizará o produto Matéria Prima da Ordem de Colheita (quando informada) (ID_INSUMO da tabela ORDCOLHEITA_LC, a partir da ID_ORDCOLHEITA da tabela APPESAGEMMP, com o identificador da ordem de colheita, recuperar o ID_INSUMO da tabela ORDCOLHEITA_LC), se existir será esse o produto utilizado para integrar com o estoque.
  •        Se não possuir produto Matéria Prima configurado na ordem de Colheita (ID_INSUMO vazio da tabela ORDCOLHETA_LC), o sistema utilizará o produto Matéria Prima configurado para a Variedade (ID_VARIEDADE da tabela APPESAGEMMP, com o identificador da variedade, recuperar o ID_INSUMO da tabela VARIEDADE), se existir será esse o produto utilizado para integrar com o estoque.
  •        Se não possuir produto Matéria Prima configurado para a Variedade (ID_INSUMO vazio da tabela VARIEDADE) o sistema utilizará o produto Matéria Prima configurado para a Cultura/Ocupação (ID_INSUMO da tabela OCUPACAO_PMPRIMA, a partir do ID_PERIODOSAFRA da tabela APPESAGEMMP, com o identificador da período de safra, recuperar o ID_OCUPACAO, com o identificador da ocupação, recuperar o ID_INSUMO da tabela OCUPACAO_PMPRIMA), quando possuir apenas um produto Matéria Prima configurado.
  •        Se não existir produto configurado para a Pesagem (ID_INSUMO vazio da tabela APPESAGEMMP), nem para a Ordem de Colheita (ID_INSUMO vazio da tabela ORDCOLHEITA_LC), nem para Variedade (ID_INSUMO vazio da tabela VARIEDADE), nem para a Cultura/Ocupação (ID_INUSMO vazio da tabela OCUPACAO_PMPRIMA) ou a Cultura/Ocupação possui mais de uma produto associado (ID_INSUMO da tabela OCUPACAO_PMPRIMA) e a Unidade Receptora estiver configurada para integrar com o estoque (FG_INT_ERP igual a “S” da tabela UNIRECEPTORA), o sistema emitirá a mensagem “Não há produto Matéria Prima configurado para essa Pesagem ou ordem de Colheita ou Variedade ou Cultura/Ocupação ou a Cultura/Ocupação possui mais de uma produto associado.”, gerar a ocorrência “Não há produto Matéria Prima configurado para essa Pesagem ou Ordem de Colheita ou Variedade ou Cultura/Ocupação ou a Cultura/ocupação possui mais de uma produto associado, pesagem não Finalizada!” e não irá integrar com estoque.

o    Quando configurado “Finalizar a Pesagem após recebimento de Matéria Prima pela integração com ERP” para o grupo de configuração “Pesagem” em “Administração > Configurações Gerais” (FG_FINALIZA_PESAGEM_REC_ERP igual a “S” da tabela PRXPARAMETER para o grupo ID_PRXGPPARAMETER igual a “16”) e configurado que “Todas as Pesagens são Analisadas” para o grupo “Recepção de Matéria Prima” em “Tabelas > Culturas > Cultura/Ocupação” (FG_PESANALIS igual a “S” da tabela OCUPACAO) a qual pertence a Pesagem e não possuir Análise para a Pesagem (ID_APPESAGEMMP da tabela APPESAGMMP não encontrado na tabela APPESAGEMMP_ANL), será gerada a ocorrência “É obrigatório realizar Análise de Matéria Prima para a Pesagem”, caso contrário não será obrigatório.

o    Se informado o Produto ERP pela Integração, o mesmo deve estar previamente cadastrado, caso não esteja cadastrado gerar a ocorrência “Produto ERP inválido”, caso encontre mais de uma Produto associado ao Produto ERP, gerar a ocorrência “Existe mais de um Produto associado ao Produto ERP”, se não for informado o mesmo não será obrigatório.

Se configurado “Necessita de Contrato de Venda da Produção para produto Matéria Prima”, em “Tabelas > Culturas > Cultura/Ocupação” (FG_CVP_MPRIMA igual a “S” da tabela OCUPACAO), e a pesagem possui Controle de Colheita (neste caso todas as pesagens integradas serão consideradas que possuem Controle e Colheita FG_CTRL_COL igual a “S”), será localizado o Contrato vigente de acordo com a Data de Movimento (DT_MOVIMENTO da tabela BRG_APPESAGEMMP maior ou igual a DT_INI_VALIDADE da tabela RC_CONTRATO e menor ou igual a DT_FIM_VALIDADE da tabela RC_CONTRATO_LOC quando informada), se existir verificar se o contrato possui para o Local de Produção da Ordem de Colheita (recuperar o ID_UPNIVEL3 da ORDCOLHEITA_LC pelo NO_ORDCOLHEITA  da tabela BRG_APPESAGEMMP, com o ID_UPNIVEL3 verificar tem contrato associado ID_UPNIVEL3 da tabela ORDCOLHEITA_LC igual ao ID_UPNIVEL3 da tabela RC_CONTRATO_LOC e ID_OCUPACAO da tabela PERIODOSAFRA igual ao ID_OCUPACAO da tabela RC_CONTRATO_LOC, caso não encontre, verificar se tem contrato pelo ID_UPNIVEL2 da tabela UPNIVEL3, ID_UPNIVEL1 da tabela UPNIVEL2, ID_PERIODOSAFRA da tabela UPNIVEL3 e ID_SAFRA da tabela PERIODOSAFRA e ID_OCUPACAO da tabela PERIODOSAFRA igual a ID_UPNIVEL2, ID_UPNIVEL1, ID_PERIODOSAFRA, ID_SAFRA, ID_OCUPACAO e com ID_UPNIVEL3 vazio da tabela RC_CONTRATO_LOC, caso não encontre, verificar se tem contrato pelo ID_UPNIVEL1 da tabela UPNIVEL2, ID_PERIODOSAFRA da tabela UPNIVEL3, ID_SAFRA da tabela PERIODOSAFRA e ID_OCUPACAO da tabela PERIODOSAFRA igual a ID_UPNIVEL1, ID_PERIODOSAFRA, ID_SAFRA e ID_OCUPACAO e com ID_UPNIVEL2 e ID_UPNIVEL3 vazio da tabela RC_CONTRATO_LOC), caso não encontre, caso não encontre, verificar se tem contrato pelo (ID_PERIODOSAFRA da tabela UPNIVEL3 e ID_SAFRA da tabela PERIODOSAFRA e ID_OCUPACAO da tabela PERIODOSAFRA igual a ID_PERIODOSAFRA, ID_SAFRA, ID_OCUPACAO e com ID_UPNIVEL1, ID_UPNIVEL2 e ID_UPNIVEL3 vazio da tabela RC_CONTRATO_LOC, ID_UPNIVEL2, ID_UPNIVEL2, caso não encontre, verificar se tem contrato pelo ID_SAFRA da tabela PERIODOSAFRA e ID_OCUPACAO da tabela PERIODOSAFRA igual a ID_SAFRA, ID_OCUPACAO e com ID_PERIODOSAFRA, ID_UPNIVEL1, ID_UPNIVEL2 e ID_UPNIVEL3 vazio da tabela RC_CONTRATO_LOC, caso não encontre, verificar se tem contrato pelo ID_UPNIVEL2 da tabela UPNIVEL3, ID_UPNIVEL1 da tabela UPNIVEL2, ID_SAFRA da tabela PERIODOSAFRA e ID_OCUPACAO da tabela PERIODOSAFRA igual a ID_UPNIVEL2, ID_UPNIVEL1, ID_SAFRA, ID_OCUPACAO e com ID_PERIODOSAFRA, ID_UPNIVEL3 vazio da tabela RC_CONTRATO_LOC, caso não encontre, verificar se tem contrato pelo ID_UPNIVEL1 da tabela UPNIVEL2, ID_SAFRA da tabela PERIODOSAFRA e ID_OCUPACAO da tabela PERIODOSAFRA igual a ID_UPNIVEL1, ID_SAFRA, ID_OCUPACAO e com ID_PERIODOSAFRA, ID_UPNIVEL2 e ID_UPNIVEL3 vazio da tabela RC_CONTRATO_LOC, caso não encontre, verificar se tem contrato ID_UPNIVEL1 da tabela UPNIVEL2 e ID_OCUPACAO da tabela PERIODOSAFRA igual a ID_UPNIVEL1, ID_OCUPACAO e com ID_SAFRA, ID_PERIODOSAFRA, ID_UPNIVEL2 e ID_UPNIVEL3 vazio da tabela RC_CONTRATO_LOC, caso não encontre, verificar se tem contrato pelo ID_OCUPACAO da tabela PERIODOSAFRA igual ID_OCUPACAO da tabela RC_CONTRATO_LOC) ou Local de Produção informado (recuperar o ID_UPNIVEL3 da tabela UPNIVEL3 pelo CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2, CD_UPNIVEL3 da tabela BRG_APPESAGEMMP e com o ID_UPNIVEL3 verificar tem contrato associado ID_UPNIVEL3 da tabela UPNIVEL3 igual ao ID_UPNIVEL3 da tabela RC_CONTRATO_LOC e ID_OCUPACAO da tabela PERIODOSAFRA igual ao ID_OCUPACAO da tabela RC_CONTRATO_LOC, caso não encontre, verificar se tem contrato pelo ID_UPNIVEL2 da tabela UPNIVEL3, ID_UPNIVEL1 da tabela UPNIVEL2, ID_PERIODOSAFRA da tabela UPNIVEL3 e ID_SAFRA da tabela PERIODOSAFRA e ID_OCUPACAO da tabela PERIODOSAFRA igual a ID_UPNIVEL2, ID_UPNIVEL1, ID_PERIODOSAFRA, ID_SAFRA, ID_OCUPACAO e com ID_UPNIVEL3 vazio da tabela RC_CONTRATO_LOC, caso não encontre, verificar se tem contrato pelo ID_UPNIVEL1 da tabela UPNIVEL2, ID_PERIODOSAFRA da tabela UPNIVEL3, ID_SAFRA da tabela PERIODOSAFRA e ID_OCUPACAO da tabela PERIODOSAFRA igual a ID_UPNIVEL1, ID_PERIODOSAFRA, ID_SAFRA, ID_OCUPACAO e com ID_UPNIVEL2 e ID_UPNIVEL3 vazio da tabela RC_CONTRATO_LOC), caso não encontre, verificar se tem contrato pelo ID_PERIODOSAFRA da tabela UPNIVEL3 igual a ID_SAFRA da tabela PERIODOSAFRA e ID_OCUPACAO da tabela PERIODOSAFRA igual ao ID_PERIODOSAFRA, ID_SAFRA, ID_OCUPACAO e com ID_UPNIVEL1, ID_UPNIVEL2 e ID_UPNIVEL3 vazio da tabela RC_CONTRATO_LOC, caso não encontre, verificar se tem contrato pelo ID_SAFRA da tabela PERIODOSAFRA e ID_OCUPACAO da tabela PERIODOSAFRA igual ID_SAFRA, ID_OCUPACAO e com ID_PERIODOSAFRA, ID_UPNIVEL1, ID_UPNIVEL2 e ID_UPNIVEL3 vazio da tabela RC_CONTRATO_LOC, caso não encontre, verificar se tem contrato pelo ID_UPNIVEL2 da tabela UPNIVEL3, ID_UPNIVEL1 da tabela UPNIVEL2, ID_SAFRA da tabela PERIODOSAFRA, ID_OCUPACAO da tabela PERIODOSAFRA igual a ID_UPNIVEL2, ID_UPNIVEL1, ID_SAFRA, ID_OCUPACAO e com ID_PERIODOSAFRA e ID_UPNIVEL3 vazio da tabela RC_CONTRATO_LOC, caso não encontre, verificar se tem contrato pelo ID_UPNIVEL1 da tabela UPNIVEL2, ID_SAFRA da tabela PERIODOSAFRA e ID_OCUPACAO da tabela PERIODOSAFRA igual a ID_UPNIVEL1, ID_SAFRA, ID_OCUPACAO e com ID_PERIODOSAFRA, ID_UPNIVEL3 e ID_UPNIVEL3 vazio da tabela RC_CONTRATO_LOC, caso não encontre, verificar se tem contrato pelo ID_UPNIVEL2 da tabela UPNIVEL3, ID_UPNIVEL1 da tabela UPNIVEL2 e ID_OCUPACAO da tabela PERIODOSAFRA igual a ID_UPNIVEL2, ID_UPNIVEL1, ID_OCUPACAO e com ID_SAFRA, ID_PERIODOSAFRA e ID_UPNIVEL3 vazio da tabela RC_CONTRATO_LOC, caso não encontre, verificar se tem contrato pelo ID_UPNIVEL1 da tabela UPNIVEL2 e ID_OCUPACAO da tabela PERIODOSAFRA igual a ID_UPNIVEL1, ID_OCUPACAO e com ID_SAFRA, ID_PERIODOSAFRA, ID_UPNIVEL2 e ID_UPNIVEL3 vazio da tabela RC_CONTRATO_LOC, caso não encontre, verificar se tem contrato pelo ID_OCUPACAO da tabela PERIODOSAFRA igual ID_OCUPACAO da tabela RC_CONTRATO_LOC). Se não existir contrato é gerada a ocorrência: “Não há Contrato de Venda da Produção vigente nessa Data de o    Movimento para o Local de Produção e Produto”, caso contrário, não será obrigatório ter contrato de venda.

Sequência de Verificação se tem contrato pelo local de produção:

Sequência

Ocupação

Safra

Período de Produção

[Fazenda]

[Setor]

[Talhão]

1

√   

   

   

   

   

   

2

   

   

   

   

   

 

3

   

   

   

   

 

 

4

   

   

   

 

 

 

5

   

   

 

 

 

 

6

   

 

 

   

   

 

7

   

 

 

   

 

 

8

 

 

 

   

   

 

9

 

 

 

   

 

 

10

   

 

 

 

 

 

 

  • Se possuir contrato de venda vigente será verificado se há algum Produto informado no contrato (RC_CONTRATO_PRO possui informação para o contrato ID_RC_CONTRATO). Se existir algum produto no contrato (ID_INSUMO da tabela RC_CONTRATO_PRO) é verificado se o produto ao qual se refere na pesagem (ID_INSUMO da tabela APPESAGEMMP, caso não encontre produto associado a pesagem, recuperar pela ordem de colheita ID_INSUMO da tabela ORCOLHEITA_LC, a partir da NO_ORCOLHEITA da tabela BRG_APPAGEMMP, com o número da ordem de colheita, recuperar  ID_ORDCOLHEITA da tabela ORDCOLHEITA para a unidade administrativa da pesagem, com o identificador da ordem de colheita, recuperar o ID_INSUMO  da tabela ORDCOLHEITA_LC), caso não encontre produto associado a ordem de colheita, recuperar o produto pela variedade ID_VARIEDADE da tabela APPESAGEMMP, com o identificador da variedade recuperar o ID_INSUMO da tabela VARIEDADE, caso não encontre, recuperar o produto pela ocupação, a partir do ID_PERIODOSAFRA da tabela APPESAGEMMP, com o identificador do período de safra, recuperar o ID_OCUPACAO da tabela PERIODOSAFRA e com o identificador da ocupação recuperar o produto ID_INSUMO da tabela OCUPACAO_PMPRIMA, quando encontrar apenas um produto associado  verificar se está associado ao contrato ID_INSUMO recuperado igual ao ID_INSUMO da tabela RC_CONTRATO_PRO) está no contrato e caso não exista será gerada a ocorrência: “Não há Contrato de Venda da Produção vigente nessa Data de Movimento para o Local de Produção e Produto”. 

Regras para identificar qual o produto utilizado para integrar com o estoque: 

  • Primeiro verifica se há produto Matéria Prima informado na Pesagem (ID_INSUMO da tabela APPESAGEMMP), se existir será esse o produto utilizado para integrar com o estoque.
  • Se não possuir produto Matéria Prima informado na Pesagem (ID_INSUMO vazio da tabela APPESAGEMMP), o sistema utilizará o produto Matéria Prima da Ordem de Colheita (quando informada) (ID_INSUMO da tabela ORDCOLHEITA_LC, a partir da ID_ORDCOLHEITA da tabela APPESAGEMMP, com o identificador da ordem de colheita, recuperar o ID_INSUMO da tabela ORDCOLHEITA_LC), se existir será esse o produto utilizado para integrar com o estoque.
  • Se não possuir produto Matéria Prima configurado na ordem de Colheita (ID_INSUMO vazio da tabela ORDCOLHETA_LC), o sistema utilizará o produto Matéria Prima configurado para a Variedade (ID_VARIEDADE da tabela APPESAGEMMP, com o identificador da variedade, recuperar o ID_INSUMO da tabela VARIEDADE), se existir será esse o produto utilizado para integrar com o estoque.
  • Se não possuir produto Matéria Prima configurado para a Variedade (ID_INSUMO vazio da tabela VARIEDADE) o sistema utilizará o produto Matéria Prima configurado para a Cultura/Ocupação, (ID_INSUMO da tabela OCUPACAO_PMPRIMA, a partir do ID_PERIODOSAFRA da tabela APPESAGEMMP, com o identificador da período de safra, recuperar o ID_OCUPACAO, com o identificador da ocupação, recuperar o ID_INSUMO da tabela OCUPACAO_PMPRIMA), quando possuir apenas um produto Matéria Prima configurado.
  • Se não existir produto configurado para a Pesagem (ID_INSUMO vazio da tabela APPESAGEMP), nem para Ordem de Colheita (ID_INSUMO da tabela ORDCOLHEITA_LC), nem para Variedade (ID_INSUMO vazio da tabela VARIEDADE), nem para a Cultura/Ocupação (ID_INSUMO vazio da tabela OCUPACAO_PMPRIMA) ou a Cultura/Ocupação possuir mais de uma produto associado (ID_INSUMO da tabela OCUPACAO_PMPRIMA), e estiver configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” para o Grupo de Configuração “`Pesagem” em Administração > Configurações Gerais” (FG_FINALIZA_PESAGEM_REC_ERP igual a “S” da tabela PRXPARAMETER para o grupo ID_PRXGPPARAMETER igual a “16”), o sistema emitirá a mensagem “Não há produto Matéria Prima configurado para essa Pesagem ou Ordem de Colheita ou Variedade ou Cultura/Ocupação ou mais de um Produto associado a Cultura/Ocupação”, caso contrário permitir gravar a Pesagem.
  • Regras para identificar a quantidade a ser integrada, quando configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Geais” (FG_FINALIZA_PESAGEM_REC_ERP igual a “S” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “16”):
    • É verificada se a Unidade de Medida do Produto é “Kg-Quilo” (ID_UNIMEDIDA da tabela INSUMO para o produto encontrado, for igual ID_VALOR da tabela PRXPARAMETER para NAME_PARAMETER igual CD_UM_KG e grupo ID_PRXGPPARAMETER igual “12”), se for, a quantidade bruta, quantidade tara e total de descontos integrada será o peso Final. A unidade de medida “Kg-Quilo” deve estar configurada em “Quilo” para o Grupo de Configuração “Unidade de Medida” em “Administração > Configurações Gerais” (ID_UNIMEDIDA da tabela INSUMO para o produto encontrado, for igual ID_VALOR da tabela PRXPARAMETER para NAME_PARAMETER igual CD_UM_KG e grupo ID_PRXGPPARAMETER igual “12”). Se não possuir a unidade de medida configurada como “Kg-Quilo” gerar a ocorrência “Unidade de Medida Quilo não configurada”.
    • Se a Unidade de Medida do produto for diferente de “Kg-Quilo” (ID_UNIMEDIDA da tabela INSUMO para o produto encontrado, for diferente ID_VALOR da tabela PRXPARAMETER para NAME_PARAMETER igual CD_UM_KG e grupo ID_PRXGPPARAMETER igual “12”), o sistema irá buscar o Conversor de Unidade de Medida em “Tabelas > Básicos > Conversor para Unidade de Medida” (VL_FATOR da tabela CONV_UNIMEDIDA para ID_UM_DE da tabela CONV_UNIMEDIDA igual o ID_VALOR da tabela PRXPARAMETER para o NAME_PARAMETER igual CD_UM_KG e grupo ID_PRXGPPARAMETER igual “12” e o ID_UM_PARA da tabela CONV_UNIMEDIDA igual ID_UNIMEDIDA da tabela INSUMO do produto recuperado) que converterá “Quilo” para a Unidade de Medida do Produto. Será aplicado o fator do conversor de Unidade de Medida para converter os Quilos para a quantidade a ser considerada como produção. Se não possuir conversor de unidade de medida (VL_FATOR vazio da tabela CONV_UNIMEDIDA para o ID_UM_DE do parâmetro e ID_UNIMEDIDA da tabela INSUMO) que converta Quilo para a Unidade de Medida do Produto, será gerada a ocorrência “Não há Conversor de Unidade de Medida de Quilo para a Unidade de Medida do Produto Matéria Prima”.
  • Quando estiver configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP”, em “Administração > Configurações Gerais” (FG_FINALIZA_PESAGEM_REC_ERP igual a “S” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “16”) e estiver configurado “Enviar o recebimento de Matéria Prima para integração com o ERP” em “Administração > Configurações Gerais” (FG_ENVIA_PESAGEM_ERP igual a “S” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER  igual a “16”), a Unidade Receptora (ID_UNIRECEPTORA da tabela APPESAGEMMP) será obrigatório para finalizar a pesagem, caso não seja informada gerar ocorrência “Unidade Receptora inválida na finalização da Pesagem de Matéria Prima”.
  • Quando estiver configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP”, em “Administração > Configurações Gerais” (FG_FINALIZA_PESAGEM_REC_ERP igual a “S” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “16”), e não estiver configurado “Enviar o recebimento de Matéria Prima para integração com ERP”, em “Administração > Configurações Gerais” (FG_ENVIA_PESAGEM_ERP igual a “N” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual “16”), a Unidade Receptora (ID_UNIRECEPTORA da tabela APPESAGEMMP) não será obrigatório para finalizar a pesagem.
  • Quando não estiver configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com ERP”, em “Administração > Configurações Gerais” (FG_FINALIZA_PESAGEM_REC_ERP igual “N” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “16”), a Unidade Receptora não será obrigatório.
  • Quando for um alteração de Pesagem de Matéria Prima (ID_APPESAGEMMP com informação da tabela BRG_APPESAGEMMP) e quando configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Gerais” (FG_FINALIZA_PESAGEM_REC_ERP igual “N” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “16”) e quando configurado “Enviar o recebimento de Matéria Prima para integração ERP” em “Administração > Configurações Gerais” (FG_ENVIA_PESAGEM_ERP igual a “N” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual “16”) e a Unidade Receptora está configurada para integrar (FG_INT_ERP igual a “S” da tabela UNIRECETORA), quando a tabela de produção estiver com status (FG_STATUS _EAI da tabela BF_PRODUCAO) “2” (enviado para o ERP) e na tabela temporária com status (FG_STATUS da tabela BRG_BXMATERIAL_EMS) “1” (em execução), gerar a ocorrência “Pesagem em processamento pelo ERP), quando o status (FG_STATUS_EAI) da tabela de produção (BF_PRODUCAO) estiver com “15” (processado com Sucesso pelo ERP) e a tabela temporária estiver com status (FG_STATUS da tabela BRG_BXMATERIAL_EMS) “2” (enviado para o ERP), gerar a ocorrência “Pesagem enviada para ERP aguardando execução”, quando a tabela de produção estiver com status (FG_STATUS_EAI da tabela BF_PRODUCAO) “15” (processado com Sucesso pelo ERP) e a tabela temporária estiver com status (FG_STATUS da tabela BRG_BXMATERIAL_EMS) “4” (Valorizado com Sucesso pelo ERP), gerar a ocorrência “Pesagem Enviada para ERP aguardando valorização), quando a tabela de produção estiver com status (FG_STATUS_EAI da tabela BF_PRODUCAO) “4” (valorizado com Sucesso pelo ERP) e a tabela temporária estiver com status (FG_STATUS da tabela BRG_BXMATERIAL_EMS) “6” (valorizado pelo PIMS), gerar a ocorrência “Pesagem Enviada para ERP e integrada com sucesso”, quando a tabela de produção estiver com status (FG_STATUS_EAI da tabela BF_PRODUCAO) “11” (em execução do Estorno) e a tabela temporária estiver com status (FG_STATUS da tabela BRG_BXMATERIAL_EMS) “10” (Aguardando Execução do Estorno), gerar a ocorrência “Pesagem Enviada para ERP aguardando estorno”, quando a tabela de produção estiver com status (FG_STATUS_EAI da tabela BF_PRODUCAO) “12” (Erro na execução do estorno pelo ERP) e a tabela temporária estiver com status (FG_STATUS da tabela BRG_BXMATERIAL_EMS) “12” (erro na execução do estorno pelo ERP), gerar a ocorrência “Pesagem Enviada para ERP com erro no estorno”.   

Validação da pesagem quando a Ação for excluir: 

  • Não permitir excluir uma pesagem quando custo estiver processado (DT_MOVIMENTO da tabela BRG_BXMATERIAL menor ou igual DT_CST_PRX da tabela UNIDADEADM corrente), caso esteja processamento gerar ocorrência “Custo já fechado para essa Data”.
  • Não permitir excluir uma pesagem processado pelo pagamento de serviço (ID_APPESAGEMMP da tabela BRG_APPESAGEMMP igual ao ID_APONTAMENTO da tabela SV_HISTCAPTA para o FG_ORIGEM igual a “T”), caso já esteja processado gerar a ocorrência “Pesagem processada pelo Processamento de Pagamento de Serviço”.

Não permitir excluir uma pesagem quando o status da tabela de produção estiver com status (FG_STATUS_EAI da tabela BF_PRODUAO) “3” (erro no processamento pelo ERP) e o status da tabela temporária (FG_STATUS da tabela BRG_BXMATERIAL_MES) estiver com “5” (erro na atualização pelo PIMS) ou quando o status da tabela de produção estiver com status (FG_STATUS_EAI da tabela BF_PRODUCAO) “2” (enviado para ERP) e o status da tabela temporária (FG_STATUS da tabela BRG_BXMATERIAL_EMS) estiver com “1” (em execução) ou a tabela de produção estiver com status (FG_STATUS_EAI da tabela BF_PRODUCAO) “15” (Processado com Sucesso pelo ERP) e a status da tabela temporária (FG_STATUS da tabela BRG_BXMATERIAL_EMS) estiver com “2” (Enviado para ERP) ou a tabela de produção estiver com status (FG_STATUS_EAI da tabela BF_PRODUCAO) “15” (processado com Sucesso pelo ERP) e status da tabela intermediária (FG_STATUS da tabela BRG_BXMATERIAL_EMS) estiver com “4” (Valorizado com Sucesso pelo ERP) ou a tabela de produção estiver com status (FG_STATUS_EAI da tabela BF_PRODUCAO) “4” (Valorizado com Sucesso pelo ERP) e o status da tabela intermediária (FG_STATUS da tabela BRG_BXMATERIAL_EMS) estiver “6” (Valorizado pelo PIMS) ou a tabela de produção estiver com status (FG_STATUS_EAI da tabela BF_PRODUCAO) “11” (Em execução do Estorno) e o status da tabela temporária (FG_STATUS da tabela BRG_BXMATERIAL_EMS) estiver com “10” (Aguardando Execução do Estorno) ou se a tabela de produção estiver com status (FG_STAUTS_EAI da tabela BF_PRODUCAO) “12” (Erro na execução do estorno pelo ERP) e o status da tabela intermediária (FG_STATUS da tabela BRG_BXMATERIAL_EMS) estiver com “12” (Erro na execução do estorno pelo ERP).

Fluxo de validação:

 

-         Importar: Importação de todos os registros com status (FG_STATUS_EAI) igual “0” Aguardado processamento na tabela temporária (BRG_APPESAGEMMP). A importação é realizada para todos os registros pendentes de importação (FG_STATUS_EAI igual a “0” da tabela BRG_APPESAGEMP), independente dos filtros aplicados na tela. Após a importação os filtros são limpos e são carregados os registros com erro na importação (FG_STATUS_EAI igual a “3” Erro no processamento da tabela BRG_APPESAGEMMP), ou seja, registros que ficaram pendentes de importação. A importação é realizada seguindo a ordem que os registros foram enviados. Na importação os registros são validados e somente são importados os registros válidos.

Passos para importação: 

  • Validação do registro (processo descrito no passo de validação). 
  • Quando a pesagem não existe na tabela oficial (ID_APPESAGEMMP vazio da tabela BRG_APPESAGEMMP) e a ação for de inclusão (FG_ACAO da tabela BRG_APPESAGEMMP), o Serviço (importacaoRecepcaoMateriaPrima) do PIMSMulticultivos busca toadas as pesagens com status (FG_STATUS_EAI da tabela BRG_APPESAGEMMP) “0” (Aguardando Processamento) que vai alterar o status da tabela temporária (FG_STATUS_EAI da tabela BRG_APPESAGEMMP) para “1” (em processamento), gravar a tabela oficial (APPESAGEMMP) e quando não configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Gerais” (FG_FINALIZA_PESAGEM_REC_ERP  igual a “N” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER  igual a “16”), não chamar o Serviço (realizarIntegracao) para finalizar a pesagem na tabela oficial (APPESAGEMMP), caso contrário chamar o Serviço (realizarIntegracao) para finalizar a pesagem na tabela oficial (APPESAGEMMP), se configurado, “Enviar o recebimento de Matéria Prima para integração com ERP” em “Administração > Configurações Gerais” (FG_ENVIA_PESAGEM_ERP igual a “S” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “16”), gerar a tabela de produção (BF_PRDUCAO) e na tabela intermediária (BRG_BXMATERIAL_EMS), caso contrário, gerar a tabela de produção (BF_PRODUCAO).
    • Caso não exista erro para salvar e finalizar a pesagem na tabela oficial (APPESAGEMMP), a pesagem será salva na tabela oficial (APPESAGEMMP) e o Serviço (importacaoRecepcaoMateriaPrima) do PIMSMulticultivos irá gravar o identificador da pesagem (ID_APPESAGEMMP), o status (FG_STATUS_EAI) para “2” – Processamento com Sucesso, apagar as ocorrências do processamento (FG_MENSAGEM)  e definir que não enviou o retorno (FG_RETORNO_OCORR igual “N”) na tabela temporária (BRG_APPESAGEMMP), e será definido um Serviço agendado (retornoImportacaoRecepcaoMateriaPrima) que vai buscar todas as pesagens com status (FG_STATUS_EAI) igual “2” e com o retorno da ocorrência (FG_RETORNO_OCORR) igual “N” na tabela temporária (BRG_APPESAGEMMP) e enviar a mensagem de retorno com status <statusPesagem> “1” (sucesso) para o ERP que irá marcar que a pesagem foi integrada e alterar a tabela temporária definindo que efetuou o retorno (FG_RETORNO_OCORR igual a “S”).
    • Caso exista erro para salvar ou finalizar a pesagem na tabela oficial (APPESAGEMMP), a pesagem não será salva na tabela oficial (APPESAGEMMP) e o Serviço (importacaoRecepcaoMateriaPrima) do PIMSMulticultivos irá alterar o status (FG_STATUS_EAI) para “3” Erro no processamento, a ocorrência de processamento (FG_MENSAGEM) e definir que não enviou retorno (FG_RETORNO_OCORR igual “N”) na tabela temporária (BRG_APPESAGEMMP), e será definido um Serviço agendado (retornoImportacaoRecepcaoMateriaPrima) que vai buscar todas a pesagens com status (FG_STATUS_EAI) igual a “3” Erro no processamento e com o retorno da ocorrência (FG_RETORNO_OCORR) igual a “N” na tabela temporária (BRG_APPESAGEMMP) e enviar a mensagem de retorno  com status <statusPesagem> “2” (erro) e a ocorrência <ocorrenciaProcessamento> de processamento  encontrada para o ERP marcar que a pesagem não foi integrada, a ocorrência de processamento, para que a mesma seja corrigida e enviada novamente e alterar a tabela temporária definindo que enviou o retorno (FG_RETORNO_OCORR igual a “S”).
  • Quando a pesagem existe na tabela oficial (ID_APPESAGEMMP da tabela BRG_APPESAGEMMP) e a ação é de inclusão (FG_ACAO igual a “I”), o Serviço (importacaoRecepcaoMateriaPrima) do PIMSMulticultivos) busca todas das pesagem com status (FG_STATUS_EAI da tabela BRG_APPESAGEMMP) igual a “0” (Aguardando Processamento), que vai alterar o status da tabela temporária (FG_STATUS_EAI da tabela BRG_APPESAGEMMP) para “1” (em processamento), remover as ocorrências de processamento (FG_MENSAGEM) e definir que não enviou o retorno (FG_RETORNO_OCORR igual “N”), alterar a pesagem na tabela oficial (APPESAGEMMP) e quando não configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Gerais” (FG_FINALIZA_PESAGEM_REC_ERP  igual a “N” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER  igual a “16”), alterar a pesagem na tabela oficial (APPESAGEMMP), caso contrário, se configurado, “Enviar o recebimento de Matéria prima para integração com ERP” em “Administração > Configurações Gerais” (FG_ENVIA_PESAGEM_ERP igual a “S” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “16”), alterar a tabela de produção (BF_PRODUCAO) e a tabela intermediária (BRG_BXMATERIAL_EMS), caso contrário, alterar a pesagem na tabela de produção (BF_PRODUCAO).
    • Caso não exista erro para alterar a pesagem na tabela oficial (APPESAGEMMP), o Serviço do PIMSMulticultivos (importacaoRecepcaoMateriaPrima) irá gravar o identificador da pesagem (APPESAGEMMP>ID_APPESAGEMMP), o status (FG_STATUS_EAI) para “2” – Processamento com Sucesso, apagar as ocorrências (FG_MENSAGEM) do processamento e definir que não enviou o retorno (FG_RETORNO_OCORR igual a “N”) na tabela temporária (BRG_APPESAGEMMP), e será definido um Serviço agendado (retornoImportacaoRecepcaoMateriaPrima) que vai buscar todas as pesagens com status (FG_STATUS_EAI) igual “2” Processamento com Sucesso e com retorno da ocorrência (FG_RETORNO_OCORR) igual a “N” na tabela temporária (BRG_APPESAGEMMP) e enviar a mensagem de retorno com status <statusPesagem> “1” (sucesso) para o ERP marcar que a pesagem foi integrada e alterar a tabela temporária definido que enviou o retorno (FG_RETORNO_OCORR igual a “S”).
    • Caso exista erro para alterar a pesagem na tabela oficial (APPESAGEMMP), o Serviço do PIMSMulticultivos (importacaoRecepcaoMateriaPrima) irá alterar o status (FG_STATUS_EAI) para “3” Erro no processamento, a ocorrência (FG_MENSAGEM) do processamento e definir que não enviou o retorno (FG_RETORNO_OCORR igual a “N”) na tabela temporária (BRG_APPESAGEMMP), e será definido um Serviço agendado (retornoImportacaoRecepcaoMateriaPrima) que vai buscar todas as pesagens com status (FG_STATUS) igual a “3” Erro no processamento e com retorno da ocorrência  (FG_RETORNO_OCORR) igual “N” na tabela temporária (BRG_APPESAGEMMP) e enviar a mensagem de retorno com status <statusPesagem> “2” (erro) e a ocorrência <ocorrenciaProcessamento> encontrada para o ERP marcar que a pesagem não foi integrada, a ocorrência, para que a mesma seja corrigida e enviada novamente e alterar tabela temporária definido que enviou o retorno (FG_RETORNO_OCORR igual a “S” da tabela BRG_APPESAGEMMP).
  • Quando a pesagem não existe na tabela oficial (ID_APPESAGEMMP vazio da tabela BRG_APPESAGEMMP) e a ação é de exclusão (FG_ACAO igual “E”), chamar o Serviço (importacaoRecepcaoMateriaPrima) do PIMSMulticultivos para buscar todas as pesagem com status (FG_STATUS_EAI) “0” (Aguardando processamento), alterando o status (FG_STATUS_EAI) da tabela temporária (BRG_APPESAGEMMP) para “1” (em processamento), como está pesagem não existe na tabela oficial (APPESAGEMMP) o Serviço (importacaoRecepcaoMateriaPrima) do PIMSMulticultivos irá atualizar o status (FG_STATUS_EAI) para “2” – Processamento com Sucesso, apagar as ocorrências (FG_MENSAGEM) do processamento e definir que não enviou o retorno (FG_RETORNO_OCORR igual a “N”) na tabela temporária (BRG_APPESAGEMMP), e será definido um Serviço agendado (retornoImportacaoRecepcaoMateriaPrima) que vai buscar todas as pesagens com status (FG_STATUS_EAI) igual a “2” Processamento com sucesso e com retorno da ocorrência (FG_RETORNO_OCORR) igual “N” na tabela temporária (BRG_APPESAGEMMP) e enviar a mensagem de retorno com status <statusPesagem> “1” (sucesso) para ERP e alterar a tabela temporária definindo que enviou o retorno (FG_RETORNO_OCORR igual a “S” da tabela BRG_APPESAGEMMP).
  • Quando a pesagem existe na tabela oficial (ID_APPESAGEMMP a tabela BRG_APPESAGEMMP igual ID_APPESAGEMMP da tabela APPESAGEMMP) e a ação é de exclusão (FG_ACAO igual a “E” da tabela BRG_APPESAGEMMP), o Serviço (importacaoRecepcaoMateriaPrima) do PIMSMulticultivos busca todas as pesagem com status (FG_STATUS_EAI) “0” (Aguardando processamento), que vai alterar o status da tabela temporária (FG_STATUS_EAI da tabela BRG_APPESAGEMMP) para “1” (em processamento), remover as ocorrências (FG_MENSAGEM) processamento e definir que não enviou o retorno (FG_RETORNO_OCORR) na tabela temporária (BRG_APPESAGEMMP) e excluir a pesagem na tabela oficial (APPESAGEMMP), tabela de produção (BF_PRODUCAO) e na tabela intermediária (BRG_BXMATERIAL_EMS).
    • Caso não exista erro para excluir a pesagem na tabela oficial (APPESAGEMMP), a pesagem será excluída da tabela oficial (APPESAGEMMP) e o Serviço (importacaoRecepcaoMateriaPrima) do PIMSMulticultivos irá remover o identificador da pesagem (ID_APPESAGEMMP), o status (FG_STATUS_EAI) para “2” – Processamento com Sucesso, apagar as ocorrências do processamento (FG_MENSAGEM) e definir que não enviou o retorno (FG_RETORNO_OCORR igual a “N”) na tabela temporária (BRG_APPESAGEMMP) e será definido um Serviço agendado (retornoImportacaoMateriaPrima) que vai buscar todas a pesagens com status (FG_STATUS_EAI) igual a “2” Processamento com sucesso e com o retorno da ocorrência (FG_RETORNO_OCORR) igual a “N” na tabela temporária (BRG_APPESAGEMMP) e enviar a mensagem de retorno com status <statusPesagem> “1” (sucesso) para o ERP e alterar a tabela temporária definindo que enviou o retorno (FG_RETORNO_OCORR igual a “S” da tabela BRG_APPESAGEMMP).
    • Caso exista erro para excluir a pesagem na tabela oficial (APPESAGEMMP), a pesagem não será excluída na tabela oficial (APPESAGEMMP) e o Serviço (importacaoRecepcaoMateriaPrima) do PIMSMulticultivos irá alterar o status (FG_STATUS_EAI) para “3” Erro no processamento, a ocorrência (FG_MENSAGEM) de processamento e definir que não enviou o retorno (FG_RETORO_OCORR igual a”N”) na tabela temporária (BRG_APPESAGEMMP) e será definido um Serviço agendado (retornoImportacaoMateriaPrima) que vai buscar todas a pesagens com status (FG_STATUS_EAI) igual a “3” Erro no processamento e com o retorno da ocorrência (FG_RETORNO_OCORR) igual a “N” e enviar a mensagem de retorno com status <statusPesagem> “2” (erro) e a ocorrência (<ocorrenciaProcessamento>) de processamento encontrada para o ERP e alterar a tabela temporária definindo que enviou o retorno (FG_RETORNO_OCORR igual a “S” da tabela BRG_APPESAGEMMP).
  • Geração da Ordem de Colheita:

A geração da Ordem de Colheita ocorre quando não há Ordem de Colheita informada (NO_ORDCOLHEITA vazio da tabela BRG_APPESAGEMMP), há Local de Produção informado (CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3) e não há Ordem de Colheita aberta para o Local de Produção (recuperar o ID_UPNIVEL3 da tabela UPNIVEL3 pelo CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3, com o identificador do talhão, recuperar ID_APPESAGEM das ordens pelo ID_UPNIVEL3 da tabela ORD_COLHEITA_LC, com o identificador da pesagem, recuperar as ordens aberta FG_SITUACAO igual a “A” da tabela APPESAGEMMP com DT_ORDEM menor que DT_MOVIMENTO da tabela BRG_APPESAGEMP e com NO_ORDCOLHEITA maior).

Dados da Ordem de Colheita:

 

Tabela: ORDCOLHEITA

Campo

 

ID_ORDCOLHEITA

Identificador de ORDCOLHEITA - uso interno/único

NO_ORDCOLHEITA

Quando configurado “Ordem de Colheita compartilhada entre unidades (S/N)”, nas configurações gerais (ORDEM_COMPARTILHADA igual a “S” da tabela PRXPARAMETER para o grupo ID_PRXGPPARAMETER igual a “6”) será gerado sequencial independente da Unidade Administrativa, caso contrário será gerado sequencialmente para Unidade Administrativa.

DT_ORDEM

Data da Ordem de Colheita informado (DT_ORDEM da tabela ORDCOLHEITA atualizar com o DT_ORDEM da tabela BRG_APPESAGEMMP). Quando não informada gerar com a Data de movimento (DT_ORDEM da tabela ORDCOLHEITA atualizar com DT_MOVIMENTO da tabela BRG_APPESAGEMMP) informado.

ID_EQUIPE

Código da Equipe informada (ID_EQUIPE da tabela ORDCOLHEITA atualizar com o ID_EQUIPE da tabela EQUIPE pelo CD_EQUIPE da tabela BRG_APPESAGEMMP). Quando configurado, “Obrigar a informar Equipe” para o grupo “Ordem de Colheita” em “Tabelas > Culturas > Cultura/Ocupação” (FG_EQUIPE_ORDCOLH igual a “S” da tabela OCUPACAO), a equipe é obrigatória, caso contrário não é obrigatório. (Recuperar ID_UPNIVEL3 da tabela UPENIVEL3 pelo CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3, com o identificador do talhão, recuperar o ID_PERIODOSAFRA da tabela UPNIVEL3, com o identificador do período de produção, recuperar o ID_OCUPACAO da tabela PERIODOSAFRA e com o identificador da ocupação recuperar o FG_EQUIPE_ORDCOLH da tabela OCUPACAO pelo ID_OCUPACAO).

ID_UNIRECEPTORA

Unidade Receptora informada (ID_UNIRECEPTORA da tabela ORDCOLHEITA atualizar com o ID_UNIRECEPTORA da tabela UNIRECPETORA pelo CD_UNI_RECEP_ERP da tabela BRG_APPESAGEMMP para unidade administrativa corrente). Quando configurado, “Obrigar a informar Unidade Receptora” para o grupo “Ordem de Colheita” em “Tabelas > Culturas > Cultura/Ocupação” (FG_UNIREC_ORDCOLH igual a “S” da tabela OCUPACAO), a unidade receptora será obrigatório, caso contrário não é obrigatório. (Recuperar ID_UPNIVEL3 da tabela UPNIVEL3 pelo CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3, com o identificador do talhão, recuperar o ID_PERIODOSAFRA da tabela UPNIVEL3, com o identificador do período de produção, recuperar o ID_OCUPACAO da tabela PERIODOSAFRA e com o identificador da ocupação recuperar o FG_UNIREC_ORDCOLH da tabela OCUPACAO pelo ID_OCUPACAO).

ID_SISTCOLHEITA

Sistema de Colheita informado (ID_SISTCOLHEITA da tabela ORDCOLHEITA atualizar com o ID_SISTCOLHEITA da tabela SISTCOLHEITA pelo CD_SIST_COLH da tabela BRG_APPESAGEMMP), caso não seja informado é o sistema de colheita do local de produção (quando informado) (ID_SISTCOLHEITA da tabela SISTCOLHEITA atualizar com ID_SISTCOLHEITA do UPNIVEL3 pelo CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3). Quando configurado, “Obrigar a informar Sistema de Colheita” para o grupo “Ordem de Colheita” em “Tabelas > Culturas > Cultura/Ocupação” (FG_SISTCOL_ORDCOLH igual a “S” da tabela OCUPACAO), o sistema de colheita será obrigatório, caso contrário não é obrigatório. (Recuperar ID_UPNIVEL3 da tabela UPENIVEL3 pelo CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3, com o identificador do talhão, recuperar o ID_PERIODOSAFRA da tabela UPNIVEL3, com o identificador do período de produção, recuperar o ID_OCUPACAO da tabela PERIODOSAFRA e com o identificador da ocupação recuperar o FG_SISTCOL_ORDCOLH da tabela OCUPACAO pelo ID_OCUPACAO).

DT_COLH_INI_PREV

Sem valor

DT_COLH_ENC_PREV

Sem Valor

FG_TIPO

Fixo “C”.

FG_SITUACAO

Fixo “A”.

ID_UNIDADEADM

ID_UNIDADEADM da tabela UNIDADEADM. Recuperar o ID_UNIDADE quando utiliza Unidade Administrativa centralizadora pela Empresa ERP e Filial ERP possui unidade centralizada utilizar o método (selectUnidadeAdmByERPCode) e a classe (MessageProcessor). Basicamente localizar a empresa (CD_INT_ERP da tabela EMPRESA igual a <cdEmpresaErp>), e a filial (CD_FILIAL da tabela FILIAL igual a <cdFilialErp>), com o código empresa e filial localizar o identificador da filial associada a empresa (ID_FILIAL da tabela FILIAL), com a empresa localizar a região administrativa (ID_REGIAOADM da tabela EMPRESA), com o identificador da região administrativa localizar a unidade centralizadora (ID_UNIDADEADM da tabela REGIAO_ADM)). Quando não trabalha com Unidade Centralizadora será a unidade administrativa da Empresa ERP e Filial ERP (CD_EMPRESA_ERP e CD_FILIAL da tabela BRG_APPESAGEMMP).

DT_ENC

Sem valor

FG_ORIGEM_ENC

Sem valor

DT_REABERTURA

Sem valor

ROWVERSION

Controle Interno

LAST_UPDATE

Última data de alteração

CHANGED_BY

Último usuário de alteração

 

 

Tabela: ORDCOLHEITA_LC

Campo

 

ID_ORDCOLHEITA_LC

Identificador de ORDCOLHEITA_LC - uso interno/único

ID_ORDCOLHEITA

Identificador de ORDCOLHEITA - uso interno/único

ID_UPNIVEL3

Recuperar ID_UPNIVEL3 da tabela UPNIVEL3 pelo CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3.

QT_AREA_COLH

Área de Colheita informada (QT_AREA_COLH da tabela BRG_APPESAGEMMP). Quando não informado é a [Área produtiva do Local de Produção] – [Área de outras Ordens de Colheita para o mesmo Local de Produção]. (Recuperar o ID_UPNIVEL3 da tabela UPNIVEL3 pelo CD_SAFRA, CD_PE_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP, com o identificador do talhão, recuperar QT_AREA_PROD da tabela UPNIVEL3) – Área Produtiva talhão menos (recuperar os ID_UPNIVEL3 da tabela UPNVIEL3 pelo CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP, com o identificador do talhão, recuperar SUM(QT_AREA_COLH) da tabela ORDCOLHEITA_LC).

QT_KG_COLH

Estimativa/ha informada (QT_KG_COLH da tabela BRG_APPESAGEMMP), se não informada é verificada a última estimativa registrada para o Local de Produção com data menor ou igual à data de movimento (recuperar o ID_UPNIVEL3 da tabela UPNIVEL3 pelo CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP, com o identificador do talhão, recuperar QT_KG_COLH e ID_ORDCOLHEITA da tabela ORDCOLHEITA_LC, com o identificador da ordem de colheita, recuperar a ordem com DT_ORDEM da tabela ORDCOLHEITA menor ou igual a DT_MOVIMENTO da tabela BRG_APPESAGEMMP com NO_ORDEM da tabela ORDCOLHEITA maior), se não existir será considerada a Estimativa/ha padrão configurada para a Cultura/Ocupação em “Tabelas > Culturas > Cultura/ocupação” (QT_KG_EST_PAD da tabela OCUPACAO). (Recuperar ID_UPNIVEL3 da tabela UPENIVEL3 pelo CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3, com o identificador do talhão, recuperar o ID_PERIODOSAFRA da tabela UPNIVEL3, com o identificador do período de produção, recuperar o ID_OCUPACAO da tabela PERIODOSAFRA e com o identificador da ocupação recuperar o QT_KG_EST_PAD da tabela OCUPACAO pelo ID_OCUPACAO).

DT_COLH_INI

Sem valor

DT_COLH_ENC

Sem valor

ID_VARIEDADE

Variedade do Local de Produção. (ID_VARIEDADE da tabela ORDCOLHEITA atualizar com o ID_VARIEDADE da tabela UPNIVEL3 pelo CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3, caso não encontre, recuperar ID_UPNIVEL3 da tabela UPNIVEL3 pelo CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3, com o identificador do talhão, recuperar o ID_PERIODOSAFRA da tabela UPNIVEL3, com o identificador do período de produção, recuperar o ID_OCUPACAO da tabela PERIODOSAFRA e com o identificador da ocupação recuperar o ID_VARIEDADE da tabela OCUPACAO).

NO_BOLETIM_EXT

Número do Ordem de Colheita Externa: Número da Ordem de Colheita Externa informada. (NO_BOLETIM_EXT da tabela BRG_APPESAGEMMP)

ID_INSUMO

Produto enviado pela integração (recuperar o ID_INSUMO da tabela INSUMO, pelo CD_PRODUTO_ERP da tabela BRG_APPESAGEMMP), caso não seja informado o produto, recuperar o produto pela variedade (ID_VARIEDADE da tabela ORDCOLHEITA_LC, com o identificador da variedade, recuperar o ID_INSUMO da tabela VARIEDADE), caso não encontre produto associado a variedade, recuperar o produto da Cultura/Ocupação (ID_UPNIVEL3 da tabela ORDCOLHEITA_LC, com o identificador do talhão, recuperar o ID_PERIODOSAFRA da tabela UPNIVEL3, com o identificador do período de safra, recuperar o ID_OCUPACAO da tabela PERIODOSAFRA, com o identificador da ocupação, recuperar ID_INSUMO da tabela OCUPACAO_PMPRIMA quando encontrar apenas um produto associado a cultura/ocupação).

ROWVERSION

Controle Interno

LAST_UPDATE

Última data de alteração

CHANGED_BY

Último usuário de alteração

 

  • Geração da Pesagem:
  • Quando não configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Gerais” (FG_FINALIZA_PESAGEM_REC_ERP da tabela igual a “N” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “16”) a pesagem será salva na tabela oficial (APPESAGEMMP), e não chamar o Serviço (realizarIntegracao) para finalizar a pesagem. A finalização da pesagem deve ser executada manualmente pelo usuário”. 

Tabela: APPESAGEMMP

Campo

 

ID_APPESAGEMMP

Identificador de APPESAGEMMP - uso interno/único

NO_BOLETIM

Será gerado sequencialmente para Unidade Administrativa corrente.

ID_UNIDADEADM

ID_UNIDADEADM da tabela UNIDADEADM. Recuperar o ID_UNIDADEADM quando utiliza Unidade Administrativa centralizadora pela Empresa ERP e Filial ERP possui unidade centralizada utilizar o método (selectUnidadeAdmByERPCode) e a classe (MessageProcessor). Basicamente localizar a empresa (CD_INT_ERP da tabela EMPRESA igual a CD_EMPRESA_ERP da tabela BRG_APPESAGEMMP, e a filial (CD_FILIAL da tabela FILIAL igual a CD_FILIAL da tabela BRG_APPESAGEMMP), com o código empresa e filial localizar o identificador da filial associada a empresa (ID_FILIAL da tabela FILIAL), com a empresa localizar a região administrativa (ID_REGIAOADM da tabela EMPRESA), com o identificador da região administrativa localizar a unidade centralizadora (ID_UNIDADEADM da tabela REGIAO_ADM)). Quando não trabalha com Unidade Centralizadora será a unidade administrativa da Empresa ERP e Filial ERP (CD_EMPRESA_ERP e CD_FILIAL da tabela BRG_APPESAGEMMP).

DT_MOVIMENTO

Data de Movimento informada (DT_MOVIMENTO da tabela BRG_APPESAGEMMP).

DT_ENTRADA

Data e Hora da entrada informada (DT_ENTRADA da tabela BRG_APPESAGEMMP).

DT_SAIDA

Data e Hora da saída informada. (DT_SAIDA da tabela BRG_APPESAGEMMP).

NO_PESAGEM

Número do documento utilizado na viagem (se aplicável). Pode ser número da NF, número de Guia de Trânsito Livre ou qualquer outro número de controle informado (NO_PESAGEM da tabela BRG_APPESAGEMMP).

ID_ORDCOLHEITA

Número Ordem de Colheita:

-         Número da Ordem de Colheita informada (se informada).

  • Recuperar o ID_ORDCOLHEITA da tabela ORDCOLHEITA pelo NO_ORDCOLHEITA da tabela BRG_APPESAGEM e unidade administrativa corrente.

-         Número da Ordem de Colheita aberta para o Local de Produção (se encontrada).

  • recuperar o ID_UPNIVEL3 da tabela UPNIVEL3 pelo CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP, com o identificador do talhão, recuperar as ordens de colheita ID_ORDCOLHEITA da tabela ORDCOLHEITA_LC, com o identificador da ordem de colheita, recuperar as ordens abertas FG_SITUACAO igual a “A” da tabela ORDCOLHEITA e com DT_ORDEM da tabela ORDCOLHEITA menor ou igual a DT_MOVIMENTO da tabela BRG_APPESAGEMMP e com NO_ORDCOLHEITA da tabela ORDCOLHEITA maior.

-         Número da Ordem de Colheita gerada para o Local de Produção (se não existir).

  • A geração da Ordem de Colheita ocorre quando não há Ordem de Colheita informada (NO_ORDCOLHEITA vazio da tabela BRG_APPESAGEMMP), há Local de Produção informado (CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3) e não há Ordem de Colheita aberta para o Local de Produção (recuperar o ID_UPNIVEL3 da tabela UPNIVEL3 pelo CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3, com o identificador do talhão, recuperar ID_APPESAGEM das ordens pelo ID_UPNIVEL3 da tabela ORD_COLHEITA_LC, com o identificador da pesagem, recuperar as ordens aberta FG_SITUACAO igual a “A” da tabela APPESAGEMMP com DT_ORDEM menor que DT_MOVIMENTO da tabela BRG_APPESAGEMP e com NO_ORDCOLHEITA maior).

ID_UNIRECEPTORA

Unidade Receptora:

-    Unidade Receptora informada (se informada).

  • Recuperar o ID do cadastro de Unidade Receptora (ID_UNIRECEPTORA da tabela UNIRECEPTORA) a partir do código enviado (CD_UNI_RECEP_ERP da tabela BRG_APPESAGEMMP deve ser igual a CD_INT_ERP da tabela UNIRECEPTORA para unidade administrativa corrente).

-    Unidade Receptora da Ordem de Colheita (se informada).

  • Recuperar o ID_UNIRECEPTORA da tabela ORDCOLHEITA pelo NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP para unidade administrativa corrente.

ID_EQUIPE

Equipe informada. Recuperar o ID_EQUIPE da tabela EQUIPE pelo CD_EQUIPE da tabela BRG_APPESAGEMMP igual ao CD_EQUIPE da tabela EQUIPE para unidade administrativa corrente.

ID_UPNIVEL3

Recuperar o ID do [Talhão] da seguinte maneira:

1 - Pelo número da Ordem de Colheita (NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP igual ao NO_ORDCOLHEITA da tabela ORDCOLHEITA) para a unidade administrativa, com o identificador da ordem de colheita (ID_ORDCOLHEITA da tabela ORDCOLHEITA) recuperar o ID_UPNIVEL3 da tabela ORDCOLHEITA_LC pelo identificador da pesagem (ID_ORDCOLHEITA da tabela ORDCOLHEITA igual ID_ORDCOLHEITA da tabela ORDCOLHEITA_LC).

2 - Recuperar ID_UPNIVEL3 da tabela UPNIVEL3, pelo código da Ano Agrícola, Período de Produção, [Fazenda], [Setor] e [Talhão] (CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP).

QT_BRUTO

Peso Bruto (kg) informado (QT_BRUTO da tabela BRG_APPESGEMMP).

QT_TARA

Peso Tara (kg) informado. (QT_TATA da tabela BRG_APPESAGEMMP).

QT_LIQUIDO

Peso Liquido (kg). (QT_BRUTO menos QT_TARA.

QT_LIQUIDO_DESC

Peso Líquido COM DESCONTO. QT_LIQUIDO menos QT_TOT_IMPUREZA).

QT_TOT_IMPUREZA

Peso Total de Impurezas (kg). QT_TOT_IMPUREZA da tabela BRG_APPESAGEMMP).

ID_CAMINHAO

Recuperar o ID do cadastro de Equipamento (ID_EQUIPTO da tabela EQUIPTO) a partir do código (CD_EQUIPTO da tabela BRG_APPESAGEMMP), caso não encontre e estiver configurado “Permite informar Caminhão não cadastrado” na configuração por unidade “Administração > Configuração por Unidade” (FG_CAMINHAO_NAO_CADASTRADO igual a “S” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “16”) o código do equipamento deverá ser gravado “CD_CAM_NCAD da tabela APPESAGEMMP”.

ID_MOTORISTA

Recuperar o ID do cadastro de Funcionário (ID_FUNCIONAR da tabela FUNCIONAR) a partir do código enviado pela integração (CD_INT_ERP da tabela FUNCIONAR igual a CD_MOTORISTA_ERP da tabela BRG_APPESAGEMMP e para ID_FILIAL da FUNCIONAR igual o ID_FILIAL recuperado a partir do CD_EMPRESA_ERP e CD_FILIAL_ERP da tabela BRG_APPESAGEMMP) e disponível para a unidade administrativa recuperada (DT_EVENTO da tabela FUNCIONARDISP para a DT_MOVIMENTO da tabela BRG_APPESAEMMP e unidade administrativa recuperada),  caso contrário não será obrigatório (CD_MOTORISTA_ERP vazio da tabela BRG_APPESAGEMMP).

ID_COLHEDORA

Recuperar o ID do cadastro de Equipamento (ID_EQUIPTO da tabela EQUIPTO) a partir do código (CD_COLHEDORA da tabela BRG_APPESAGEMMP deve estar na tabela EQUIPTO) e disponível para unidade administrativa recuperada (DT_EVENTO da tabela EQUIPTODISP para a DT_MOVIMENTO da tabela BRG_APPESAEMMP e unidade administrativa recuperada), caso não venha preenchido (CD_COLHEDORA vazio da tabela BRG_APPESAGEMMP) não será obrigatório.

ID_OPERADOR

Recuperar o ID do cadastro de Funcionário (ID_FUNCIONAR da tabela FUNCIONAR) a partir do código (CD_INT_ERP da tabela FUNCIONAR igual a CD_OPERADOR_ERP da tabela BRG_APPESAGEMMP e para ID_FILIAL da FUNCIONAR igual o ID_FILIAL recuperado a partir do CD_EMPRESA_ERP e CD_FILIAL_ERP da tabela BRG_APPESAGEMMP) e disponível para a unidade administrativa recuperada (DT_EVENTO da tabela FUNCIONARDISP para a DT_MOVIMENTO da tabela BRG_APPESAEMMP e unidade administrativa recuperada),  caso contrário não será obrigatório (CD_OPERADOR_ERP vazio da tabela BRG_APPESAGEMMP).

QT_PESO_1

Valor da 1a Pesagem. (QT_BRUTO da tabela BRG_APPESAGEMMP)

QT_PESO_2

Valor da 2a Pesagem. (QT_TARA da tabela BRG_APPESAGEMMP).

FG_DIG_PESO1

Digitação Manual na 1a pesagem (S-Sim, N-Não).  Sem valor.

FG_DIG_PESO2

Digitação Manual na 2a pesagem (S-Sim, N-Não). Sem valor.

ID_USR1

Usuário na 1a pesagem. Sem valor.

ID_USR2

Usuário na 2a pesagem. Sem valor.

ID_BALANCA1

Código da balança utilizada na 1a pesagem. Sem valor.

ID_BALANCA2

Código da balança utilizada na 2a pesagem. Sem valor.

FG_STATUS_EAI

Status de Processamento Integração. Fixo “0”.

NO_ANALISE

Número do Boletim de Análises - único por unidade administrativa Sem valor. Sem valor.

DT_ANALISE

Data da Análise. Sem valor.

NR_IDCARGA

Número de identificação da Carga "Fardão". (NO_FARDAO da tabela BRG_APPESAGEMMP).

FG_CTRL_COL

Controle de Colheita (S-Sim, N-Não). Fixo “S”.

ID_PERIODOSAFRA

Recuperar o ID do cadastro Período de Produção (ID_PERIODOSAFRA da tabela PERIODOSAFRA) pelo número da ordem de colheita (NO_ORCOLHEITA da tabela BRG_APPESAGEMMP deve estar na tabela ORDCOLHEITA, com o identificador da ordem de colheita ID_ORDCOLHEITA da tabela ORDCOLHEITA, recuperar o identificador do talhão ID_UPNIVEL3 da tabela ORDCOLHEITA_LC e com o identificador do talhão recuperar o identificador do período de safra ID_PERIODOSAFRA da tabela UPNIVEL3) ou a partir do código (CD_PER_SAFRA da tabela BRG_APPESAGEMMP, deve estar na tabela PERIODOSAFRA).

ID_VARIEDADE

Recuperar o ID da Variedade associado ao Talhão (ID_VARIEDADE da tabela UPNIVEL3) pelo número da ordem de colheita (NO_ORCOLHEITA da tabela BRG_APPESAGEMMP deve estar na tabela ORDCOLHEITA, com o identificador da ordem de colheita ID_ORDCOLHEITA da tabela ORDCOLHEITA, recuperar o identificador do talhão ID_UPNIVEL3 da tabela ORDCOLHEITA_LC, e com identificador do talhão recuperar o identificador da variedade ID_VARIEDADE), caso não encontre deverá localizar o ID a partir da Cultura/Ocupação (ID_VARIEDADE da tabela OCUPACAO) do Talhão pelo número da ordem de colheita (NO_ORCOLHEITA da tabela BRG_APPESAGEMMP deve estar na tabela ORDCOLHEITA, com o identificador da ordem de colheita ID_ORDCOLHEITA da tabela ORDCOLHEITA, recuperar o identificador do talhão ID_UPNIVEL3 da tabela ORDCOLHEITA_LC, e com identificador do talhão recuperar o identificador do período de produção ID_PERIODOSAFRA da tabela UPNIVEL3 e com o identificador do período de safra recuperar o identificador da ocupação ID_OCUPACAO e com o identificador da ocupação recuperar o ID_VARIEDADE) ou Recuperar o ID da Variedade associado ao Talhão (ID_VARIEDADE da tabela UPNIVEL3) pelo (CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP recuperar o ID_UPNIVEL3, com o identificador do talhão recuperar o identificador da variedade ID_VARIEDADE), caso não encontre deverá localizar o ID a partir da Cultura/Ocupação (ID_VARIEDADE da tabela OCUPACAO) do Talhão pelo (CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP, recuperar o identificador do talhão ID_UPNIVEL3 da tabela UPNIVEL3, e com identificador do talhão recuperar o identificador do período de produção ID_PERIODOSAFRA da tabela UPNIVEL3 e com o identificador do período de safra recuperar o identificador da ocupação ID_OCUPACAO e com o identificador da ocupação recuperar o ID_VARIEDADE).

ID_PROPRIETARIO

Recuperar o ID do cadastro de [Fazenda] (ID_PROPRIETARIO da tabela UPNIVEL1) pelo número da ordem de colheita (NO_ORCOLHEITA da tabela BRG_APPESAGEMMP deve estar na tabela ORDCOLHEITA, com o identificador da ordem de colheita ID_ORDCOLHEITA da tabela ORDCOLHEITA, recuperar o identificador do talhão ID_UPNIVEL3 da tabela ORDCOLHEITA_LC, e com identificador do talhão recuperar o identificador do upnivel2 ID_UPNIVEL2 da tabela UPNIVEL3 e com o identificador do upnivel2, recuperar o identificador do upnivel1 ID_UPNIVEL1 da tabela UPNIVEL2 e com o identificador do upnivel1 recuperar o identificador do proprietário) ou recuperar o ID do cadastro de [Fazenda] (ID_PROPRIETARIO da tabela UPNIVEL1) pelo (CD_SAFRA, CD_PER_SAFRA, CD_UPNIVEL1, CD_UPNIVEL2 e CD_UPNIVEL3 da tabela BRG_APPESAGEMMP recuperar o ID_UPNIVEL3, com identificador do talhão recuperar o identificador do upnivel2 ID_UPNIVEL2 da tabela UPNIVEL3 e com o identificador do upnivel2, recuperar o identificador do upnivel1 ID_UPNIVEL1 da tabela UPNIVEL2 e com o identificador do upnivel1 recuperar o identificador do proprietário)

CD_CAM_NCAD

Será gravado com o código do Equipamento quando o mesmo não estiver cadastrado no PIMSMUlticultivos e estiver configurado “Permite informar Caminhão não cadastrado” na configuração por unidade “Administração > Configuração por Unidade” (FG_CAMINHAO_NAO_CADASTRADO igual a “S” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “16”) (CD_EQUIPTO da tabela BRG_APPESAGEMMP gravar no campo CD_CAM_NCAD).

NO_NOTA

Número da Nota Fiscal informado (NO_NOTA da tabela BRG_APPESAGEMMP)

NO_SERIE

Número da Série da Nota Fiscal informado (NO_SERIE da tabela BRG_APPESAGEMMP)

TP_NOTA

Tipo da Nota Fiscal (R-Remessa,V-Venda) (TP_NOTA da tabela BRG_APPESAGEMMP).

FG_TIPO

Identificação da Pesagem (E-Entrada "recebimento" S-Saída "venda"). Fixo “E”.

NO_BOLETIM_EXT

Número da Pesagem externa gerado pelo ERP informado. (NO_BOLETIM_EXT da tabela BRG_APPESAGEMMP).

ID_INSUMO

Produto enviado pela integração (recuperar o ID_INSUMO da tabela INSUMO, pelo CD_PRODUTO_ERP da tabela BRG_APPESAGEMMP), caso não seja informado o produto, recuperar o produto pela variedade (ID_VARIEDADE da tabela APPESAGEMMP, com o identificador da variedade, recuperar o ID_INSUMO da tabela VARIEDADE), caso não encontre produto associado a variedade, recuperar o produto da Cultura/Ocupação (ID_PERIODOSAFRA da tabela UPNIVEL3, com o identificador do período de safra, recuperar o ID_OCUPACAO da tabela PERIODOSAFRA, com o identificador da ocupação, recuperar ID_INSUMO da tabela OCUPACAO_PMPRIMA quando encontrar apenas um produto associado a cultura/ocupação).

 

  • Quando a pesagem não existe na tabela oficial (ID_APPESAGEMMO vazio da tabela BRG_APPESAGEMMP) e quando não configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Gerais” (FG_FINALIZA_PESAGEM_REC_ERP igual a “N” da tabela PRXPARAMETER para o grupo ID_PRXGPPARAMETER  igual a “16”), não chamar o serviço (realizarIntegracao) para finalizar a pesagem na tabela oficial (APPESAGEMMP), caso contrário chamar o serviço (realizarIntegracao) para finalizar a pesagem na tabela oficial (APPESAGEMMP), se configurado “Enviar o recebimento de Matéria Prima para integração com ERP”, em “Administração > Configurações Gerais” (FG_ENVIA_PESAGEM_ERP  igual a “S” da tabela PRXPARAMETER para o grupo ID_PRXGPPARAMETER  igual a “16”),  gerar a tabela de produção (BF_PRODUCAO) e a tabela intermediária (BRG_BXMATERIAL_EMS), caso contrário gerar a tabela de produção (BF_PRODUCAO).
  • Quando a pesagem existe na tabela oficial (ID_APPESAGEMMO da tabela BRG_APPESAGEMMP igual ID_APPESAEMMP da tabela APPESAGEMMP) e quando não configurado “Finalizar a Pesagem após o recebimento de Matéria Prima pela integração com o ERP” em “Administração > Configurações Gerais” (FG_FINALIZA_PESAGEM_REC_ERP igual “N” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “16”) não alterar a tabela de produção (BF_PRODUCAO) e nem a tabela intermediária (BRG_BXMATERIAL_EMS), caso contrário, se configurado “Enviar Recebimento de Matéria para integração com ERP”, em “Administração > Configurações Gerais”,  em “Administração > Configurações Gerais” (FG_ENVIA_PESAGEM_ERP igual a “S” da tabela PRXPARAMETER do grupo ID_PRXGPPARAMETER igual a “16”), alterar a tabela de produção (BF_PRODUAO) e a tabela intermediária (BRG_BXMATERIAL_EMS), caso contrário alterar a tabela de produção (BF_PRODUCAO).  

Filtros:

 Quando clicar no “Aplicar” do Procurar, recuperar todas as pesagens com FG_STATUS_EAI igual a “0” (Aguardando Processamento) ou “3” (Erro no Processamento) e para unidade administrativa corrente. Recuperar as Pesagens de Matéria Prima para a Unidade Administrativa corrente, pertencentes as Empresa ERP e Filial ERP (CD_EMPRESA_ERP e CD_FILIAL da tabela BRG_APPESAGEMMP), quando não utiliza Unidade Administrativa Centralizadora. Para verificar se a Empresa ERP e Filial ERP possui unidade centralizada utilizar o método (selectUnidadeAdmByERPCode) e a classe (MessageProcessor). Basicamente localizar a empresa (CD_INT_ERP da tabela EMPRESA igual a CD_EMPRESA_ERP da tabela BRG_APPESAGEMMP), e a filial (CD_FILIAL da tabela FILIAL igual a CD_FILIAL_ERP da tabela BRG_APPESAGEMMP), com o código empresa e filial localizar o identificador da filial associada a empresa (ID_FILIAL da tabela FILIAL), com a empresa localizar a região administrativa (ID_REGIAOADM da tabela EMPRESA), com o identificador da região administrativa localizar a unidade centralizadora (ID_UNIDADEADM da tabela REGIAO_ADM), caso não tenha informação para a unidade centralizadora (ID_UNIDADEADM da tabela REGIAO_ADM), localizar a unidade administrativa pela empresa e filial (ID_FILIAL da tabela UNIDADEADM). 

-    Data Inicial para filtro do apontamento de Recepção de Matéria Prima. A Data Inicial não pode ser maior que a Data Final (DT_INICIAL informada maior que DT_FINAL informada) e se informada a Data Inicial e Data Final será obrigatória. (Se informado, recuperar as pesagens, pela DT_MOVIMENTO da tabela BRG_APPESAGEMMP). 

-    Data Final para filtro do apontamento de Recepção de Matéria Prima. A Data Final não pode ser menor que a Data Inicial (DT_FINAL menor DT_INICIAL) e se informada a Data Final a Data Inicial será obrigatória. (Se informado, recuperar as pesagens, pelo DT_MOVIMENTO da tabela BRG_APPESAGEMMP). 

-    Ação: Indica a ação para filtro do apontamento de Recepção de Matéria Prima. 

  • Ambas: Recupera todos os apontamentos de Recepção de Matéria Prima, independente da ação. (Não filtrar pelo FG_ACAO da tabela BRG_APPESAGEMMP).
  • Incluir: Recupera os apontamentos de Recepção de Matéria Prima com a ação igual a “Incluir”. (Se informado, recuperar as pesagens, pelo FG_ACAO igual a “I” da tabela BRG_APPESAGEMMP).
  • Excluir: Recupera os apontamentos de Recepção de Matéria prima com a ação igual a “Excluir”. (Se informado, recuperar ad pesagens, pelo FG_ACAO igual a “E” da tabela BRG_APPESAGEMMP). 

-    Número da Pesagem Externa: Número da pesagem realizada por sistema externo ao PIMSMulticultivos. (Tamanho do Campo: 20 Caracteres). (Se informado, recuperar as pesagens, pelo NO_BOLETIM_EXT da tabela BRG_APPESAGEMMP).

-    Ordem de Colheita: Número da Ordem de Colheita. (Tamanho do Campo: 10 Inteiros). (Se informado, recuperar as pesagens pelo NO_ORDCOLHEITA da tabela BRG_APPESAGEMMP). 

-         Ordem de Colheita Externa: Número da Ordem de Colheita realizado por sistema externo ao PIMSMulticultivos. (Tamanho do Campo: 20 Caracteres). (Se informado, recuperar as pesagens pelo NO_ORDCOLHEITA_EXT da tabela BRG_APPESAGEMMP).

-    Unidade Receptora ERP: Unidade Receptora ERP a qual está sendo entregue a Matéria Prima. (Tamanho do Campo: 20 Caracteres). (Se informado, recuperar as pesagens pelo CD_UNI_RECEP_ERP da tabela BRG_APPESAGEMMP)

-    Ano Agrícola: Ano Agrícola a qual pertence o Local de Produção. Campo visível, quando estiver configurado “Utiliza Ano Agrícola” em “Administração > Configuração do Local de Produção”, campo invisível quando não configurado “Utiliza Ano Agrícola” em “Administração > Configurações dos Locais de Produção”. Quando informado, o Ano Agrícola deve estar previamente Cadastrado. (Tamanho do Campo: 10 Inteiros). (Se informado, recuperar as pesagens, pelo CD_SAFRA da tabela BRG_APPESAGEMMP) 

-    Período de Produção: Período de Produção ao qual pertence o Local de Produção. Quando informado, o Período de Produção deve estar previamente cadastrado. (Tamanho do Campo: 10 Inteiros). (Se informado, recuperar as pesagens, pelo CD_PER_SAFRA da tabela BRG_APPESAGEMMP) 

-    [Fazenda]: [Fazenda] a qual pertence o Local de Produção. Quando informada, a [Fazenda] deve estar previamente cadastrada para a Unidade Administrativa corrente. (Tamanho do Campo: 6 Caracteres). (Se informado, recuperar as pesagens, pelo CD_UPNIVEL1 da tabela BRG_APPESAGEMMP).

-    [Setor]: [Setor] ao qual pertence o Local de Produção. Campo visível, quando estiver configurado “Utiliza “[Setor]” em “Administração > Configuração do Local de Produção”, campo invisível quando não configurado “Utiliza [Setor]” em “Administração > Configurações dos Locais de Produção”. Quando informado, o [Setor] deve estar previamente cadastrado para a [Fazenda] informada. (Tamanho do Campo: 6 Caracteres). (Se informado, recuperar as pesagens, pelo CD_UPNIVEL2 da tabela BRG_APPESAGEMMP).

-    [Talhão]: Local de Produção a qual se refere a Produção. Quando informado, o [Talhão] deve estar previamente cadastrado para o [Setor], quando configurado “Utiliza [Setor]” em “Administração > Configuração do Local de Produção” e Período de Produção informado ou deve estar cadastrado para a [Fazenda], quando não configurado “Utiliza o [Setor]” em “Administração > Configurações do Locais de Produção” e Período de Produção informado. (Tamanho do Campo: 6 Caracteres). (Se informado, recuperar as pesagens, pelo CD_UPNIVEL3 da tabela BRG_APPESAGEMMP).

-    Equipamento: Equipamento utilizado para fazer o transporte da colheita. Quando informado NÃO precisa estar previamente cadastrado. (Tamanho do campo: 10 caracteres). (Se informado, recuperar as pesagens pelo CD_EQUIPTO da tabela BRG_APPESAGEMMP).

-         Motorista ERP: Código do Motorista ERP referente a Pesagem. Quando informado NÃO precisa estar previamente cadastrado. (Tamanho do Campo: 20 Caracteres). (Se informado, recuperar as pesagens, pelo CD_MOTORISTA_ERP da tabela BRG_APPESAGEMMP).

-         Nota Fiscal Inicial: Informar o número da Nota Inicial para pesquisa das pesagens. Campo obrigatório quando informar a Nota Fiscal Final. (Tamanho do Campo: 9 Caracteres). (Se informado, recuperar as pesagens, pelo NO_NOTA da tabela BRG_APPESAGEMMP) 

-         Série: Informar o número da série da Nota fiscal para pesquisa das pesagens. (Tamanho do Campo: 3 Caracteres). (Se informado, recuperar as pesagens, pelo NO_SERIE da tabela BRG_APPESAGEMMP).

-         Tipo: Selecionar o Tipo da Nota Fiscal para pesquisa das pesagens entre “Remessa” ou “Venda”). (Se informado, recuperar as pesagens, pelo TP_NOTA da tabela BRG_APPESAGEMMP).

XML de retorno das pesagens

<cdEmpresaErp>

Será gerado com o código da Empresa ERP da tabela BRG_APPESAGEMMP

<cdFilialErp>

Será gerado com o código da Empresa ERP da tabela BRG_APPESAGEMMP.

<dtMovimento>

Será gerado com a Data da pesagem da tabela BRG_APPESAGEMMP.

<noBoletimExt>

Será gerado com o número da pesagem externa da tabela BRG_APPESAGEMMP.

<noBoletim>

Será gerado com o número do pesagem gravada no PIMSMulticultivos

<statusPesagem>

Será gerado com o status da pesagem (1 – Sucesso, 2 – Erro ou 3 – Pesagem aguardando para ser processada) da tabela BRG_APPESAGEMMP.

<ocorrenciaProcessamento>

Será gerada com a ocorrência quando o status da pesagem for “2” (erro) da tabela BRG_APPESAGEMMP.


17 - Agendamento para Importação de Recepção de Matéria Prima e Retorno das ocorrências para importação de Matéria Prima.

Objetivo: Agendamento da Importação de Recepção e Análise de Matéria Prima e Retorno das ocorrências para importação de Recepção de Matéria Prima para que seja realizada de maneira automática. 

Menu: Administração > Processos Agendados

Entrada de Menu: ADSM0017

Esboço da tela:

Dados:

-    Processo: Indica qual processo será agendado.

 

Processos Agendados

Importação da Recepção de Matéria Prima

importacaoRecepcaoMateriaPrima

Retorno Importação da Recepção de Matéria Prima

retornoImportacaoRecepcaoMateriaPrima

 

Especificação técnica:

 Tabelas:

Descrição

Nome

Situação

Parâmetros de configuração/controle da aplicação

PRXPARAMETER

Existente

-    Incluir o termo para o descritivo “Importação da Recepção de Matéria Prima”.

-    Incluir o termo para o descritivo “Retorno Importação da Recepção de Matéria Prima”. 

-    O processo importação da Recepção de Matéria Prima, executa o Serviço “importacaoRecepcaoMateriaPrima”, que recupera todas as pesagens com status igual “0” (aguardando processamento” da tabela temporária (BRG_APPESAGEMMP).

-    O processo retorno da Importação da Recepção Matéria Prima, executa o Serviço “retornoImportacaoRecepcaoMateriaPrima”, que recupera todas as pesagens com status (FG_STATUS_EAI) igual a “3” (Erro no processamento) e com retorno da ocorrência (FG_RETORNO_OCORR) igual “N” da tabela temporária igual “BRG_APPESAGEMMP).

-    Realizar a inserção do serviço na tabela PRXPROCAGEND, no qual o campo SERVICO deve receber como valor uma string concatenando o [Módulo] + “.” + [Provedor] + “.” + [Serviço].

Onde: [Módulo] = ‘colheita’ (por confirmar com analista)

           [Provedor] = ‘pesagem’ (por confirmar com analista)

           [Serviço] = ‘importacaoRecepcaoMateriaPrima’

INSERT INTO PRXPROCAGEND (ID_PRXPROCAGEND, SERVICO, ID_TERMO, FG_ATIVO, SEGUNDO, MINUTO, HORA, DIA_MES, MES, DIA_SEMANA, EXPRESSAO_CRON, ROWVERSION, LAST_UPDATE, CHANGED_BY) VALUES ([ID_PRXPROCAGEND], 'persistence://pesagem.pesagemManualImport. importacaoRecepcaoMateriaPrima’,[ID_TERMO], 'S', '10', '10', '01', '*', '*', '?', '10 10 01 * * ?', 1, SYSDATE, 'AAP');

Onde:

            [ID_PRXPROCAGEND] = (SELECT MAX(ID_PRXPROCAGEND) +1 ID_PRXPROCAGEND FROM PRXPROCAGEND);

                [SERVICO] = “persistence://pesagem.pesagemManualImport.importacaoRecepcaoMateriaPrima

                [ID_TERMO] = Identificador do termo para o descritivo “Importação da Recepção de Matéria Prima”

                [SEGUNDO] = “10”

                [MINUTO] = “10”

                [HORA] = “01”

                [DIA_MES] = “*”

                [MES] = “*”

                [DIA_SEMANA] = “?”

                [EXPRESSAO_CRON] = “10 10 01 * * ?” 

Onde:

      [Módulo] = ‘pesagem’

      [Provedor] = ‘pesagemManualImport’

      [Serviço] = ‘ImportacaoRecepcaoMateriaPrima’ 

INSERT INTO PRXPROCAGEND (ID_PRXPROCAGEND, SERVICO, ID_TERMO, FG_ATIVO, SEGUNDO, MINUTO, HORA, DIA_MES, MES, DIA_SEMANA, EXPRESSAO_CRON, ROWVERSION, LAST_UPDATE, CHANGED_BY) VALUES ([ID_ PRXPROCAGEND], 'persistence://pesagem.pesagemManualImport.retornoImportacaoRecepcaoMateriaPrima',[ID_TERMO], 'S', '10', '10', '01', '*', '*', '?', '10 10 01 * * ?', 1, SYSDATE, 'AAP');

 

Onde:

            [ID_PRXPROCAGEND] = (SELECT MAX(ID_PRXPROCAGEND) +1 ID_PRXPROCAGEND FROM PRXPROCAGEND);

                [SERVICO] = “persistence://pesagem.pesagemManualImport.retornoImportacaoRecepcaoMateriaPrima

                [ID_TERMO] = Identificador do termo para o descritivo “Retorno Importação da Recepção de Matéria Prima”

                [SEGUNDO] = “10”

                [MINUTO] = “10”

                [HORA] = “01”

                [DIA_MES] = “*”

                [MES] = “*”

                [DIA_SEMANA] = “?”

                [EXPRESSAO_CRON] = “10 10 01 * * ?”

Onde:

      [Módulo] = ‘pesagem’

      [Provedor] = ‘pesagemManualImport’

      [Serviço] = ‘retornoImportacaoRecepcaoMateriaPrima’

 

Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

Cultura/Ocupação

Alteração

Tabelas > Culturas > Cultura/Ocupação

 

Apontamento Ordem de Colheita

Alteração

Apontamentos > Colheita > Ordem de Colheita

 

Apontamento Pesagem

Alteração

Apontamentos > Colheita > Pesagem

 

Manutenção Pesagem

Alteração

Apontamentos > Colheita > Manutenção Pesagem

 

Apontamento Análise Matéria Prima

Alteração

Apontamentos > Colheita > Análise Matéria Prima

 

Relatório Ordem de Colheita

Alteração

Visões > Colheita > Ordem de Colheita

 

Relatório Visões de Colheita

Alteração

Visões > Colheita > Visões de Colheita

 

Relatório Pesagens e Análises

Alteração

Visões > Colheita > Pesagens e Análises

 

Encerrar/Reabrir Ordens de Colheita

Alteração

Apontamentos > Colheita > Encerrar/Reabrir

 

Encerramento do Período de Produção

Alteração

Apontamentos > Colheita > Encerramento do Período de Produção

 

Reabertura do Período de Produção

Alteração

Apontamentos > Colheita > Reabertura do Período de Produção

 

Recupera dados da Ordem de Colheita

Inclusão

WebService recupera dados da Ordem de Colheita

 

Configurações Gerais

Alteração

Administração > Configurações Gerais

 

Importação Apontamento Recepção Matéria Prima ERP

Inclusão

WebService e Serviço de importação da recepção Matéria Prima ERP

 

Importação Recepção Matéria Prima

Inclusão

Apontamentos > Colheita > Importação de Recepção de Matéria Prima

 

Processo Agendado

Alteração

Administração > Processos Agendados

 



 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.