01. DADOS GERAIS

Linha de Produto:TOTVS RENTAL
Segmento:Serviços
Módulo:SIGALOC
Função:

APPQueryresult

Ticket:Não há.
Story:

DSERLOCA-4098

02. SITUAÇÃO/REQUISITO

Criar API do Tipo Post (Regra tipo API Sync) para receber o Body com a informações do Resultado da Query

03. SOLUÇÃO

Foi criada a API no seguinte end point: /APPQueryresult

Parâmetros de entrada:

                 Parâmetros de entrada para Retornar (01) Quantidade de Multas, (02) Motoristas por Cliente, (03) Qtde de Notificação de Multas, (05) Qtde de Bens em Manutenção, (05) Qtde de Motoristas

                Parâmetros de entrada para retornar os Serviços de Manutenção do Tipo Corretiva (06)              

Obrigatórios:


Request:


Para execução da Query 01

{
   "cnpj_empresa":"53485215000106",
   "cod_query":"01",
   "cod_cli":"000094",
   "loj_cli":"01"
 }


Para execução da Query 02

{
   "cnpj_empresa":"53485215000106",
   "cod_query":"02",
   "cod_cli":"000094",
   "loj_cli":"01"
 }


Para execução da Query 03

{
   "cnpj_empresa":"53485215000106",
   "cod_query":"03",
   "cod_cli":"000094",
   "loj_cli":"01"
 }


Para execução da Query 04

{
   "cnpj_empresa":"53485215000106",
   "cod_query":"04",
   "cod_cli":"000094",
   "loj_cli":"01"
 }


Para execução da Query 05

{
   "cnpj_empresa":"53485215000106",
   "cod_query":"05",
   "cod_cli":"000094",
   "loj_cli":"01"
 }


Para execução da Query 06

{
   "cnpj_empresa":"53485215000106",
   "cod_query":"05",
   "cod_cli":"",
   "loj_cli":""
 }




Retorno esperado:
Response:

cod_query = 01

{
   "Retorno": "OK",
   "Dados": [   {
      "TRX_NOME": "MOTORISTA SIGALOC",
      "MULTAS": 1
   }]
}

cod_query = 02

{
   "Retorno": "OK",
   "Dados":    [
            {
         "DA4_COD": "LOC001",
         "DA4_NOME": "DENNIS3",
         "DA4_CGC": "12345678901",
         "DA4_NUMCNH": "1234567890"
      },
            {
         "DA4_COD": "LOC005",
         "DA4_NOME": "DENNIS1",
         "DA4_CGC": "12345678901",
         "DA4_NUMCNH": "1234567890"
      },
            {
         "DA4_COD": "LOC004",
         "DA4_NOME": "DENNIS2",
         "DA4_CGC": "12345678901",
         "DA4_NUMCNH": "1234567890"
      }
   ]
}


cod_query = 03

{
   "Retorno": "OK",
   "Dados": [   {
      "TRX_NOME": "MOTORISTA SIGALOC",
      "QTDE_NOTIFICACOES_MULTAS": 1
   }]
}


cod_query = 04

{
   "Retorno": "OK",
   "Dados": [{"QTDE_BENS_MANUTENCAO": 1}]
}


cod_query = 05

{
   "Retorno": "OK",
   "Dados": [{"QTDE_MOTORISTAS": 4}]
}


cod_query = 06

