#INCLUDE "PROTHEUS.CH"
User Function MRPAPIDET()
Local aDetails := {}
Local cAlias := GetNextAlias()
Local nTotal := 0
Local cTicket := PARAMIXB[1]
Local cProduto := PARAMIXB[2]
Local cIdOpc := PARAMIXB[3]
Local aItems := PARAMIXB[4]
BeginSQL alias cAlias
SELECT MV_TABELA, Count(1) qtdDocs
FROM %table:SMV%
WHERE MV_FILIAL = %xFilial:HWC%
AND MV_TICKET = %exp:cTicket%
AND MV_PRODUT = %exp:cProduto%
AND MV_IDOPC = %exp:cIdOpc%
AND %notDel%
GROUP BY MV_TABELA
EndSQL
While (cAlias)->(!EoF())
nTotal += (cAlias)->qtdDocs
aAdd(aDetails, JsonObject():New())
aDetails[Len(aDetails)]["prodOrigem"] := ""
aDetails[Len(aDetails)]["quantidade"] := (cAlias)->qtdDocs
Do Case
Case (cAlias)->MV_TABELA == "T4S"
aDetails[Len(aDetails)]["docOrigem"] := "Empenhos"
Case (cAlias)->MV_TABELA == "T4U"
aDetails[Len(aDetails)]["docOrigem"] := "Pedidos de compra"
Case (cAlias)->MV_TABELA == "T4J"
aDetails[Len(aDetails)]["docOrigem"] := "Demandas"
Case (cAlias)->MV_TABELA == "T4T"
aDetails[Len(aDetails)]["docOrigem"] := "Solicitações de compra"
Case (cAlias)->MV_TABELA == "T4V"
aDetails[Len(aDetails)]["docOrigem"] := "Saldo inicial"
Case (cAlias)->MV_TABELA == "T4Q"
aDetails[Len(aDetails)]["docOrigem"] := "Ordens de produção"
Case (cAlias)->MV_TABELA == "ET "
aDetails[Len(aDetails)]["docOrigem"] := "Em terceiro"
Case (cAlias)->MV_TABELA == "DT "
aDetails[Len(aDetails)]["docOrigem"] := "De terceiro"
Case (cAlias)->MV_TABELA == "SB "
aDetails[Len(aDetails)]["docOrigem"] := "Saldo bloqueado"
EndCase
(cAlias)->(dbSkip())
End
(cAlias)->(dbCloseArea())
aSize(aItems, Len(aItems)+1)
aIns(aItems, 1)
aItems[1] := JsonObject():New()
aItems[1]["branchId" ] := xFilial("HWC")
aItems[1]["ticket" ] := cTicket
aItems[1]["product" ] := cProduto
aItems[1]["optionalId" ] := cIdOpc
aItems[1]["periodDate" ] := ""
aItems[1]["documentType" ] := ""
aItems[1]["documentCode" ] := "Quantidade de documentos considerados pelo MRP"
aItems[1]["fatherProduct" ] := ""
aItems[1]["registerType" ] := ""
aItems[1]["quantity" ] := nTotal
aItems[1]["balance" ] := 0
aItems[1]["documentStatus"] := ""
aItems[1]["warehouse" ] := ""
aItems[1]["detail" ] := aDetails
Return aItems