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.

 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ção

Projeto1

LOGWMS01

IRM1

LOGWMS01-545

Requisito1

LOGWMS01-927

Subtarefa1

LOGWMS01-1147

Chamado2

 

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). 

Objetivo geral

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

Objetivo específico

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

 

Na sequencia, será exibida a imagem do mapa mental utilizado como base para a definição desse processo.

Definição da Regra de Negócio

Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

LOG00086 - Menu de parâmetros

[Alteração]

Manutenção de parâmetros

-

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

WMS6325 - Solicitação de carga

[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 de funções e programas serão necessárias: 

LOG00086 - Menu de parâmetros

Manutenção de 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?

    2. Informação do parâmetro: Indica se será permitido iniciar 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?

    2. Informação do parâmetro: Indica se será permitido iniciar a pesagem, antes de concluir a conferência 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 o embarque antes de finalizar a conferência/pesagem?

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

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

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

    5. 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:

      Bloco de código
      languagejs
      titleSQL - Verifica conferência automática.
      collapsetrue
      SELECT DISTINCT 1
        FROM wms_ativ
            ,wms_ordem_servico_ativ
            ,wms_conferencia_separacao_item
       WHERE wms_ativ.empresa = [empresa]
         AND wms_ativ.tip_processo IN(308,310,311,312,313,314)
         AND wms_ordem_servico_ativ.empresa = wms_ativ.empresa
         AND wms_ordem_servico_ativ.ativ = wms_ativ.ativ
         AND wms_conferencia_separacao_item.empresa = wms_ordem_servico_ativ.empresa
         AND wms_conferencia_separacao_item.ordem_servico = wms_ordem_servico_ativ.ordem_servico
         AND wms_conferencia_separacao_item.atividade = wms_ordem_servico_ativ.ativ
         AND wms_conferencia_separacao_item.sit_item NOT IN('F','C')
         AND wms_conferencia_separacao_item.qtd_conferida > 0
  • 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).

 

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

