Árvore de páginas

Versões comparadas

Chave

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

...

pi-validate-fields

RequisitoNenhum.
Sintaxe

RUN piValidateFields in handle (INPUT oInput,

                                                    OUTPUT oOutput).

Descrição







Valida se o campo messageText, responsável por trazer o texto da mensagem na modal de Gerar Pedido, está preenchido corretamente conforme seu campo auxiliar "messageCode" (Código de mensagem, na modal Gerar Pedido). Caso haja alguma falha no preenchimento, ele será validado e retornado preenchido corretamente em um JSON, evitando assim erro na exibição das informações.

O parâmetro é repassado pela api de comunicação (ccp/api/v1/ordersSuggestions) para a camada de negócio (ccp/rules/ordersSuggestionsRules) chamando o método piValidateFields.

Retorna o texto da mensagem enviada por payload.

Parâmetro

Tipo

Input/Output

Descrição

oInput

JsonObject

INPUT

Parâmetros para busca de ordens específicos.

  • pathParams: 
    • validate: endPoint do método atual (piValidateFields)
  • payload:
    • É enviado o código do campo messageCode

Exemplo payload

{
    "value": {
        "messageCode": 1
    }
}

oOutput

JsonObject

OUTPUT

Informações do respectivo texto cadastrado para o código da mensagem enviado por payload

Exemplo de retorno

{
    "value": {
        "messageText": "Atenção as Condições Obrigatórias Para Fornecimento anexo a este pedido de compra. O prazo de pagamento deve ser contado a partir do dia seguinte a data de emissão da NF. P\/ a entrega de item(ns) com validade inferior a 120dd, informar o comprador responsável antes do faturamento\/entrega. Obrigatório informar o nº Pedido na NF.",
        "messageCode": 1
    }
}

Descrição dos campos:

  • messageText: Campo da modal Gerar Pedido que apresenta o texto cadastrado para o código da mensagem escolhido no campo "Código de mensagem"
  • messageCode: Código da mensagem. Seu texto é apresentado no campo "messageText", ao lado.

RowErrors

Temp-table

OUTPUT

Informações sobre os erros ocorridos durante a busca dos dados.

Retorno

Texto cadastrado para o código da mensagem enviado por payload, bem como o próprio código da mensagem.

...

pi-process-v1

RequisitoNenhum.

Sintaxe

RUN pi-process-v1 in handle (INPUT oInput,

                                                OUTPUT oOutput).

Descrição







Realiza o processamento das sugestões de pedido, ou seja, procura as ordens de compra com campos em comum e cria os registros das tabelas sugest-ped-comp-process, sugest-ped-comp e sugest-ped-comp-ordem. Repassa os parâmetros recebidos pela API de comunicação (ccp/rules/ordersSuggestions)  para a camada de negócio (ccp/rules/ordersSuggestionsRules) chamando o método pi-process-v1.

O processamento é feito com base no que for recebido por payload. Além do payload vazio, é possível enviar nele filtros limitando assim as ordens que serão consideradas para a geração de sugestões, com base em diferentes critérios e combinações. 

Uma sugestão de compra é gerada quando uma ou mais ordens seguem todas as especificações a seguir:

  • Estabelecimento: As ordens devem possuir o mesmo estabelecimento indicado.

  • Emitente: O emitente das ordens precisa ser o mesmo.

  • Condição de Pagamento: As ordens devem compartilhar a mesma condição de pagamento.

  • Natureza: A natureza da transação deve ser idêntica entre as ordens consideradas.

  • Processo: O número do processo vinculado à ordem precisa ser idêntico.

  • Transportador: A empresa transportadora deve ser a mesma em todas as ordens.

  • Número do Processo de Cotação: As ordens precisam possuir o mesmo número de processo de cotação.

  • Incoterm: O Incoterm deve ser idêntico entre as ordens.

  • Situação: A ordem deve estar como "Cotada".
  • Pedido de compra: Não possuir pedido de compra atrelado a essa ordem.
  • Expectativa: As ordens não podem estar como Expectativa de Compra.

Parâmetro

Tipo

Input/Output

Descrição

oInput

JsonObject

INPUT

Parâmetros para busca de ordens específicos.

  • pathParams: 
    • process (endPoint do método atual).
  • payload: O payload pode ter os seguintes filtros atrelados:
    • orderLineNumber: Número das ordens especificada;
    • requestNumber: Código da solicitação de compra;
    • vendorId: Código do fornecedor;
    • urgency: Numero da urgência (pode ser de 1 ate 4);
    • buyerCode: Código dos compradores;
    • siteCode: Estabelecimento;
    • quotationProcessId: Código do processo de cotação;
    • itemCode: Código do item;
    • quotationDate: Período da cotação :
      • start: Data inicial;
      • end: Data final.
    • orderDate: Data do pedido;
    • orderBy: Campo que será utilizado para a ordenação das sugestões de compra.
Exemplo Payload - 1

{
    "orderLineNumber": [
      57781476,
      57781480,
      57781479
    ],
    "requestNumber": [
      100,
      1,
      2
    ],
    "vendorId": [
      1,
      3
    ],
    "urgency": [
      1,
      2,
      3,
      4
    ],
    "buyerCode": [
      "super",
      "*mia",
      "@dss",
      "0012"
    ],
    "siteCode": [
      "001",
      "003"
    ],
    "quotationProcessId": [
      4,
      2,
      3
    ],
    "itemCode": [
      " .compras",
      " .compras_mcl"
    ],
    "quotationDate": {
      "start": "2023-12-13",
      "end": "2024-01-12"
    },
    "orderDate": "2024-01-03",
    "orderBy": "urgency"
  }

Exemplo Payload - 2

{
  "orderLineNumber": [
    5438
  ],
  "urgency": [
    1,
    2,
    3,
    4
  ],
  "quotationDate": {
    "start": "2023-12-11",
    "end": "2024-01-10"
  },
  "orderDate": "2024-01-10",
  "orderBy": "urgency"
}

Exemplo cabeçalho

{
    "pathParams": [
       process
    ]

}

oOutput

JsonObject

OUTPUT

Retorno da requisição trazendo as informações da finalização do processamento.

Exemplo de retorno

{
    "initialDatetime": "2024-01-10T11:37:55.000-03:00",
    "processSequence": 1,
    "progressPercent": 100,
    "finalDatetime": "2024-01-10T11:37:57.732-03:00",
    "userCode": "dmansupimpa2",
    "creationDatetime": "2024-01-10T11:37:55.000-03:00",
    "status": 3
}

Descrição dos campos:

  • initialDatetime: Data e hora inicial do processamento
  • processSequence: Sequência do processo, será atrelada as sugestões de pedido
  • progressPercent: Percentual de progresso do processamento
  • finalDatetime: Data e hora final do processamento
  • userCode: Usuário que fez o processamento
  • creationDatetime: Data da criação do processo
  • status: Status do processamento, 3 significa que foi encerrado.

Retorno

Retorna os dados relacionados a criação do processamento da sugestão.