Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.


01. DADOS GERAIS

Produto:

Solucoes_totvs
Solucao TOTVS Manufatura

Solucoes_totvs_cross
SolucaoCross

Solucoes_totvs_parceiros
SolucaoParceiros

Solucoes_totvs_parceirosexptotvs
SolucaoParcsExpsTOTVS

Linha de Produto:

Linhas_totvs
LinhaLinha Protheus

Segmento:

Segmentos_totvs
SegmentoManufatura

Módulo:SIGAPCP - Planejamento e Controle da Produção
Função:ProductionOrdersSearchProductionOrdersSearchTestCase
País:Brasil
Story:DMANSMARTSQUAD1-22774


02. SITUAÇÃO/REQUISITO

Desenvolver Ajustar as automações dos métodos da API ProductionOrderSearch para atender a implementações da funcionalidade de consulta de Ordens de Produção pelo APP Minha Produção.

03. SOLUÇÃO

...

MÉTODO SEARCHID

...

...

 

...

  • User- Código do usuário que está realizando a consulta de Ordens de Produção (obrigatório)

JSON de Retorno:

[
    {
        "SearchId": "TC20396"
    }
]

MÉTODO FILTERVALIDATION

Foi criado o método FilterValidation para validar se é possível realizar a consulta com o filtro informado. Ou seja, se a consulta retornar um número maior de ordens de produção que a permitida será apresentada uma mensagem que é necessário rever o filtro para refinar a busca.

Parâmetros de envio: 

  • FilterSearch - Filtro de pesquisa para realizar a seleção das OPs e Operações (obrigatório)
  • NumberOfReturnOrders - Quantidade máxima de ordens de produção que pode retornar na consulta de OPs.

JSON de Retorno:

[
    {
        "Status": true
    }
]

Considerações do método FilterValidation:

  1. Se a consulta retornar um número maior de ordens de produção que a enviada pela TAG NumberOfReturnOrders é apresentada a mensagem: Filtro da consulta retornou muitas Ordens de Produção. Rever filtro para refinar a busca.
  2. Se a consulta não retornar ordem de produção é apresentada a mensagem: Não existe ordem de produção cadastrada para o filtro informado.
  3. Se a consulta retornar a quantidade permitida enviada pela TAG NumberOfReturnOrders é enviado o JSON de retorno com a TAG STATUS igual a true.

MÉTODO PRODUCTIONORDERMASTER

Foi criado o método ProductionOrderMaster para retornar uma lista com informações da ordens de produção e operações das ordens de produção.

Parâmetros de envio: 

  • SearchId - Identificação única que identifica a sessão da consulta. (obrigatório)
  • AppointmentType - Tipo do apontamento (opcional)
  • FilterSearch - Filtro de pesquisa para realizar a seleção das OPs e Operações (obrigatório)
  • OrderType - Tipo da ordenação da consulta (opcional)
  • Action - Ação que será realizada (opcional)
  • Page - Número da página que deve ser retornada (opcional)
  • PageSize - Tamanho da página que deve ser retornada. Ou seja, quantidade de registros por página (opcional)
  • User - Usuário que está realizando a consulta (obrigatório)

