Histórico da Página
...
Exemplo de Uso
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
Method BuscaDados(oFiltros, cTipo, cSubTipo) Class StatusLotesAVencer Local aSemaforo := StrTokArr(Replace(oFiltros["03_SEMAFORO"],",","."),";") Local cAliasQry := GetNextAlias() Local cCodProd := oFiltros["02_B8_PRODUTO"] Local cJsonDados := "" Local cQuery := "" Local cTxtPrc := "" Local cTxtSec := "" Local cUnMedida := "" Local dFilterDat := PCPMonitorUtils():RetornaPeriodoFinal(oFiltros["05_TIPOPERIODO"],ddatabase,cValtoChar(oFiltros["06_PERIODO"])) Local nIndLinha := 0 Local nQuant := 0 Local nValSemaf1 := Val(aSemaforo[1]) Local nValSemaf2 := Val(aSemaforo[2]) Local nLotes := 0 Local nSaldo := 0 Local oJsonRet := JsonObject():New() Local oStylePrc := JsonObject():New() Local oStyleSec := JsonObject():New() oJsonRet["corTitulo"] := "white" oJsonRet["alturaMinimaWidget"] := "350px" oJsonRet["alturaMaximaWidget"] := "500px" oJsonRet["linhas"] := {} oJsonRet["tags"] := {} oFiltros["01_B8_FILIAL"] := PadR(oFiltros["01_B8_FILIAL"], FWSizeFilial()) cUnMedida := Posicione("SB1",1,xFilial("SB1",oFiltros["01_B8_FILIAL"])+cCodProd,"B1_UM") cQuery += " SELECT " cQuery += " SB8.B8_PRODUTO CODIGO_PRODUTO, " cQuery += " SUM(SB8.B8_SALDO) SALDO, " cQuery += " COUNT(SB8.R_E_C_N_O_) QUANTIDADE_LOTES " cQuery += " FROM "+RetSqlName("SB8")+" SB8 " cQuery += " WHERE SB8.B8_FILIAL = '" + xFilial("SB8",oFiltros["01_B8_FILIAL"]) + "' " cQuery += " AND SB8.B8_PRODUTO = '" + cCodProd + "' " cQuery += " AND SB8.B8_DTVALID BETWEEN '"+DTOS(ddatabase)+"' AND '"+DTOS(dFilterDat)+"' " cQuery += " AND SB8.B8_SALDO > 0 " cQuery += " AND SB8.D_E_L_E_T_ = ' ' " cQuery += " GROUP BY SB8.B8_FILIAL,SB8.B8_PRODUTO " dbUseArea(.T.,"TOPCONN",TcGenQry(,,cQuery),cAliasQry,.F.,.F.) If (cAliasQry)->(!Eof()) cCodProd := AllTrim((cAliasQry)->CODIGO_PRODUTO) nLotes := (cAliasQry)->QUANTIDADE_LOTES nSaldo := (cAliasQry)->SALDO End (cAliasQry)->(dbCloseArea()) If oFiltros["04_TIPOSEMAFORO"] == "L" nQuant := nLotes cTxtPrc := cValToChar(nLotes) cTxtSec := cValToChar(nSaldo) + " " + cUnMedida Else nQuant := nSaldo cTxtPrc := cValToChar(nSaldo) cTxtSec := cValToChar(nLotes) + IIF(nLotes > 1, " Lotes", " Lote") EndIf If nLotes > 0 oStyleSec["color"] := "white" oJSonRet["corFundo"] := IIF(nQuant < nValSemaf1,"rgb(38,186,65)",IIF(nQuant < nValSemaf2,"rgb(255,207,1)","rgb(245,0,49)")) If oJSonRet["corFundo"] == "rgb(255,207,1)" oStyleSec["color"] := "black" oJsonRet["corTitulo"] := "black" EndIf oStylePrc["font-weight"] := "bold" oStylePrc["font-size"] := "120px" oStylePrc["line-height"] := "130px" oStylePrc["text-align"] := "center" oStylePrc["color"] := oStyleSec["color"] oStylePrc["cursor"] := "pointer" PCPMonitorUtils():AdicionaLinhaInformacao(oJsonRet["linhas"],@nIndLinha,cTxtPrc,"po-sm-12",oStylePrc:ToJson(),.T.) PCPMonitorUtils():AdicionaLinhaInformacao(oJsonRet["linhas"],@nIndLinha,cTxtSec,"po-font-title po-text-center po-sm-12 po-pt-1 bold-text",oStyleSec:ToJson()) Else oJsonRet["corFundo"] := "rgb(38,186,65)" PCPMonitorUtils():AdicionaLinhaInformacao(oJsonRet["linhas"],@nIndLinha,"Nenhum lote do produto vencerá no período selecionado.","po-font-text-large-bold po-text-center po-sm-12 po-pt-4",oStyleSec:ToJson()) EndIf cJsonDados := oJsonRet:toJson() FwFreeArray(aSemaforo) FreeObj(oJsonRet) FwFreeObj(oStylePrc) FwFreeObj(oStyleSec) Return cJsonDados |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas