Versão atual:

Get com parâmetro na url usando uma query sql

Pessoal, estou com um get criado retornando informações das ordens de produção (SC2) a partir da consulta do número da OP. Fiz toda a operação usando dbseek e outras funções que deixarei abaixo. Gostaria de saber se tem como trazer o mesmo conteúdo mas por uma query sql ? Ao invés de fazer validações com o dbseek relacionando as tabelas. Costumo usar begin sql em endpoints GET que não precisam usar parâmetros.

Código abaixo do get criado sem query:

WsMethod GET DETALHE WsService RELATOP1

Local oJson := JsonObject():New() Local oJsonItem := Nil Local lRet := .T.

SC2->(DbSetOrder(1))

If SC2->( DbSeek( cFilAnt + self:aUrlParms[1] ) )

oJson['Filial'] := SC2->C2_FILIAL oJson['Num.Op'] := SC2->C2_NUM oJson['Cod.Produto'] := SC2->C2_PRODUTO oJson['Quantidade'] :=SC2->C2_QUANT oJson['Uni.Medida'] := SC2->C2_UM oJson['Item'] := SC2->C2_ITEM oJson['Entrega'] := SC2->C2_DATPRF oJson['Fabril'] := {}

SB1->(DbSetOrder(1)) SB1->( DbSeek(xFilial('SB1') + SC2->C2_PRODUTO) )

While SB1->(!Eof()) .And. SB1->B1_COD == SC2->C2_PRODUTO

oJsonItem := JsonObject():New() oJsonItem['Descrição'] := SB1->B1_DESC oJsonItem['Proc.Fabril'] := SB1->B1_XDOP

Aadd(oJson['Fabril'], oJsonItem)

SB1->(DbSkip())

EndDo

self:SetResponse(oJson:ToJson())

Else

SetRestFault(400, 'Ordem não foi encontrado!') lRet := .F.

EndIF Return lRet

Versões (2):

Ver a versão formatada

Get com parâmetro na url usando uma query sql

Comentário

new question