Considerações do método ProductionOrderMaster:

  1. A identificação única deve ser o valor retornado do método SearchId. Sempre que executar o método ProductionOrderMaster deve ser executado previamente o método SearchId para obter a identificação única da sessão.
  2. O tipo de apontamento é opcional e aceita os valores: 1 - Produção Simples; 3 - Produção Mod 2; 4 - Produção Chão de Fábrica, '  ' - Branco - Entende por Produção Simples.
  3. A busca das OPs é realizada com base  no filtro de pesquisa enviado. O filtro pode ser uma Ordem de Produção e/ou Código do Produto, seguindo a regra:
    1. Ordem de Produção
      1. Primeiro é verificado se existe uma OP com o filtro enviado considerando a chave da OP (Número da OP + Item + Sequência + Item Grade). Se existir uma OP serão retornadas as informações desta OP.
      2. Caso não existir uma OP com o filtro enviado considerando a chave da OP (Número da OP + Item + Sequência + Item Grade), é verificado se existe uma OP considerando somente o número da OP. Se existir uma ou mais OPs serão retornadas as informações destas OPs.
      3. Se não existir OP com a chave completa da OP  (Número da OP + Item + Sequência + Item Grade) ou somente com o Número da OP, não é utilizado o campo Ordem de Produção para retornar as informações da OP e Operações da OP.
    2. Código do Produto
      1. Primeiro é verificado se existe uma OP com o filtro enviado considerando o código completo do produto. Se existir uma OP com este código de produto serão retornadas as informações desta OP.
      2. Caso não existir uma OP considerando o código completo do produto, será verificado se existe uma OP contendo uma parte deste código de produto. Se existir uma ou mais OPs serão retornadas as informações desta OP.
      3. Se não existir uma OP com o código do produto completo ou parte dele, não é utilizado o campo Produto para retornar as informações da OP e Operações da OP.
    3. Se existir Ordem de Produção e Produto que atenda o filtro enviado, serão retornadas as informações considerando o filtro de Ordem de Produção ou do Código do Produto. 
    4. Se não existir Ordem de Produção e Produto que atenda o filtro enviado, não é retornada nenhuma informação de Ordem de Produção.
  4. O tipo da ordenação da consulta é opcional e aceita os valores: 1-Por Ordem de Produção; 2-Pela data prevista para o início da Ordem de Produção; 3- Pelo código do produto da Ordem de Produção; '  ' - Branco - Entende por Ordem de Produção.
  5. A ação é obrigatório e indica a ação que o método irá realizar. Aceita os valores: R - Reordenar; B - Buscar; P - Paginação
    1. Quando é enviada a opção para Reordenar não é realizada uma nova busca. É feita a reordenação com base na última busca feita e a reordenação é feita com base no parâmetro OrderType. Mesmo que tenha sido alterado o filtro de pesquisa, não será realizada uma nova busca.
    2. Quando é enviada a opção para Buscar é realizada uma nova busca com base no filtro de pesquisa enviado.
    3. Quando é enviada a opção para Paginar não é realizada uma nova busca. É feita a paginação com base na última busca feita e a paginação é feita com base no parâmetro Page PageSize.
  6. O número da página a ser retornada é opcional e indica qual página deve ser retornada na consulta. Se o parâmetro Page não for enviado, será considerado como 1.
  7. A quantidade de registros por página é opcional e indica quantos registros são apresentados por página. Se o parâmetro PageSize não for enviado, será considerado como 10.
  8. O usuário é obrigatório e deve ser enviado o usuário que esta realizando a consulta.

JSON de Retorno:

{
    "Items": [
        {
            "Split": "     ",
            "StartActivityDate": "20201029",
            "StartOrderDate": "20201029",
            "StatusOrderType": "3",
            "ProductionQuantity": 2.6,
            "ActivityQuantity": 10,
            "ItemDescription": "681-PA                                                                                                                          ",
            "ItemCode": "681-PA         ",
            "StartOrderCPDate": "20201029",
            "EndOrderCPDate": "20201029",
            "EndOrderDate": "        ",
            "ProductionOrderNumber": "00002201001   ",
            "ActivityCode": "10",
            "EndActivityDate": "        ",
            "Quantity": 10,
            "ReportQuantity": 2.6,
            "ActivityDescription": "OPER 10             "
        },
        {
            "Split": "     ",
            "StartActivityDate": "20210427",
            "StartOrderDate": "20210427",
            "StatusOrderType": "3",
            "ProductionQuantity": 12,
            "ActivityQuantity": 10,
            "ItemDescription": "20770-PA                                                                                                                        ",
            "ItemCode": "20770-PA       ",
            "StartOrderCPDate": "20210427",
            "EndOrderCPDate": "20210427",
            "EndOrderDate": "        ",
            "ProductionOrderNumber": "00005501001   ",
            "ActivityCode": "10",
            "EndActivityDate": "        ",
            "Quantity": 10,
            "ReportQuantity": 12,
            "ActivityDescription": "OPER 10             "
        },
        {
            "Split": "     ",
            "StartActivityDate": "20210924",
            "StartOrderDate": "20210924",
            "StatusOrderType": "3",
            "ProductionQuantity": 5.2,
            "ActivityQuantity": 10,
            "ItemDescription": "681-PA                                                                                                                          ",
            "ItemCode": "681-PA         ",
            "StartOrderCPDate": "20210924",
            "EndOrderCPDate": "20210924",
            "EndOrderDate": "        ",
            "ProductionOrderNumber": "00005701001   ",
            "ActivityCode": "10",
            "EndActivityDate": "        ",
            "Quantity": 10,
            "ReportQuantity": 5.2,
            "ActivityDescription": "OPER 10             "
        }
    ],
    "hasNext": false
}

