FWAdapterBaseV2 retornado dados duplicados na API

Olá, estou utilizando a classe FWAdapterBaseV2 para retornar pedidos de compras pendentes, estou com problema onde esta sendo repetido os itens no retorno da API, ao efetuar o debug e pegando o cQuery e cWhere, pego os dados que estão sendo executando na Query e executo no QueryAnalyse do APSDU e os dados não duplicam, mas na API esta duplicando, acredito que seja algum tratamento que esteja faltando no codigo referente ao FWAdapterBaseV2, já montei uma API sem utilizar o FWAdapterBaseV2, usando a mesma Query e os dados não duplicam.
Segue as evidencias:
Codigo do fonte:

@get('api/compras/pedidos-list/v2')
 Function u_pedidoxfilxcentro() as logical

    Local lRPC
  
   Local cError        as character
	Local jResp         as json
    Local cResult       as character
    Local jResult       as json  
    Local cUser         := '000139'as character
    Local aUserCentro   as array
   
    Local cOrder       := 'C7_NUM' as character
    Local nPageSize     as numeric
    Local nPage         as numeric

    

    Local oQuery     as object

 
    Local cBFil  as character
    Local cBcen  as character

   try
    IF type('cEmpAnt') <> 'C'
		rpcSetEnv('01','010101')
		lRPC            := .T.
	EndIF

    aUserCentro := TRAZERPEDIDO(cUser)
    cBFil := aUserCentro[1]
    cBcen := aUserCentro[2]

    oQuery          := fwAdapterBaseV2():new('GET',.T.)

    oQuery:addMapFields('filial'          ,'C7_FILIAL'   ,.T.,.F.)
    oQuery:addMapFields('pedido'          ,'C7_NUM'   ,.T.,.T.)
    oQuery:addMapFields('item'        ,'C7_ITEM'   ,.T.,.F.)
    oQuery:addMapFields('descricao'      ,'B1_DESC'  ,.T.,.F.)
    oQuery:addMapFields('status'     ,'CR_STATUS'   ,.T.,.F.)
    oQuery:addMapFields('emissao'          ,'C7_EMISSAO'   ,.T.,.F.)
    oQuery:addMapFields('nome'         ,'AK_NOME'   ,.T.,.F.)
    oQuery:addMapFields('vtotal'           ,'C7_TOTAL'   ,.T.,.F.)
    oQuery:addMapFields('c_desc'           ,'CTT_DESC01'   ,.T.,.F.)
   oQuery:addMapFields("recno"        , "RECNO"       , .T., .F., { "RECNO", "N", 16, 0 }, "SC7.R_E_C_N_O_")

    cQuery := "SELECT DISTINCT #QueryFields# FROM " + retSQLName("SC7") + " SC7 "
    cQuery +=  " INNER JOIN " + RetSQLName("SCR") + " SCR ON C7_NUM=CR_NUM  AND C7_XNAT <> ' ' AND C7_FILIAL=CR_FILIAL AND SCR.D_E_L_E_T_=''  " 
    cQuery +=  " INNER JOIN " + RetSQLName("CTT") + " CTT  ON CTT_CUSTO=SC7.C7_CC AND CTT.D_E_L_E_T_='' AND CTT_FILIAL=SUBSTRING(SC7.C7_FILIAL,1,4) "
    cQuery +=  " INNER JOIN " + RetSQLName("SB1") + " SB1 ON B1_COD=C7_PRODUTO AND SB1.D_E_L_E_T_='' "
    cQuery += " INNER JOIN " + RetSQLName("SAK") + " SAK ON SAK.D_E_L_E_T_='' AND CR_APROV=AK_COD  AND CR_USER=AK_USER " 
    cQuery +=  " WHERE #QueryWhere# " 

    cWhere := " SCR.D_E_L_E_T_ = '' "

    cWhere += CRLF +  " AND CR_USER='000139'"
    cWhere += CRLF +  " AND CR_TIPO='IP' "
    cWhere += CRLF +  " AND CR_STATUS='02' "
    cWhere += CRLF +  " AND SCR.CR_FILIAL IN (" + cBFil + ") "
    cWhere += CRLF +  " AND SC7.C7_CC IN (" + cBcen + ") "

    nPageSize := 20
    nPage     := 1

    oQuery:setQuery(cQuery)
    oQuery:setWhere(cWhere)
    oQuery:setOrder(cOrder)
    oQuery:setPageSize(nPageSize)
    oQuery:setPage(nPage)

    IF oQuery:execute()
        oQuery:fillGetResponse()
        cResult := oQuery:getJsonResponse()
    Else 
      nError := oQuery:getCode()
	  cError := oQuery:getMessage()

	  jResp := jsonObject():new()
	  jResp['error'] := cError

	 oRest:setFault(jResp:toJson())

    EndIF 

    jResult := jsonObject():new()
    jResult:fromJson(cResult)

    oRest:setResponse(cResult) 

        
    catch err

		cError          := err:errorstack

		jResp           := jsonObject():new()
		jResp['error']  := cError

		oRest:setFault(jResp:toJson())

	

    endtry


    IF lRPC
		rpcClearEnv()
	EndIF

return .T.

Print executando a Query na APSDU, note a quantidades de linhas que retornou, uma quantidade menor:

Agora com um ponto de parada debugando, note a quantidade de itens duplicados

(so consigo enviar uma imagem)

Se alguem já passou por esse problema, gostaria de um apoio, estou usando o [FWAdapterBaseV2] por que estou utilizando o retorno para uma aplicação em PO UI

Segue o print do VSCODE com itens duplicados