Histórico da Página
PApGetOP - Manipular informações da ordem de produção para o APP Minha Produção
Linha de Produto: | Protheus | ||||||||||||||||||||||||||||||||||||
Segmento: | Manufatura | ||||||||||||||||||||||||||||||||||||
Módulo: | SIGAPCP - Planejamento e Controle da Produção | ||||||||||||||||||||||||||||||||||||
Parâmetro(s): |
| ||||||||||||||||||||||||||||||||||||
Idiomas: | Todos | ||||||||||||||||||||||||||||||||||||
País(es): | Todos | ||||||||||||||||||||||||||||||||||||
Banco(s) de Dados: | Todos | ||||||||||||||||||||||||||||||||||||
Sistema(s) Operacional(is): | Todos |
Ponto de Entrada
Descrição: | O ponto de entrada PApGetOP é executado nas requisições de consulta de ordem de produção da API ProductionAppointment. Com este ponto de entrada, é possível modificar as informações que serão retornadas para o APP Minha Produção. | |||||||||||||
Localização: | API ProductionAppointment, método GET ProductionOrder - Responsável por buscar as informações de uma ordem de produção para utilização no APP Minha Produção. | |||||||||||||
Eventos: | Não se aplica. | |||||||||||||
Programa Fonte: | ProductionAppointment.PRW | |||||||||||||
Sintaxe: | PApGetOP( ) --> oJsonRet | |||||||||||||
Retorno: |
| |||||||||||||
Observações: | Não é permitida a utilização de qualquer componente de interface gráfica nesse ponto de entrada, visto que a função será executada durante uma requisição REST. |
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#INCLUDE "TOTVS.CH"
User Function PApGetOP()
Local cTipo := PARAMIXB[1]
Local cJsRet := PARAMIXB[2]
Local cFormCode := PARAMIXB[3]
Local cReqSource := PARAMIXB[4]
Local cBcodeData := PARAMIXB[5]
Local oJsRet := JsonObject():New()
//Converte a string JSON para objeto JSON, para que seja possível manipular os dados.
oJsRet:FromJson(cJsRet)
Conout("PE antes alteracao. Tipo: " + cTipo + " JSON: " + cJsRet)
Do Case
Case cTipo == "1" // Apontamento MATA250
If cReqSource == "PR"
oJson["BC_OBSERVA"] := "Perda lançada pelo APP"
Else
oJsRet["CostCenter"] := "01"
oJsRet["CustomFieldCharacter01"] := "Produto:" + oJsRet["ItemCode"]
//Verifica se existe conteúdo de leitura de código de barras
If !Empty(cBcodeData)
oJsRet["DocumentCode"] := Substr(cBcodeData,15,10)
EndIf
EndIf
Case cTipo == "3" // Apontamento MATA681
If cReqSource == "AV" .Or. cReqSource == "ST" .Or. cReqSource == "QU"
If cFormCode = "USINAGEM"
oJsRet["MachineCode"] := "REC" // Máquina padrão para o formulário "USINAGEM"
Else
oJsRet["MachineCode"] := "IMP" // Máquina padrão para o restante dos formulários
EndIf
EndIf
Case cTipo == "4" // Apontamento SFCA314
oJsRet["EndReportTime"] := Time()
EndCase
//Converte o objeto Json com as informações manipuladas em uma String Json.
cJsRet := oJsRet:ToJson()
//Limpa da memória o objeto Json utilizado.
FreeObj(oJsRet)
Conout("PE Apos alteracao. Tipo: " + cTipo + " JSON: " + cJsRet)
Return cJsRet |