Páginas filhas
  • ER LOGWMS01-927 BP 5.1 Executar Separação Conferência Pesagem Embarque Paralelamente - Configuração BRA

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.                                                             

  

Informações Gerais

 

Especificação

Produto

Logix

Módulo

WMS

Segmento Executor

Supply Chain - InovaçãoLogística

Projeto1

LOGWMS01

IRM1

LOGWMS01-545

Requisito1

LOGWMS01-927

Subtarefa1

LOGWMS01-1147

Chamado2

 

País

( x ) Brasil  (  ) Argentina  (  ) Mexico  México  (  ) Chile  (  ) Paraguai  (  ) EquadorEquador  (  ) USA  (  ) Colombia   Colômbia   (  ) 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). 

 

Objetivo

geral

Geral

Possibilitar o usuário executar que os processos de separação, conferência, pesagem e embarque ; de forma paralelasejam executados paralelamente.

 

Objetivo

específico

Específico

Possibilitar o usuário visualizar os a visualização dos percentuais de execução dos processos de separação, conferência, pesagem e embarque; quando processado paralelamente.

  

Mapa Mental

Na sequencia, será exibida sequência é apresentada a imagem do mapa mental Mapa Mental utilizado como base para a definição desse processo.:

 

Image Modified

 

Definição da Regra de Negócio

 

WMS6242 - Conferência de expedição - Coletor de dados

Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

LOG00086 - Menu de parâmetrosParâmetros

[Alteração]

Manutenção de parâmetros

-

WMSR136 - Regra de negócio referente a expedição paralela[Criação]--

WMS6325 - Solicitação de cargaCarga

[Alteração]

-

-

WMS60013 - Contrato do Depositante[Alteração]--
WMS60018 - Contrato - Expedição - Separação/Conferência[Alteração]--WMS6258 - Conferência de expedição -
DesktopWMS60029 - Contrato - Expedição - Pesagem[Alteração]--
WMS60019 - Contrato - Expedição - Embarque/Fiscal[Alteração]--

WMS6242 - Conferência de Expedição - Coletor de dados

[Alteração]

-

-

WMS6258 - Conferência de Expedição - Desktop[Alteração]--

 

Para atingir o resultado esperado detalhado acima, as seguintes alterações Para atingir o resultado esperado detalhado acima, as seguintes alteração de funções e programas serão são necessárias: 

LOG00086 -

 

Menu de

parâmetros

Parâmetros

  • Manutenção de

parâmetros
  • Parâmetros > Logix WMS > Logix WMS > Expedição

  • Criar um novo parâmetro no LOG00086, da seguinte forma:

    1. Descrição:Permite iniciar a conferência antes de finalizar a separação? Exibe o percentual disponível para a conferência? 
    2. Informação do parâmetro: Indica se será permitido iniciar exibido o percentual de mercadorias disponíveis para a conferência da expedição, antes de concluir a separação de todos os produtos.
    3. Valor padrão: N (Não).
    4. Valores: S (Sim) ou N (Não).

  • Criar um novo parâmetro no LOG00086, da seguinte forma:

    1. Descrição: Permite iniciar a pesagem antes de finalizar a conferência Exibe o percentual disponível para o embarque?

    2. Informação do parâmetro: Indica se será permitido iniciar a pesagem, antes de concluir a conferência de todos os produtosexibido o percentual de mercadorias disponíveis para o embarque.

    3. Valor padrão: N (Não).

    4. Valores: S (Sim) ou N (Não).

    Criar um novo parâmetro no LOG00086, da seguinte forma:
  • Descrição: Permite iniciar o embarque antes de finalizar a conferência/pesagem?

  • Informação do parâmetro: Indica se será permitido iniciar o embarque, antes de concluir a conferência/pesagem de todos os produtos.

  • Valor padrão: N (Não).

  • Valores: S (Sim) ou N (Não).

  • Validação: Não permitir alterar este parâmetro, caso exista algum depositante configurado com conferência automática de volumes, e possua a sua atividade em andamento. Se o sistema encontrar algum registro no sql abaixo, não permitir alterar o parâmetro:

WMSR136 - Regra de Negócio Para a Expedição Paralela

Função wmsr136_calcula_percentual_disponível_conferencia().

  • Responsável por calcular o percentual de estoque disponível para conferir.

  • Receberá: Empresa, Solicitação de Carga e Modo de exibição.

  • Retornará: Percentual de estoque disponível para conferir.

  • No início desta função, o sistema deverá consultar a quantidade de itens que já foram separados:

 

Bloco de código
languagejs
titleSQL -
Verifica conferência automática
Quantidade de itens que já foram separados.
collapsetrue
SELECT 
DISTINCT 1
SUM(estoque_loc_reser.qtd_reservada)
  FROM wms
_ativ
_solic_carga_item_reserva
      ,wms
_ordem_servico_ativ
_item_onda_plano
      ,estoque_loc_reser
      ,wms_
conferencia
processo_
separacao_item
moviment
 WHERE wms
_ativ
_solic_carga_item_reserva.empresa = [empresa]
   AND wms_
ativ.tip_processo IN(308,310,311,312,313,314)
solic_carga_item_reserva.trans_solicitacao_carga_mestre = [Solicitação de carga]
   AND wms_
ordem
item_
servico
onda_
ativ
plano.empresa = wms
_ativ
_solic_carga_item_reserva.empresa 
   AND wms_
ordem
item_
servico
onda_
ativ
plano.
ativ
reserva = wms
_ativ.ativ
_solic_carga_item_reserva.reserva 
   AND 
wms
estoque_
conferencia
loc_
separacao
reser.cod_
item.
empresa = wms_
ordem
item_
servico
onda_
ativ
plano.empresa
   AND 
wms
estoque_
conferencia
loc_
separacao_item
reser.
ordem
num_
servico
reserva = wms_
ordem
item_
servico
onda_
ativ
plano.
ordem_servico
reserva
   AND wms_
conferencia_separacao_item.atividade
processo_moviment.empresa = wms_item_onda_plano.empresa
   AND wms_processo_moviment.processo_moviment = wms_
ordem
item_
servico
onda_
ativ
plano.
ativ
processo_moviment
   AND wms_
conferencia
processo_
separacao_item.sit_item NOT IN('F','C')
moviment.tip_processo_moviment = 'C'
   AND wms_
