Histórico da Página
POSCusOrd - Ordenação personalizada da consulta de Ordem de 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 POSCusOrd será executado ao realizar uma consulta de ordem de produção no App Minha Produção e nele será possível manipular a consulta SQL que trará as ordens de produção filtradas para que realize a ordenação conforme necessitar, assim como atribuir um nome à ordenação para que apareça na tela de resultados da consulta. | ||||||||
Localização: | API ProductionOrderSearch, método GET ProductionOrderMaster - Responsável por retornar uma lista de ordens de produção durante a utilização do APP Minha Produção - Consulta de OP. | ||||||||
Eventos: | Não se aplica. | ||||||||
Programa Fonte: | ProductionOrderSearch.PRW | ||||||||
Sintaxe: | POSCusOrd( ) --> aRetOrd | ||||||||
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 POSCusOrd()
//parâmetros
Local cUserCode := PARAMIXB[1]
Local cFormCode := PARAMIXB[2]
Local cApType := PARAMIXB[3] //0-Menu,1-Apont. Produção(MATA250),3-Apont. Produção MOD 2(MATA681),4-Apont. Produção SFC (SFCA314),6-Cad. Ordem Produção(MATA650)
Local cQuery := PARAMIXB[4]
Local lDesc := PARAMIXB[5]
//partes da query
Local nFieldsIni := AT("TC_",cQuery)
Local nFieldsFin := AT("FROM",cQuery)
Local cFields := AllTrim(SUBSTRING(cQuery,nFieldsIni,nFieldsFin-nFieldsIni))
Local cTable := AllTrim(SUBSTR(cQuery,nFieldsFin+4))
//nome da ordenação no app
Local cSortName := ""
//query customizada
Local cQueryOrd := ""
//array de retorno - [1] = nome da ordenação, [2] = query
//obs.: para não aplicar ordenação na consulta, manter o array vazio
Local aRet := {}
conout("cUserCode: " + cUserCode)
conout("cFormCode: " + cFormCode)
conout("cApType: " + cApType)
conout("cQuery: " + cQuery)
conout("lDesc: " + IIF(lDesc,"true","false"))
If cApType == "3"
cSortName := "Carga Máquina"
cQueryOrd := "SELECT "
cQueryOrd += cFields
cQueryOrd += " FROM " + cTable + " TC"
cQueryOrd += " LEFT JOIN "+RetSqlName("SH8")+" SH8 ON SH8.H8_OP = TC.TC_OP AND SH8.H8_OPER = TC.TC_OPER"
cQueryOrd += " ORDER BY SH8.H8_OPER,SH8.H8_BITINI"
EndIf
If cApType $ "|1|4|6|"
cSortName := "Prev. Término"
cQueryOrd := cQuery
cQueryOrd += " ORDER BY TC_DATPRF"
If lDesc
cQueryOrd += " DESC"
EndIf
EndIf
//A pesquisa de OP localizada no menu não terá ordenação customizada, portanto, será devolvido o array vazio
If !Empty(cSortName)
aAdd(aRet,cSortName)
aAdd(aRet,cQueryOrd)
EndIf
Return aRet
|