{
   "Retorno": "OK",
   "Dados":    [
            {
         "T4_SERVICO": "ELEINS",
         "T4_NOME": "INSPECAO DE PECAS ELETRICAS",
         "TE_CARACTE": "C"
      },
            {
         "T4_SERVICO": "ELESUB",
         "T4_NOME": "SUBSTITICAO DE PECAS ELETRICAS",
         "TE_CARACTE": "C"
      },
            {
         "T4_SERVICO": "MECANI",
         "T4_NOME": "SERVICO MECANICO",
         "TE_CARACTE": "C"
      },
            {
         "T4_SERVICO": "CORMNT",
         "T4_NOME": "CORRETIVA PADRAO MNT",
         "TE_CARACTE": "C"

}

04. DEMAIS INFORMAÇÕES

Para saber as queries que são executadas no app, seguem abaixo com seus respectivos códigos:

cod 01
      SELECT TRX_NOME, COUNT(*) MULTAS
      FROM xEmp('TRX') TRX
      INNER JOIN xEmp('FP0') FP0
        ON FP0_FILIAL = xFilial('FP0')
        AND FP0.D_E_L_E_T_ = ' '
        AND FP0_CLI = '${CLIENT_ID}'
        AND FP0_LOJA = '${CLIENT_LOJA}'
      INNER JOIN xEmp('FPA') FPA
        ON FPA_FILIAL = xFilial('FPA')
        AND FPA_PROJET = FP0_PROJET
        AND FPA.D_E_L_E_T_ = ' '
        AND FPA_AS <> ''
      WHERE TRX_FILIAL = xFilial('TRX')
        AND TRX_AS = FPA_AS

        AND TRX_TPMULT = 'TRANSITO'
        AND TRX.D_E_L_E_T_ = ' '
      GROUP BY TRX_NOME
      ORDER BY TRX_NOME

cod 02
SELECT DA4_COD,DA4_NOME,DA4_CGC,DA4_NUMCNH 
FROM "+RETSQLNAME("DA4")+" DA4 " 
WHERE DA4_FILIAL = '" + xFilial('DA4') + "' "
AND DA4_CODCLI  = '"+cCli+"' "
AND DA4_LOJCLI = '"+cLoja+"' "  
AND DA4.D_E_L_E_T_ = ' ' "

cod03
SELECT COUNT(*) AS QTDE_NOTIFICACOES_MULTAS
      FROM xEmp('TRX') TRX
      INNER JOIN xEmp('FP0') FP0
        ON FP0_FILIAL = xFilial('FP0')
        AND FP0.D_E_L_E_T_ = ' '
        AND FP0_CLI = '${CLIENT_ID}'
        AND FP0_LOJA = '${CLIENT_LOJA}'
      INNER JOIN xEmp('FPA') FPA
        ON FPA_FILIAL = xFilial('FPA')
        AND FPA_PROJET = FP0_PROJET
        AND FPA.D_E_L_E_T_ = ' '
        AND FPA_AS <> ''

      AND TRX_TPMULT = 'NOTIFICACAO'

      WHERE TRX_FILIAL = xFilial('TRX')
        AND TRX_AS = FPA_AS
        AND TRX.D_E_L_E_T_ = ' '

cod04
SELECT COUNT(*) AS QTDE_BENS_MANUTENCAO
      FROM xEmp('FQF') FQF
      INNER JOIN xEmp('FP0') FP0
        ON FP0_FILIAL = xFilial('FP0')
        AND FQF_PROJET = FP0_PROJET
        AND FP0.D_E_L_E_T_ = ' '
        AND FP0_CLI = '${CLIENT_ID}'
        AND FP0_LOJA = '${CLIENT_LOJA}'
      INNER JOIN xEmp('FQE') FQE
        ON FQE_FILIAL = xFilial('FQE')
        AND FQE_CODIGO = FQF_SUBST
        AND FQE.D_E_L_E_T_ = ' '
      WHERE FQF_FILIAL = ' '
        AND FQF_OS <> ''
        AND FQF_DPRFIM = ''
        AND FQF.D_E_L_E_T_ = ' '

cod05
SELECT COUNT(*) AS QTDE_MOTORISTAS
      FROM xEmp('DA4') DA4
      WHERE DA4_FILIAL = xFilial('DA4')
        AND DA4_CODCLI = '${CLIENT_ID}'
        AND DA4_LOJCLI = '${CLIENT_LOJA}'
        AND DA4.D_E_L_E_T_ = ' '

05. ASSUNTOS RELACIONADOS

Apps RENTAL