conferencia
processo_
separacao_item.qtd_conferida > 0
moviment.sit_processo_moviment = 'FI'

 

  • Após consultar a quantidade de itens separados, o sistema deverá pesquisar a quantidade de itens conferidos:

 

Bloco de código
languagejs
titleSQL - Quantidade de itens que já foram conferidos.
collapsetrue
SELECT SUM(wms_conferencia_separacao_item.qtd_conferida)
  FROM wms_conferencia_separacao_item
 WHERE wms_conferencia_separacao_item.empresa = [empresa]
   AND wms_conferencia_separacao_item.trans_solicitacao_carga_mestre = [Solicitação de carga]
   AND wms_conferencia_separacao_item.sequencial_conferencia = (SELECT MAX(wms_conferencia_separacao.sequencial_conferencia)
                                                                  FROM wms_conferencia_separacao 
                                                                 WHERE wms_conferencia_separacao.empresa = [empresa]
                                                                   AND wms_conferencia_separacao.trans_solicitacao_carga_mestre = [Solicitação de carga])

 

  • Após consultar a quantidade de itens conferidos, o sistema deverá pesquisar a quantidade de itens solicitados:

 

Bloco de código
languagejs
titleSQL - Quantidade de itens solicitados.
collapsetrue
SELECT SUM(wms_solicitacao_carga_item.qtd_solicitada)
  FROM wms_solicitacao_carga_item
 WHERE wms_solicitacao_carga_item.empresa = [empresa]
   AND wms_solicitacao_carga_item.trans_solicitacao_carga_mestre = [Solicitação de carga]
   AND wms_solicitacao_carga_item.sit_item <> ‘C’

 

  • Depois de consultar as quantidades, o sistema deverá calcular o percentual de mercadorias pendentes de conferência, da seguinte forma:
    (((Quantidade de itens separados - Quantidade de itens que já foram conferidos) x 100) / (Quantidade de itens solicitados - Quantidade de itens que já foram conferidos))

WMS6325 - Solicitação de Carga

  • Criar 4 novos campos na pasta Dados Complementares, na qual serão apresentados os status dos seguintes processos: Separação, Conferência, Pesagem e Embarque.

  • Criar 3 novos campos na pasta Dados Complementares, para que seja informado se permite executar paralelamente a expedição ou não. Ao incluir uma Solicitação de Carga, o sistema deverá carregar os valores padrão cadastrados no Contrato do depositante. Após confirmar a inclusão da Solicitação de Carga, esses campos deverão ser armazenados na tabela wms_solicitacao_carga_mestre.

Função wms6325_carrega_status_processos()

  • Função responsável por carregar o status de cada processo de expedição.

  • Receberá: Empresa, Solicitação de Carga, Sequencial do item e Modo de exibição.

  • Retornará: status (TRUE ou FALSE).

  • Observação: Essa função deverá estar preparada para receber o campo Sequencial do Item; caso a informação não seja enviada, deverá ser considerado todos os itens da solicitação de carga.

  • Durante o processamento dessa função, o sistema deverá consultar o percentual de execução de cada etapa da expedição:

 

Nota
titleNão terá cálculo de percentual
  1. Se a situação da solicitação de carga for igual a: A, B, C, D, I, L, M, O; não será realizado nenhum cálculo, pois nenhum dos processos foi executado:
    1.  O sistema deverá considerar o status dos processos de separação e embarque; igual a 0% (Não iniciado).
    2. Para o processo de conferência, o sistema deverá verificar se a solicitação possui controle granel ou não (wmsr118_verifica_sc_granel):
      1. Se for granel, deverá ser considerado o o status da conferência igual a -%, exibindo a cor cinza conforme o protótipo 1.
      2. Se não for granel, deverá ser considerado o status da conferência igual a 0% (Não iniciado).
    3. Para o processo de pesagem, o sistema deverá verificar se a solicitação possui controle granel ou não (wmsr118_verifica_sc_granel):
      1. Se for granel, deverá ser considerado o status da pesagem igual a -%, exibindo a cor cinza conforme o Protótipo 1.
      2. Se não for granel, o sistema deverá verificar se o depositante possui essa etapa configurada:
        1. Se possuir, deverá ser considerado o status da pesagem igual a 0% (Não iniciado), retornando para a função de origem.
        2. Se não possuir, deverá ser considerado o status da pesagem igual a -%, exibindo a cor cinza conforme o protótipo 1, retornando para a função de origem.
  2. Se a situação da solicitação de carga for igual a: 1, 2, 3, 4, U, R, E; não será realizado nenhum cálculo, pois os processos já foram concluídos:
    1. O sistema deverá considerar o status dos processos de separação e embarque; igual a 100% (Concluído).
    2. Para o processo de conferência, o sistema deverá verificar se a solicitação possui controle granel ou não (wmsr118_verifica_sc_granel):
      1. Se for granel, deverá ser considerado o o status da conferência igual a -%, exibindo a cor cinza conforme o Protótipo 1.
      2. Se não for granel, deverá ser considerado o status da conferência igual a 100% (Concluído).
    3. Para o processo de pesagem, o sistema deverá verificar se a solicitação possui controle granel ou não (wmsr118_verifica_sc_granel):
      1. Se for granel, deverá ser considerado o o status da pesagem igual a -%, exibindo a cor cinza conforme o Protótipo 1.
      2. Se não for granel, o sistema deverá verificar se o depositante possui essa etapa configurada:
        1. Se possuir, deverá ser considerado o status da pesagem igual a 100% (Concluído), retornando para a função de origem.
        2. Se não possuir, deverá ser considerado o status da pesagem igual a -%, exibindo a cor cinza conforme o Protótipo 1, retornando para a função de origem.

 

  • Criar um novo parâmetro no LOG00086, da seguinte forma:
    1. Descrição: Exibe o percentual disponível para a conferência? 
    2. Informação do parâmetro: Indica se será exibido o percentual de mercadorias disponíveis para a conferência da expedição.
    3. Valor padrão: N (Não).
    4. Valores: S (Sim) ou N (Não).

  • Criar um novo parâmetro no LOG00086, da seguinte forma:
    1. Descrição: Exibe o percentual disponível para o embarque?

    2. Informação do parâmetro: Indica se será exibido o percentual de mercadorias disponíveis para o embarque.

    3. Valor padrão: N (Não).

    4. Valores: S (Sim) ou N (Não).

 