Informações das TAGS do JSON de retorno:

...

TAG

...

Nome

...

Campo

...

Produção Simples: MIN(D3_EMISSAO)

Produção Mod 2: MIN(H6_DTAPONT)

Produção Chão de Fábrica: MIN(CYV_DTRP)

...

Tipo 1: Em branco

Tipo 3: Em branco

Tipo 4: CYY → CYY_IDATQO

...

Tipo 1: Em branco

Tipo 3: SHY → HY_OPERAC / SG2 → G2_OPERAC

Tipo 4: CY9 → CY9_CDAT

...

Tipo 1: Em branco

Tipo 3: SHY → HY_DESCRI / SG2 → G2_DESCRI

Tipo 4: CY9 → CY9_DSAT

...

Tipo 1: Em branco

Tipo 3: SC2 → C2_QUANT

Tipo 4: CYY → CYY_QTAT

...

Tipo 1: Em branco

Tipo 3: SH6 → SUM(H6_QTDPROD) + SUM(H6_QTDPERD)

Tipo 4: CYY → CYY_QTATAP + CYY_QTATRF

...

Tipo 1: Em branco

Tipo 3: SH6 → MIN(H6_DTAPONT)

Tipo 4: CYY → CYY_DTBGAT

...

Tipo 1: Em branco

Tipo 3: SH6 → MAX(H6_DTAPONT)

Tipo 4: CYY → CYY_DTEDAT

  Alteração nos casos de testes. 

Observações das TAGs do JSON de retorno:

  • O Status da OP retorna um valor caractere com os seguintes valores: 1-Prevista; 2-Em aberto; 3-Iniciada; 5-Encerrada Parcialmente; 6-Encerrada Totalmente. Não existe o Status 4-Ocioasa conforme existe na legenda do MATA650 (Ordem de Produção). Se uma OP estiver com o Status Ociosa no MATA650, na API retornará com um dos valores citados anteriormente.
  • A Lista de Operações é carregada quando o Tipo do Apontamento for 3 - Produção Mod 2 ou 4 - Produção Chão de Fábrica. Quando o tipo for 3, as informações serão carregadas das tabelas SHY (Operações x Ordem) ou SG2 (Operações), conforme parametrização:
    • MV_APS = 'TOTVS' ou MV_PCPATOR = .T. - SHY

    • MV_APS <> 'TOTVS' e MV_PCPATOR = .F. - SG2
    • Se uma OP foi criada quando o sistema estava parametrizado para usar a SG2 e após isso foi alterado para usar a SHY, não serão apresentadas as operações desta OP. 
  • Foi criado o Ponto de Entrada POSFilOp onde é possível indicar se a OP selecionada irá ou não retornar no JSON de retorno.

MÉTODO LASTAPPOINTMENTS

Foi criado o método LastAppointments para retornar as últimas ordens de produção apontadas.

Parâmetros de envio: 

  • User - Usuário que realizou o apontamento (obrigatório)
  • AppointmentType - Tipo do apontamento (opcional)
  • NumberOfReturnOrders - Quantidade de ordens a serem retornadas (obrigatório)

Considerações do método LastAppointments:

  1. O tipo de apontamento é opcional e aceita os valores: 1 - Produção Simples; 3 - Produção Mod 2; 4 - Produção Chão de Fábrica, '  ' - Branco - Todos os tipos de apontamentos.
  2. Serão retornadas as últimas OPs apontadas e considerado somente um apontamento por OP (caso os últimos apontamentos na sequencia sejam da mesma OP será considerada somente uma vez e irá buscar as próximas).
  3. Serão retornadas somente as OPs que o usuário realizou o apontamento. Ou seja, os apontamentos realizados pelo usuário que foi enviado nos parâmetros de envio.

JSON de Retorno:

{

    "ProductionOrderNumber ": "00000801001"

    "ItemCode ": "AA91"

}

Informações das TAGS do JSON de retorno:

...

TAG

...

Nome

...

Descrição

...

Campo

...

D3_OP 

...

D3_COD

04. DEMAIS INFORMAÇÕES

Não se aplica.

05. ASSUNTOS RELACIONADOS

...