CARREGAMENTO DE FARDOS VIA WEB SERVICE REST

Características do Requisito

Linha de Produto:

Microsiga Protheus

Segmento:

Supply Chain - Agroindústria

Módulo:

SIGAAGR

Rotina:

Rotina

Nome Técnico

Carregamento de Fardinhos API REST

UBAW10API

País(es):

Brasil

Banco(s) de Dados:

Todos

Tabelas Utilizadas:

DXI - Fardos de algodão em pluma

NJJ - Romaneio

NJM - Itens do romaneio

N9D - Rastro de fardinhos

Sistema(s) Operacional(is):

Windows, Linux, Unix


Descrição

Para os usuários que possuem algum aplicativo customizado, e que precisam realizar o carregamento fardos, foi disponibilizado o método Web Service REST.

Para utilização, é necessário a atualização do produto e a configuração do Web Service REST, conforme descrito nos pré-requisitos.


Método Publicado

FonteUBAW10API
Nome do ServiçoCarregamento de fardos


Pré-requisitos para Utilização

  • Atualização do Microsiga Protheus com versão igual ou superior a 12.1.17.
  • Configuração do AppServer para disponibilizar as rotinas publicadas com o Web Service REST.
  • Após a configuração do Web Service REST, ao executar o appserver via console, será apresentada uma mensagem, informando que o Web Service REST está habilitado, vide imagem abaixo.


  • Pelo navegador de Internet, é possível visualizar todos os serviços disponíveis, inclusive a API UBAW09API

  • API UBAW10API.

Métodos disponíveis no API UBAW09API.


Exemplo de Utilização

Para realizar testes, pode ser utilizado qualquer programa de sua preferência, que teste API Web Service REST.

Como exemplos de programas, podemos citar o SoapUI ou a extensão Postman do Navegador Chrome. Ambos são excelentes aplicativos.


Utilizando o Postman para Realizar uma busca/manipulação de fardinhos

A API UBAW10API disponibiliza o método GET, onde é retornado o arquivo de exemplo no formato JSON, que poderá ser utilizado para executar o método POST.

Na ferramenta Postman, copie o exemplo retornado, altere para executar o PUT e cole o exemplo no Body (corpo). ***ANA*** 

*********************** COLOCA A SUA DOC AQUI E APAGA ESSE COMENTARIO DEPOIS
Altere as informações dos campos para dados válidos da base de dados e execute a simulação (mais abaixo tem a explicação de cada campo do arquivo JSON).



Exemplo de arquivo JSON

Arquivo JSON de entrada para ser utilizado como base. **PRECISA ALTERAR AQUI TBM ANA

{
    "hasNext": true,
    "item": [
        {
            "warehouse": "02",
            "pack": "000010",
            "id": 1,
            "crop": "2018",
            "recno": 28,
            "sourcebranch": "D MG 01",
            "barCode": "00001020304 00000284",
            "embfis": "1"
        }
          ]
}


Arquivo JSON de resposta do GET

   URL: http://localhost:8080/rest/UBAW10API/v1/packingList?Page=1&PageSize=50&SourceBranch=COD DA FILIAL&Scheduling=NUM DO AGENDAMENTO

       Page: o número da página que será retornado. OBRIGATÓRIO

       PageSize: Quantidade de registros por página. OBRIGATÓRIO

    SourceBranch: Filial do sistema usado na busca dos registros. Como a tabela em questão é exclusiva, caso este parâmetro não seja informado, a consulta retornará vazia. OBRIGATÓRIO

    Scheduling: Número do agendamento que esta se consultando. OBRIGATÓRIO

URL usada: http://localhost:8080/rest/UBAW10API/v1/packingList?Page=1&PageSize=3&SourceBranch=D MG 01&Scheduling=0000000864


{
    "content": [
        {
            "Items": [
                {
                    "SOURCEBRANCH": "D MG 01",
                    "VEHICLECAPACITY": 0,
                    "CARPLATE": "        ",
                    "Blocks": [
                        {
                            "BALESQUANTITY": 40,
                            "GROSSWEIGHT": 8466.9,
                            "WAREHOUSE": "16",
                            "ID": "01",
                            "Bales": [
                                {
                                    "GROSSWEIGHT": 210,
                                    "WAREHOUSE": "16",
                                    "ID": "01",
                                    "CROP": "959596",
                                    "TAGBALES": "00078985358311217145",
                                    "BLOCK": "000059"
                                },
                                {
                                    "GROSSWEIGHT": 210,
                                    "WAREHOUSE": "16",
                                    "ID": "02",
                                    "CROP": "959596",
                                    "TAGBALES": "00078985358311217152",
                                    "BLOCK": "000059"
                                },
                                {
                                    "GROSSWEIGHT": 210,
                                    "WAREHOUSE": "16",
                                    "ID": "03",
                                    "CROP": "959596",
                                    "TAGBALES": "00078985358311217169",
                                    "BLOCK": "000059"
                                }
                            ],
                            "BLOCK": "000059"
                        }
                    ],
                    "BALESQUANTITY": 40,
                    "SHIPPINGINSTRUCTION": "000000000000000000000000000264",
                    "PACKNUMBER": "0000000864",
                    "WEIGHTLIMIT": 0,
                    "LastRecno": 3,
                    "MaxRecno": 40
                }
            ]
        }
    ]
}

Observações:

  1. A estrutura exibida será:
    Romaneio{
         Bloco{
              Fardo{

              }
             Fardo{

              }
         }
         Bloco{
            Fardo{

             }     
         }
    }
    Onde: A busca é efetuada para um agendamento, cada agendamento pode ter vários fardos e estes fardos podem pertencer a blocos diferentes.

  2. A tag "hasNext" significa que os ainda existem registros retornados além dos que foram retornados.
  3. A tag "lastRecno" representa o id do último registro retornado na consulta
  4. A tag "maxRecno" representa o último registro de toda a consulta, é o máximo que a busca pode retornar.
  5. No caso específico desta API, o número de PagSize consiste na quantidade de fardos que serão retornados.

Dados Técnicos:

     "sourcebranch": filial, tipo: char, tamanho: 8

     "packnumber": código do romaneio, tipo: char, tamanho: 10

     "shippinginstruction": instrução de embarque, tipo: char, tamanho: 30

     "crop": safra, tipo: char, tamanho: 15

     "block": bloco, tipo: char, tamanho: 6

     "warehouse": local, tipo: char, tamanho: 2

     "tagbales": etiqueta, tipo, char, tamanho: 20

     "grossweight": peso bruto, tipo, decimal, tamanho: 10,2