WMS6325 - Solicitação de carga

Criar 4 novos campos na aba Dados complementares, aonde serão apresentados os status dos seguintes processos: Separação, Conferência, Pesagem e Embarque.

Função wms6325_carrega_status_processos()

  • Função responsável por carregar o status de cada processo de expedição.
  • Retornará: status (TRUE ou FALSE).
  • Durante o processamento desta função, o sistema deverá consultar o percentual de execução de cada etapa da expedição
NotatitleNão terá cálculo de percentual

    1. Se a situação da solicitação de carga for igual S, o sistema deverá realizar a seguinte pesquisa (Separação):

      1. Consultar a quantidade total de itens que devem ser separados:

 

    1. Se a situação da solicitação de carga for igual a S, o sistema deverá realizar a seguinte pesquisa (Separação):
      1. Consultar a quantidade total de itens que devem ser separados:
        1. Se a

A, B, C, D, I, L, M, O; não será realizado nenhum cálculo, pois nenhum dos processos foi executado:
  1.  O sistema deverá considerar o status dos processos de separação, conferência e embarque; igual a 0% (Não iniciado).
  2. Para o processo de pesagem, o sistema deverá verificar se o depositante possui essa etapa configurada:
    1. Se possuir, deverá ser considerado o status da pesagem igual a 0% (Não iniciado), retornando para a função de origem.
    2. Se não possuir, deverá ser considerado o o status da pesagem igual a -%, exibindo a cor cinza conforme o protótipo 1, retornando para a função de origem.
  • Se a situação da solicitação de carga for igual a: 1, 2, 3, 4, U, R, V, X, N, E; não será realizado nenhum cálculo, pois nenhum dos processos foi executado:
    1. O sistema deverá considerar o status dos processos de separação, conferência e embarque; igual a 100% (Concluído).
    2. Para o processo de pesagem, o sistema deverá verificar se o depositante possui essa etapa configurada:
      1. Se possuir, deverá ser considerado o status da pesagem igual a 100% (Concluído), retornando para a função de origem.
      2. Se não possuir, deverá ser considerado o o status da pesagem igual a -%, exibindo a cor cinza conforme o protótipo 1, retornando para a função de origem.
          1. Solicitação de Carga possuir controle de granel:

            1. Se o documento for mestre:

              Bloco de código
              languagejs
              titleSQL - Granel mestre
              collapsetrue
              SELECT SUM(wms_solicitacao_carga_item.qtd_solicitada)
                FROM wms_expedicao_granel
                    ,wms_expedicao_granel_veiculo
                    ,wms_solicitacao_carga_item
               WHERE wms_expedicao_granel.empresa = [empresa]
                 AND wms_expedicao_granel.solicitacao_carga = [Solicitação de carga] 
                 AND wms_expedicao_granel_veiculo.empresa = wms_expedicao_granel.empresa
                 AND wms_expedicao_granel_veiculo.transacao_expedicao_granel = wms_expedicao_granel.transacao_expedicao_granel
                 AND wms_solicitacao_carga_item.empresa = wms_expedicao_granel_veiculo.empresa
                 AND wms_solicitacao_carga_item.trans_solicitacao_carga_mestre = wms_expedicao_granel_veiculo.solicitacao_carga_liberacao
            2. Se o documento for filho:

            1. Bloco de código
              languagejs
              titleSQL -
            Quantidade de itens que devem ser separados.
            1. Granel filho
              collapsetrue
              SELECT SUM(wms_solicitacao_carga_item.qtd_solicitada)
                FROM wms_expedicao_granel_veiculo
                    ,wms_solicitacao_carga_item
            .qtd_solicitada)
            1. 
               WHERE wms_expedicao_granel_veiculo.empresa = [empresa]
                
            FROM
            1.  AND wms_expedicao_granel_veiculo.solicitacao_carga_
            item WHERE
            1. liberacao = [Solicitação de carga] 
                 AND wms_solicitacao_carga_item.empresa = 
            [empresa]
            1. wms_expedicao_granel_veiculo.empresa
                 AND wms_solicitacao_carga_item.trans_solicitacao_carga_mestre = 
            [Solicitação de carga]
          Consultar a quantidade de itens que já foram separados
            1. wms_expedicao_granel_veiculo.solicitacao_carga_liberacao
          1. Se a Solicitação de Carga não possuir controle de granel:

            Bloco de código
            languagejs
            titleSQL - Quantidade de itens que já foram devem ser separados.
            collapsetrue
            SELECT SUM(estoquewms_solicitacao_loccarga_reseritem.qtd_reservadasolicitada)
              FROM wms_solicsolicitacao_carga_item_reserva
             WHERE     ,wms_itemsolicitacao_onda_plano
                  ,estoque_loc_resercarga_item.empresa = [empresa]
               AND   ,wms_solicitacao_processo_moviment
             WHERE wms_soliccarga_item.trans_solicitacao_carga_item_reserva.empresamestre = [empresaSolicitação de carga]
               AND wms_solic_carga_item_reserva.trans_solicitacao_carga_mestre = [Solicitação de carga]
               AND wms_item_onda_plano.empresa = wms_solic_carga_item_reserva.empresa 
               AND wms_item_onda_plano.reserva = wms_solic_carga_item_reserva.reserva 
               AND estoque_loc_reser.cod_empresa = wms_item_onda_plano.empresa_solicitacao_carga_item.sit_item <> ‘C’
        1. Consultar a quantidade de itens que foram separados:
            Se a situação da solicitação de carga for igual a S ou F, o sistema deverá realizar a seguinte pesquisa (Conferência):
            1. Utilizar a mesma quantidade consultada no item 3.A.
            2. Consultar a quantidade de itens que já foram conferidos:
              1. Se a Solicitação de Carga possuir controle de granel:

                1. Se o documento for mestre:

                  Bloco de código
                  languagejs
                  titleSQL - Granel mestre
                  collapsetrue
                  SELECT SUM(wms_expedicao_granel_endereco.qtd_real_separacao)
                    FROM wms_expedicao_granel
                        ,wms_expedicao_granel_veiculo
                        ,wms_expedicao_granel_endereco 
                   WHERE wms_expedicao_granel.empresa = [empresa]
                     AND 
                estoque
                1. wms_
                loc
                1. expedicao_
                reser
                1. granel.
                num
                1. solicitacao_
                reserva
                1. carga = 
                wms_item_onda_plano.reserva
                1. [Solicitação de carga] 
                     AND wms_
                processo
                1. expedicao_granel_
                moviment
                1. veiculo.empresa = wms_
                item
                1. expedicao_
                onda_plano
                1. granel.empresa
                     AND wms_
                processo
                1. expedicao_granel_
                moviment
                1. veiculo.
                processo
                1. transacao_expedicao_
                moviment
                1. granel = wms_
                item
                1. expedicao_
                onda_plano.processo_moviment
                1. granel.transacao_expedicao_granel
                     AND wms_expedicao_
                processo
                1. granel_
                moviment.tip_processo_moviment
                1. endereco .empresa = 
                'C'
                1. wms_expedicao_granel_veiculo.empresa
                     AND wms_
                processo_moviment.sit_processo_moviment = 'FI'
            3. Após consultar os dois valores, o sistema deverá calcular o percentual de produtos separados.

          1. Caso a situação seja diferente de S, o sistema deverá considerar o status da separação igual a 100% (Concluído).
                1. expedicao_granel_endereco .trans_expedicao_granel_veiculo= wms_expedicao_granel_veiculo.trans_expedicao_granel_veiculo
                  
                2. Se o documento for filho:

                1. Bloco de código
                  languagejs
                  title
                SQL - Quantidade de itens que já foram conferidos.
                1. SQL - Granel filho
                  collapsetrue
                  SELECT
                SUM(wms_conferencia_separacao_item.qtd_conferida) FROM wms_conferencia_separacao_item WHERE wms_conferencia_separacao_item.empresa = [empresa] AND wms_conferencia_separacao_item.trans_solicitacao_carga_mestre = [Solicitação de carga]
            1. Após consultar os dois valores, o sistema deverá calcular o percentual de produtos conferidos.

          2. Caso a situação seja diferente de S ou F, o sistema deverá considerar o status da conferência igual a 100% (Concluído).

                1.  SUM(wms_expedicao_granel_endereco.qtd_real_separacao)
                    FROM wms_expedicao_granel_veiculo
                        ,wms_expedicao_granel_endereco 
                   WHERE wms_expedicao_granel_veiculo.empresa = [empresa]
                     AND wms_expedicao_granel_veiculo.solicitacao_carga_liberacao = [Solicitação de carga] 
                     AND wms_expedicao_granel_endereco .empresa = wms_expedicao_granel_veiculo.empresa
                     AND wms_expedicao_granel_endereco .trans_expedicao_granel_veiculo= wms_expedicao_granel_veiculo.trans_expedicao_granel_veiculo
              1. Se a Solicitação de Carga não possuir controle de granel:

                Bloco de código
                languagejs
                titleSQL - Quantidade de itens que já foram separados.
                collapsetrue
                SELECT SUM(estoque_loc_reser.qtd_reservada)
                  FROM wms_solic_carga_item_reserva
                      ,wms_item_onda_plano
                      ,estoque_loc_reser
                      ,wms_processo_moviment
                 WHERE wms_solic_carga_item_reserva.empresa = [empresa]
                   AND wms_solic_carga_item_reserva.trans_solicitacao_carga_mestre = [Solicitação de carga]
                   AND wms_item_onda_plano.empresa = wms_solic_carga_item_reserva.empresa 
                   AND wms_item_onda_plano.reserva = wms_solic_carga_item_reserva.reserva 
                   AND estoque_loc_reser.cod_empresa = wms_item_onda_plano.empresa
                   AND estoque_loc_reser.num_reserva = wms_item_onda_plano.reserva

            Se a situação da solicitação de carga for igual a: S, F, P; o sistema deverá realizar a seguinte pesquisa (Pesagem):

            1. Verificar se na tabela wms_pesagem, possui registro para a solicitação de carga consultada:
              1. Se tiver, o sistema deverá executar o item B, C e D.
              2. Se não tiver, o sistema deverá apresentar o seguinte valor -%, exibindo a cor cinza conforme o protótipo 1, passando para o item 9.
            2. Utilizar a mesma quantidade consultada no item 3.A.
            3. Consultar a quantidade de itens que já foram pesados:
              1. Bloco de código
                languagejs
                titleSQL - Quantidade de itens que já foram pesados.
                collapsetrue
                SELECT SUM(wms_volume_item_exped.qtd_item)
                  FROM wms_volume_exped 
                      ,wms_volume_item_exped
                 WHERE wms_volume_exped.empresa = [empresa]
                   AND wms_volume_exped.trans_solicitacao_carga_mestre = [Solicitação de carga]
                   AND wms_volumeprocesso_expedmoviment.peso_balancaempresa IS NOT NULL= wms_item_onda_plano.empresa
                   AND wms_volumeprocesso_moviment.processo_moviment = wms_item_exped.empresa =onda_plano.processo_moviment
                   AND wms_volumeprocesso_exped.empresamoviment.tip_processo_moviment = 'C'
                   AND wms_volume_item_exped.volume_exped = wms_volume_exped.volume_exped
            4. Após consultar os dois valores, o sistema deverá calcular o percentual de produtos pesados.

          3. Caso a situação seja diferente de S, F, P, o sistema deverá considerar o status da pesagem igual a 100% (Concluído).
              1. processo_moviment.sit_processo_moviment = 'FI'
            1. Após consultar os dois valores, o sistema deverá calcular o percentual de produtos separados.

          4. Caso a situação seja igual a: F, P, Q, V, X, N, Z; o sistema deverá considerar o status da separação igual a 100% (Concluído).
          5. Se a situação da solicitação de carga for igual a S ou F, deverá ser verificado se o documento possui controle de granel:
            1. Se controlar granel, deverá ser considerado o o status da conferência igual a -%, exibindo a cor cinza conforme o Protótipo 1.
            2. Se não controlar granel, o sistema deverá realizar a seguinte pesquisa (Conferência):
              1. Utilizar a mesma quantidade consultada no item 1.A.
              2. Consultar a quantidade de itens que já foram conferidos:
                1. Bloco de código
                  languagejs
                  titleSQL - Quantidade de itens que já foram conferidos.
                  collapsetrue
                  SELECT SUM(wms_conferencia_separacao_item.qtd_conferida)
                    FROM wms_conferencia_separacao_item
                   WHERE wms_conferencia_separacao_item.empresa = [empresa]
                     AND wms_conferencia_separacao_item.trans_solicitacao_carga_mestre = [Solicitação de carga]
                     AND wms_conferencia_separacao_item.sequencial_conferencia = (SELECT MAX(wms_conferencia_separacao.sequencial_conferencia)
                                                                                    FROM wms_conferencia_separacao 
                                                                                   WHERE wms_conferencia_separacao.empresa = [empresa]
                                                                                     AND wms_conferencia_separacao
            Se a situação da solicitação de carga for igual a: S, F, P, Q, Z; o sistema deverá realizar a seguinte pesquisa (Embarque):
            1. Utilizar a mesma quantidade consultada no item 3.A.
            2. Consultar a quantidade de itens que já foram embarcados:
            3. Bloco de código
              languagejs
              titleSQL - Quantidade de itens que já foram embarcados (Volume).
              collapsetrue
              SELECT SUM(wms_volume_item_exped.qtd_item)
                FROM wms_volume_exped
                    ,wms_volume_item_exped
                    ,wms_processo_moviment
               WHERE wms_volume_exped.empresa = [empresa]
                 AND wms_volume_exped.trans_solicitacao_carga_mestre = [Solicitação de carga]
                 AND wms_volume_exped.volume_palete IS NULL
                 AND wms_processo_moviment.empresa = wms_volume_exped.empresa
                 AND wms_processo_moviment.volume_exped = wms_volume_exped.volume_exped
                 AND wms_processo_moviment.tip_processo_moviment = 'E'
                 AND wms_processo_moviment.sit_processo_moviment = 'FI'
                 AND wms_volume_item_exped.empresa = wms_volume_exped.empresa
                 AND wms_volume_item_exped.volume_exped = wms_volume_exped.volume_exped
            4. Bloco de código
              languagejs
              titleSQL - Quantidade de itens que já foram embarcados (Palete).
              collapsetrue
              SELECT SUM(wms_volume_item_exped.qtd_item) FROM wms_volume_palete,wms_volume_exped ,wms_volume_item_exped ,wms_processo_moviment WHERE wms_volume_palete.empresa = [empresa] AND wms_volume_palete
                1. .trans_solicitacao_carga_mestre = [Solicitação de carga])
              1. Após consultar os dois valores, o sistema deverá calcular o percentual de produtos conferidos.

          6. Caso a situação seja igual a: P, Q, V, X, N, Z; o sistema deverá considerar o status da conferência igual a 100% (Concluído).

          7. Se a situação da solicitação de carga for igual a: S, F, P;  deverá ser verificado se o documento possui controle de granel:

            1. Se controlar granel, deverá ser considerado o status da pesagem igual a -%, exibindo a cor cinza conforme Protótipo 1.
            2. Se não controlar granel, o sistema deverá realizar a seguinte pesquisa (Pesagem):
              1. Verificar se na tabela wms_pesagem, possui registro para a solicitação de carga consultada:
                1. Se tiver, o sistema deverá executar o item B, C e D.
                2. Se não tiver, o sistema deverá apresentar o seguinte valor -%, exibindo a cor cinza conforme Protótipo 1, passando para o item 7.
              2. Utilizar a mesma quantidade consultada no item 1.A.
              3. Consultar a quantidade de itens que foram pesados:
                1. Bloco de código
                  languagejs
                  titleSQL - Quantidade de itens que já foram pesados.
                  collapsetrue
                  SELECT SUM(
                de carga] AND wms_volume_exped.empresa = wms_volume_palete.empresa AND wms_volume_exped.trans_solicitacao_carga_mestre = wms_volume_palete.trans_solicitacao_carga_mestre AND wms_volume_exped.volume_palete = wms_volume_palete.volume_palete AND
                1. wms_volume_item_exped.
                empresa = wms_volume_exped.empresa
                1. qtd_item)
                    FROM 
                AND
                1. wms
                _volume_item
                1. _
                exped.
                1. volume_exped
                =
                1.  
                wms_volume_exped.volume_exped
                1. 
                     
                AND
                1.  
                wms_processo_moviment.empresa
                1.  
                =
                1.  ,wms_volume_item_exped
                .empresa
                1. 
                   WHERE 
                AND
                1. wms_
                processo_moviment.
                1. volume_exped.empresa = [empresa]
                     AND wms_volume_exped.
                volume_exped
                1. trans_solicitacao_carga_mestre = [Solicitação de carga]
                     AND wms_
                processo
                1. volume_
                moviment
                1. exped.
                tip_processo_moviment = 'E'
                1. peso_balanca IS NOT NULL
                     AND wms_
                processo
                1. volume_item_
                moviment.sit_processo_moviment = 'FI'
            3. Após consultar os dois valores, o sistema deverá calcular o percentual de produtos embarcados.

      Função wms6325_exibe_dados()

      • Função responsável por carregar as variáveis e apresentar os seus valores em tela, durante a pesquisa da solicitação de carga.
      • Ao final desta função, o sistema deverá chamar a função wms6325_carrega_status_processos, para que as situações da solicitação de carga sejam carregadas.

      WMS6242 - Conferência de expedição - Coletor de dados

      Alterar o campo que apresenta o documento pendente de conferência de expedição, para que seja exibido o percentual de estoque disponível para conferir, conforme o protótipo 02.

      Função wms6242_calcula_percentual_documento()

              1. exped.empresa = wms_volume_exped.empresa
                   AND wms_volume_item_exped.volume_exped = wms_volume_exped.volume_exped
            1. Após consultar os dois valores, o sistema deverá calcular o percentual de produtos pesados.

        1. Caso a situação seja igual a: Q, V, X, N, Z; o sistema deverá considerar o status da pesagem igual a 100% (Concluído).
        2. Se a situação da solicitação de carga for igual a: S, F, P, Q, V, X, N, Z; deverá ser verificado se o documento possui controle de granel:
          1. Se controlar granel, deverá ser considerado o o status do embarque igual ao status da separação.
          2. Se não controlar granel, o sistema deverá realizar a seguinte pesquisa (Embarque):
            1. Utilizar a mesma quantidade consultada no item 1.A.
            2. Consultar
      • Função responsável por calcular o percentual de estoque disponível para conferir.
      • Receberá: Solicitação de carga.
      • Retornará: Percentual de estoque disponível para conferir.
      • No inicio desta função, o sistema deverá consultar
            1. a quantidade de itens que já foram
      • separados
            1. embarcados:
              1. Bloco de código
                languagejs
                titleSQL - Quantidade de itens que já foram
      • separados
              1. embarcados (Volume).
                collapsetrue
      • SELECT SUM(estoque_loc_reser.qtd_reservada) FROM wms_solic_carga_item_reserva ,wms_item_onda_plano ,estoque_loc_reser
              1. SELECT SUM(wms_volume_item_exped.qtd_item)
                  FROM wms_volume_exped
                      ,wms_
      • processo_moviment WHERE wms_solic_carga_item_reserva.empresa = [empresa] AND wms_solic_carga_item_reserva.trans_solicitacao_carga_mestre = [Solicitação de carga] AND wms_item_onda_plano.empresa = wms_solic_carga_item_reserva.empresa
              1. volume_item_exped
                      ,wms_processo_moviment
                 WHERE wms_volume_exped.empresa = [empresa]
                   AND wms_
      • item
              1. volume_
      • onda_plano.reserva = wms_solic_carga_item_reserva.reserva
              1. exped.trans_solicitacao_carga_mestre = [Solicitação de carga]
                   AND 
      • estoque
              1. wms_
      • loc
              1. volume_
      • reser
              1. exped.
      • cod
              1. volume_
      • empresa
              1. palete 
      • = wms_item_onda_plano.empresa
              1. IS NULL
                   AND 
      • estoque
              1. wms_
      • loc
              1. processo_
      • reser
              1. moviment.
      • num_reserva
              1. empresa = wms_
      • item
              1. volume_
      • onda_plano
              1. exped.
      • reserva
              1. empresa
                   AND wms_processo_moviment.
      • empresa
              1. volume_exped = wms_
      • item
              1. volume_
      • onda_plano.empresa
              1. exped.volume_exped
                   AND wms_processo_moviment.tip_processo_moviment = 'E'
                   AND wms_
      • item
              1. processo_
      • onda
              1. moviment.sit_
      • plano.
              1. processo_moviment = 'FI'
                   AND wms_volume_
      • processo
              1. item_
      • moviment.tip_processo_moviment = 'C'
              1. exped.empresa = wms_volume_exped.empresa
                   AND wms_volume_
      • processo
              1. item_
      • moviment
              1. exped.
      • sit
              1. volume_
      • processo_moviment = 'FI'Após consultar a quantidade de itens separados, o sistema deverá pesquisar a quantidade de itens conferidos:
              1. exped = wms_volume_exped.volume_exped
              2. Bloco de código
                languagejs
                titleSQL - Quantidade de itens que já foram
      • conferidos
              1. embarcados (Palete).
                collapsetrue
                SELECT SUM(wms_
      • conferencia
              1. volume_
      • separacao
              1. item_
      • item
              1. exped.qtd_
      • conferida
              1. item)
                  FROM wms_volume_
      • conferencia
              1. palete,wms_
      • separacao
              1. volume_
      • item
              1. exped
                     
      • WHERE
              1.  ,wms_
      • conferencia
              1. volume_
      • separacao_item.empresa = [empresa]
              1. item_exped
                     
      • AND
              1.  ,wms_
      • conferencia_separacao_item.trans_solicitacao_carga_mestre = [Solicitação de carga]Após consultar a quantidade de itens conferidos, o sistema deverá pesquisar a quantidade de itens solicitados: Bloco de código
        languagejs
        titleSQL - Quantidade de itens solicitados.
        collapsetrue
        SELECT SUM(wms_solicitacao_carga_item.qtd_solicitada) FROM wms_solicitacao_carga_item WHERE wms_solicitacao_carga_item.empresa = [empresa]
              1. processo_moviment
                 WHERE wms_volume_palete.empresa = [empresa]
                   AND wms_volume_palete.trans_solicitacao_carga_mestre = [Solicitação de carga]
                   AND wms_volume_exped.empresa = wms_volume_palete.empresa
                   AND wms_volume_exped.trans_solicitacao_carga_mestre = wms_volume_palete.trans_solicitacao_carga_mestre
                   AND wms_
      • solicitacao
              1. volume_
      • carga_item
              1. exped.
      • trans_solicitacao_carga_mestre
              1. volume_palete = 
      • [Solicitação de carga]
      • Depois de consultar as quantidades, o sistema deverá calcular o percentual de mercadorias pendentes de conferência, da seguinte forma:
        ((Quantidade de itens separados - Quantidade de itens que já foram conferidos) x 100) / Quantidade de itens solicitados

      Função wms6242_tela_inicial()

      • Função responsável por apresentar a tela principal da rotina de conferência via coletor de dados.
      • No inicio desta função, o sistema deverá pesquisar o valor do parâmetro "Exibe o percentual disponível para a conferência?", armazenando essa informação em uma variável modular.

      Função wms6242_carrega_solicitacao_carga()

      • Função responsável por carregar os documentos pendentes de conferência da expedição.
      • Ao montar o cursor cq_conferencias, deverá ser verificado se o parâmetro "Permite iniciar a conferência antes de finalizar a separação?", está ativo:
        1. Se estiver, além de buscar solicitações de carga com a situação em conferência (F), o sistema deverá encontrar documentos com a situação em separação (S), caso o documento possua itens que não foram conferidos.
        2. Se não estiver, deverá continuar com o processamento padrão.
      • Durante a execução do cursor cq_conferencias, o sistema deverá chamar a função wms6242_calcula_percentual_documento, caso o parâmetro "Permite iniciar a conferência antes de finalizar a separação?" esteja habilitado, aonde será retornado o percentual de estoque disponível para conferir. Este percentual deverá ser armazenado em uma tabela temporária, para que seja realizada uma ordenação dos documentos pelo seu percentual, da mesma forma como é feito na rotina WMS6214.
      • Ao executar a função DISPLAY ARRAY dos documentos pendentes, o sistema deverá verificar o valor do parâmetro "Exibe o percentual disponível para a conferência?":
        1. Se estiver igual a N, o sistema não deverá realizar a ordenação e nem apresentar o percentual calculado.
        2. Se estiver igual a S, o sistema deverá ordenar os documentos, apresentando o percentual de estoque disponível para conferir.

      WMS6258 - Conferência de expedição - Desktop

      Criar um novo campo na tela principal, que apresente o percentual de estoque disponível para conferir, conforme o protótipo 03.

      Função wms6258_calcula_percentual_documento()

      • Função responsável por calcular o percentual de estoque disponível para conferir.
      • Receberá: Solicitação de carga.
      • Retornará: Percentual de estoque disponível para conferir.
      • No inicio desta função, o sistema deverá consultar a quantidade de itens que já foram separados:
        • Bloco de código
          languagejs
          titleSQL - Quantidade de itens que já foram separados.
          collapsetrue
          SELECT SUM(estoque_loc_reser.qtd_reservada)
            FROM wms_solic_carga_item_reserva
                ,wms_item_onda_plano
                ,estoque_loc_reser
                ,wms_processo_moviment
           WHERE wms_solic_carga_item_reserva.empresa = [empresa]
             AND wms_solic_carga_item_reserva.trans_solicitacao_carga_mestre = [Solicitação de carga]
             AND wms_item_onda_plano.empresa = wms_solic_carga_item_reserva.empresa 
             AND wms_item_onda_plano.reserva = wms_solic_carga_item_reserva.reserva 
             AND estoque_loc_reser.cod_empresa = wms_item_onda_plano.empresa
             AND estoque_loc_reser.num_reserva = wms_item_onda_plano.reserva
             AND wms_processo_moviment.empresa = wms_item_onda_plano.empresa
             AND wms_processo_moviment.processo_moviment = wms_item_onda_plano.processo_moviment
             AND wms_processo_moviment.tip_processo_moviment = 'C'
             AND wms_processo_moviment.sit_processo_moviment = 'FI'
      • Após consultar a quantidade de itens separados, o sistema deverá pesquisar a quantidade de itens conferidos:
        • Bloco de código
          languagejs
          titleSQL - Quantidade de itens que já foram conferidos.
          collapsetrue
          SELECT SUM(wms_conferencia_separacao_item.qtd_conferida)
            FROM wms_conferencia_separacao_item
           WHERE wms_conferencia_separacao_item.empresa = [empresa]
             AND wms_conferencia_separacao_item.trans_solicitacao_carga_mestre = [Solicitação de carga]
      • Depois de consultar as quantidades, o sistema deverá executar uma regra de 3, para calcular o percentual de mercadorias pendentes de conferência.

      Função wms6258_before_menu()

      • Função responsável por inicializar as variáveis antes da execução da rotina.
      • No fim desta função, o sistema deverá pesquisar o valor do parâmetro "Exibe o percentual disponível para a conferência?", armazenando essa informação em uma variável modular.

      Função wms6258_carrega_solicitacao_carga()

    • Função responsável por carregar os documentos pendentes de conferência da expedição.
    • Ao montar o cursor cq_conferencias, deverá ser verificado se o parâmetro "Permite iniciar a conferência antes de finalizar a separação?", está ativo:
      1. Se estiver, além de buscar solicitações de carga com a situação em conferência (F), o sistema deverá encontrar documentos com a situação em separação (S), caso o documento possua itens que não foram conferidos.
      2. Se não estiver, deverá continuar com o processamento padrão.
    • Durante a execução do cursor cq_conferencias, o sistema deverá chamar a função wms6258_calcula_percentual_documento, caso o parâmetro "Permite iniciar a conferência antes de finalizar a separação?" esteja habilitado, aonde será retornado o percentual de estoque disponível para conferir. Este percentual deverá ser armazenado em uma tabela temporária, para que seja realizada uma ordenação dos documentos pelo seu percentual, da mesma forma como é feito na rotina WMS6214.
    • Ao executar a função DISPLAY ARRAY dos documentos pendentes, o sistema deverá verificar o valor do parâmetro "Exibe o percentual disponível para a conferência?":
              1. wms_volume_palete.volume_palete
                   AND wms_volume_item_exped.empresa = wms_volume_exped.empresa
                   AND wms_volume_item_exped.volume_exped = wms_volume_exped.volume_exped
                   AND wms_processo_moviment.empresa = wms_volume_exped.empresa
                   AND wms_processo_moviment.volume_exped = wms_volume_exped.volume_exped
                   AND wms_processo_moviment.tip_processo_moviment = 'E'
                   AND wms_processo_moviment.sit_processo_moviment = 'FI'
            1. Após consultar os dois valores, o sistema deverá calcular o percentual de produtos embarcados.

      Função wms6325_exibe_dados()

      • Função responsável por carregar as variáveis e apresentar os seus valores em tela, durante a pesquisa da Solicitação de Carga.

      • Ao final desta função, o sistema deverá chamar a função wms6325_carrega_status_processos, para que as situações da Solicitação de Carga sejam carregadas.

      WMS60013 - Contrato do Depositante

      • Alterar a descrição da opção Pesagem para Expedição-Pesagem.

      • Na cópia do Contrato do depositante (WMS60030), prever a inclusão destes novos parâmetros para o depositante destino.

      WMS60018 - Contrato - Expedição - Separação/Conferência

      • Criar um novo campo, que permita indicar qual o valor padrão para o parâmetro: Permite conferir antes de finalizar a separação?.

      • Este campo deverá ser armazenado na tabela wms_parametro_complementar, onde será carregado automaticamente na inclusão de uma Solicitação de Carga, na rotina WMS6325.

      WMS60029 - Contrato - Expedição - Pesagem

      • Criar um novo campo, que permita indicar qual o valor padrão para o parâmetro: Permite pesar antes de finalizar a conferência?.

      • Este campo deverá ser armazenado na tabela wms_parametro_complementar, onde será carregado automaticamente na inclusão de uma Solicitação de Carga, na rotina WMS6325.

      WMS60019 - Contrato - Expedição - Embarque/Fiscal

      • Criar um novo campo, que permita indicar qual o valor padrão, para o parâmetro: Permite embarcar antes de finalizar conf/pesagem?.

      • Este campo deverá ser armazenado na tabela wms_parametro_complementar, onde será carregado automaticamente na inclusão de uma Solicitação de Carga, na rotina WMS6325.

      WMS6242 - Conferência de Expedição - Coletor de Dados

      • Alterar o campo que apresenta o documento pendente de conferência de expedição, para que seja exibido o percentual de estoque disponível para conferir, conforme o Protótipo 02.

      Função wms6242_tela_inicial()

      • Função responsável por apresentar a tela principal da rotina de conferência via coletor de dados.
      • No inicio dessa função, o sistema deverá pesquisar o valor do parâmetro Exibe o percentual disponível para a conferência?, armazenando essa informação em uma variável modular.

      Função wms6242_carrega_solicitacao_carga()

      • Função responsável por carregar os documentos pendentes de conferência da expedição.

      • Ao montar o cursor cq_conferencias deverá ser verificado se o parâmetro Permite iniciar a conferência antes de finalizar a separação? está ativo.

      • Durante a execução do cursor cq_conferencias, o sistema deverá chamar a função wmsr136_calcula_percentual_disponivel_conferencia.

      • Se o parâmetro Exibe o percentual disponível para a conferência? estiver habilitado será retornado o percentual de estoque disponível para conferir.

      • Este percentual deverá ser armazenado em uma tabela temporária, para que seja realizada uma ordenação dos documentos pelo seu percentual, da mesma forma como é realizado na rotina WMS6214:

      1. Se estiver, além de buscar as Solicitações de Carga com a situação em Conferência (F), o sistema deverá encontrar documentos com a situação em Separação (S), caso o documento possua itens que não foram conferidos.
      2. Se não estiver, deverá continuar com o processamento padrão.
      • Ao executar a função DISPLAY ARRAY dos documentos pendentes, o sistema deverá verificar o valor do parâmetro Exibe o percentual disponível para a conferência?:

      1. Se estiver igual a N, o sistema não deverá realizar a ordenação e nem apresentar o percentual calculado.
      2. Se estiver igual a S, o sistema deverá ordenar os documentos, apresentando o percentual de estoque disponível para conferir.

      WMS6258 - Conferência de Expedição - Desktop

      • Criar um novo campo na tela principal, que apresente o percentual de estoque disponível para conferir, conforme Protótipo 03.

      Função wms6258_before_menu()

      • Função responsável por inicializar as variáveis antes da execução da rotina.

      • No fim desta função, o sistema deverá pesquisar o valor do parâmetro Exibe o percentual disponível para a conferência?, armazenando essa informação em uma variável modular.

      Função wms6258_carrega_solicitacao_carga()

      • Função responsável por carregar os documentos pendentes de conferência da expedição.

      • Ao montar o cursor cq_conferencias, deverá ser verificado se o parâmetro Permite iniciar a conferência antes de finalizar a separação? está ativo.

      • Durante a execução do cursor cq_conferencias, o sistema deverá chamar a função wmsr136_calcula_percentual_disponivel_conferencia, se o parâmetro Exibe o percentual disponível para a conferência? estiver habilitado, onde será retornado o percentual de estoque disponível para conferir. Este percentual deverá ser armazenado em uma tabela temporária, para que seja realizada uma ordenação dos documentos pelo seu percentual, da mesma forma como é realizado na rotina WMS6214.

        1. Se estiver, além de buscar solicitações de carga com a situação em conferência (F), o sistema deverá encontrar documentos com a situação em separação (S), caso o documento possua itens que não foram conferidos.
        2. Se não estiver, deverá continuar com o processamento padrão.
      • Ao executar a função DISPLAY ARRAY dos documentos pendentes, o sistema deverá verificar o valor do parâmetro Exibe o percentual disponível para a conferência?:

        1. Se estiver igual a N, o sistema não deverá realizar a ordenação e nem apresentar o percentual calculado.

        2. Se estiver igual a S, o sistema deverá ordenar os documentos, apresentando o percentual de estoque disponível para conferir.

       

      Protótipo de Tela

      Protótipo 01

      •  Tela principal da Solicitação de Carga, onde será apresentado o status de cada processo de expedição.

       

      Image Added

      Protótipo 02

      •  Tela principal da conferência de expedição via coletor de dados, onde será apresentado o percentual de mercadorias disponíveis para conferir, se o parâmetro no LOG00086 estiver ativo.

       

      Image Added

      Protótipo 03

      •  Tela principal da conferência de expedição via desktop, onde será apresentado o percentual de mercadorias disponíveis para conferir, se o parâmetro no LOG00086 estiver ativo.

       

      Image Added

      Protótipo 04

      •  Tela principal do Contrato do depositante, na qual será incluída a descrição Expedição na opção Pesagem.

       

      Image Added

      Protótipo 05

      • Tela do Contrato, opção Expedição - Separação/Conferência, onde será incluído o campo: Permite conferir antes de finalizar a separação?.


      Image Added

      Protótipo 06

      • Tela do Contrato, opção Expedição - Pesagem, onde será incluído o campo: Permite pesar antes de finalizar a conferência?.

       

      Image Added

      Protótipo 07

      • Tela do Contrato, opção Expedição - Embarque/Fiscal, onde será incluído o campo: Permite embarcar antes de finalizar a conf/pesagem?.

       

      Image Added


      Dicionário de Dados


    • Se estiver igual a N, o sistema não deverá realizar a ordenação e nem apresentar o percentual calculado.
    • Se estiver igual a S, o sistema deverá ordenar os documentos, apresentando o percentual de estoque disponível para conferir.

      Protótipo de Tela

      Protótipo 01

       Tela principal da solicitação de carga, aonde será apresentado o status de cada processo de expedição.

      Image Removed

      Protótipo 02

       Tela principal da conferência de expedição via coletor de dados, aonde será apresentado o percentual de mercadorias disponíveis para conferir, caso o parâmetro no LOG00086 esteja ativo.

      Image Removed

      Protótipo 03

       Tela principal da conferência de expedição via desktop, aonde será apresentado o percentual de mercadorias disponíveis para conferir, caso o parâmetro no LOG00086 esteja ativo.

      Image Removed

      Image Added


       

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