Função wmsr136_validacalcula_processopercentual_expedicao_pendentedocumento()

  • Função responsável por validar se a solicitação de carga possui processos de embarque/pesagem pendentescalcular o percentual de estoque disponível para conferir.
  • Receberá: Empresa, Solicitação de carga , Volume e Modo de exibição.
  • Retornará:  Status (TRUE ou FALSE).Ao executar esta Percentual de estoque disponível para conferir.
  • No inicio desta função, o sistema deverá pesquisar todos os volumes relacionados ao documento, filtrando essa informação caso seja enviada por parâmetro. Após consultar os volumes, será realizada as seguintes validações: 
    1. Verificar se o volume já foi embarcado:
      1. Se foi embarcado, obrigar que o usuário desembarque o volume, retornando o status FALSE.
      2. Se não foi embarcado, executar o item 2.
    2. Verificar se o volume possui movimento de embarque:
      1. Se possuir movimento, o sistema deverá excluir automaticamente este processo e a pesagem, pesquisando o próximo volume.
      2. Se não possuir movimento, executar o item 3.
    3. Verificar se o volume já foi pesado:
      1. Se foi pesado, o sistema deverá excluir automaticamente a pesagem, pesquisando o próximo volume.
      2. Se não foi pesado, pesquisar pelo próximo volume.
    4. Após validar todos os volumes, o sistema deverá retornar para a função de origem com o status igual a TRUE.

 

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
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, 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.
  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, 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.

 

  • 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
  • Se a situação da solicitação de carga for igual a S, o sistema deverá realizar a seguinte pesquisa (Separação):
    Consultar a quantidade total de itens que devem ser separados: Bloco de código
    languagejs
    titleSQL - Quantidade de itens que devem ser separados.
    collapsetrue
    SELECT SUM(wms_solicitacao_carga_item.qtd_solicitada
    • )
        FROM wms_
  • solicitacao
    • conferencia_
  • carga
    • separacao_item
       WHERE wms_
  • solicitacao
    • conferencia_
  • carga
    • separacao_item.empresa = [empresa]
         AND wms_
  • solicitacao
    • conferencia_
  • carga
    • separacao_item.trans_solicitacao_carga_mestre = [Solicitação de carga]
  • 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
    • 
         AND wms_conferencia_separacao_item.sequencial_conferencia = (SELECT MAX(wms_conferencia_separacao.sequencial_conferencia)
            
  • ,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 =
    •  FROM wms_
  • item_onda_plano.processo_moviment
    • conferencia_separacao 
          
  • AND
    •  
  • wms_processo_moviment.tip_processo_moviment
    •  
  • =
    •  
  • 'C'
    •    
  • AND wms_processo_moviment.sit_processo_moviment = 'FI'
  • Após consultar os dois valores, o sistema deverá calcular o percentual de produtos separados.

  • 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).
  • Se a situação da solicitação de carga for igual a S ou F, o sistema deverá realizar a seguinte pesquisa (Conferência):
    •                                                        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
  • Utilizar a mesma quantidade consultada no item 1.A.
  • Consultar a quantidade de itens que já foram conferidos
  • :
    • Bloco de código
      languagejs
      titleSQL - Quantidade de itens
  • que já foram conferidos
    • solicitados.
      collapsetrue
      SELECT SUM(wms_
  • conferencia
    • solicitacao_
  • separacao
    • carga_item.qtd_
  • conferida
    • solicitada)
        FROM wms_
  • conferencia
    • solicitacao_
  • separacao
    • carga_item
       WHERE wms_
  • conferencia
    • solicitacao_
  • separacao
    • carga_item.empresa = [empresa]
         AND wms_
  • conferencia
    • solicitacao_
  • separacao
    • carga_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 os dois valores, o sistema deverá calcular o percentual de produtos conferidos.

  • 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).

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

    Verificar se na tabela wms_pesagem, possui registro para a solicitação de carga consultada:
  • Se tiver, o sistema deverá executar o item B, C e D.
  • Se não tiver, o sistema deverá apresentar o seguinte valor
  • 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

 

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
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, 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.
  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, 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
      1. protótipo 1, retornando para a função de origem.

 

    1. Se a situação da solicitação de carga for igual a S, o sistema deverá realizar a seguinte pesquisa (Separação): passando para o item 7.Utilizar a mesma quantidade consultada no item 1.A.
      1. Consultar a quantidade total de itens que já foram pesadosdevem ser separados:
        1. Bloco de código
          languagejs
          titleSQL - Quantidade de itens que já foram pesadosdevem ser separados.
          collapsetrue
          SELECT SUM(wms_volumesolicitacao_carga_item_exped.qtd_itemsolicitada)
            FROM wms_volume_exped 
                ,wms_volume_item_expedsolicitacao_carga_item
           WHERE wms_volumesolicitacao_carga_expeditem.empresa = [empresa]
             AND wms_solicitacao_volumecarga_expeditem.trans_solicitacao_carga_mestre = [Solicitação de carga]
             AND wms_volume_exped.peso_balanca IS NOT NULL
             AND wms_volume_item_exped.empresa = wms_volume_exped.empresa
             AND wms_volume_item_exped.volume_exped = wms_volume_exped.volume_exped
      2. Após consultar os dois valores, o sistema deverá calcular o percentual de produtos pesados.

    2. 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).
      1. Consultar a quantidade de itens que já foram separados:
        1. 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
      Se a situação da solicitação de carga for igual a: S, F, P, Q, V, X, N, Z; o sistema deverá realizar a seguinte pesquisa (Embarque):
      1. Utilizar a mesma quantidade consultada no item 1.A.
      2. Consultar a quantidade de itens que já foram embarcados:
        1. 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_volumeprocesso_expedmoviment.transtip_solicitacaoprocesso_carga_mestremoviment = [Solicitação de carga]'C'
             AND wms_volumeprocesso_exped.volume_palete IS NULL
             AND wmsmoviment.sit_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''FI'
      3. Após consultar os dois valores, o sistema deverá calcular o percentual de produtos separados.

    3. 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).
    4. 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 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_processoconferencia_separacao_movimentitem.sittrans_solicitacao_processocarga_movimentmestre = 'FI'[Solicitação de carga]
             AND wms_volumeconferencia_separacao_item.sequencial_exped.empresaconferencia = (SELECT MAX(wms_volumeconferencia_exped.empresaseparacao.sequencial_conferencia)
             AND wms_volume_item_exped.volume_exped = wms_volume_exped.volume_exped
          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.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_volume_exped.volume_palete = wms_volume_palete.volume_palete
             AND wms_volume_item_exped.empresa = FROM wms_volume_exped.empresa
          conferencia_separacao 
              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                                     WHERE wms_processoconferencia_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. separacao.empresa = [empresa]
                                                                             AND wms_conferencia_separacao.trans_solicitacao_carga_mestre = [Solicitação de carga])
      1. Após consultar os dois valores, o sistema deverá calcular o percentual de produtos conferidos.

    1. 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).

    2. 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 7.
      2. Utilizar a mesma quantidade consultada no item 1.A.
      3. Consultar a quantidade de itens que já foram pesados
  • 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
      1. :
        1. Bloco de código
          languagejs
          titleSQL - Quantidade de itens que já foram
  • separados
        1. pesados.
          collapsetrue
          SELECT SUM(
  • estoque
        1. wms_volume_
  • loc
        1. item_
  • reser
        1. exped.qtd_
  • reservada
        1. item)
            FROM wms_
  • solic_carga_item_reserva
        1. volume_exped 
                ,wms_volume_item_
  • onda_plano
        1. exped
           WHERE wms_volume_exped.empresa = [empresa]
            
  • ,estoque_loc_reser ,wms_processo_moviment WHERE wms_solic_carga_item_reserva.empresa
        1.  AND wms_volume_exped.trans_solicitacao_carga_mestre = [
  • empresa
        1. Solicitação de carga]
             AND wms_
  • solic_carga_item_reserva.trans_solicitacao_carga_mestre = [Solicitação de carga]
        1. volume_exped.peso_balanca IS NOT NULL
             AND wms_volume_item_
  • onda_plano
        1. exped.empresa = wms_
  • solic_carga_item_reserva.empresa
        1. volume_exped.empresa
             AND wms_
  • item_onda_plano.reserva = wms_solic_carga_
        1. volume_item_
  • reserva.reserva AND estoque_loc_reser.cod_empresa
        1. exped.volume_exped = wms_
  • item
        1. volume_
  • 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
        1. 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; o sistema deverá realizar a seguinte pesquisa (Embarque):
      1. Utilizar a mesma quantidade consultada no item 1.A.
      2. Consultar a quantidade de itens que já foram embarcados:
        1. Bloco de código
        1. languagejs
          titleSQL - Quantidade de itens que já foram
  • conferidos
        1. embarcados (Volume).
          collapsetrue
          SELECT SUM(wms_
  • conferencia
        1. volume_
  • separacao
        1. item_
  • item
        1. exped.qtd_
  • conferida
        1. item)
            FROM wms
  • _conferencia_separacao_item
        1. _volume_exped
                ,wms_volume_item_exped
                ,wms_processo_moviment
           WHERE wms_
  • conferencia
        1. volume_
  • separacao_item
        1. exped.empresa = [empresa]
             AND wms_
  • conferencia
        1. volume_
  • separacao_item
        1. exped.trans_solicitacao_carga_mestre = [Solicitação de carga]
             AND wms_
  • conferencia
        1. volume_
  • separacao_item
        1. exped.
  • sequencial_conferencia = (SELECT MAX(wms_conferencia_separacao.sequencial_conferencia)
        1. 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 
  • FROM wms_conferencia_separacao
        1. wms_volume_item_exped.empresa = wms_volume_exped.empresa
             AND wms_volume_item_exped.volume_exped 
        1. = wms_volume_exped.volume_exped
        2. 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
           
        1. WHERE wms_volume_palete.empresa = [empresa]
             AND wms_volume_palete.trans_solicitacao_carga_mestre = [Solicitação de carga]
             
  • WHERE wms_conferencia_separacao
        1. AND wms_volume_exped.empresa = 
  • [empresa]
        1. wms_volume_palete.empresa
             
        1. 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 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 
  • 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]
  • 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
        1. 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.


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 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 wms6242wmsr136_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]
         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])
    • 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

    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 wms6258wmsr136_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.

    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.

    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.

    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.

     

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