Definir Numero nStatusProcesso; Definir alfa aMensagemProcesso; Definir Alfa xCursorPrin; Definir Alfa aAspaDupla; Definir Alfa aCurEqp; Definir Numero nParam_CodEmp; Definir Alfa aParam_CodCre; Definir Data dParam_DatReg; Definir Numero nSql_E725cre_Codemp; Definir Alfa aSql_E725cre_Codcre; Definir Alfa aSql_E725cre_Descre; Definir Alfa aSql_E725cre_Codccu; Definir Numero nSql_E103eqp_codemp; Definir Alfa aSql_E103eqp_codeqp; Definir Alfa aSql_E103eqp_deseqp; Definir Alfa aSql_E103eqp_codccu; Definir Alfa aSql_E103eqp_Codcre; Definir Alfa aSql_E103eqp_Codcre_Old; Definir Funcao IniciaProcessamento(); Definir Funcao MontaResposta(); Definir Funcao BuscaDados(); Definir Funcao AddCentroRecToResposta(); Definir Funcao CarregaEquipamentos(); aAspaDupla = "\""; IniciaProcessamento(); @------------------------------------------------------------------------------@ @----Função para iniciar a distribuição do processamento das informações-------@ @------------------------------------------------------------------------------@ Funcao IniciaProcessamento();{ nStatusProcesso = 1; aMensagemProcesso ="Processamento realizado com sucesso."; nParam_CodEmp=ListarCentrosRecurso.CodEmp; aParam_CodCre=ListarCentrosRecurso.CodCre; dParam_DatReg=ListarCentrosRecurso.DatReg; nParam_OffSet=ListarCentrosRecurso.OffSet; nParam_Limit =ListarCentrosRecurso.Limit; Se(nParam_CodEmp=0){ nParam_CodEmp = 1; } Se(nParam_Limit=0){ nParam_Limit = 99999999; } Se(dParam_DatReg=0){ dParam_DatReg = DatSis; } Se(nStatusProcesso=1){ BuscaDados(); } MontaResposta(); } @--Função que devolve o resultado do processamento dos dados de entrada--------@ Funcao MontaResposta();{ ListarCentrosRecurso.StatusProcesso = nStatusProcesso; ListarCentrosRecurso.MensagemProcesso = aMensagemProcesso; } Funcao BuscaDados();{ SQL_Criar(xCursorPrin); SQL_UsarAbrangencia(xCursorPrin, 0); SQL_UsarSQLSenior2(xCursorPrin,0); SQL_DefinirComando(xCursorPrin,"select \ E103eqp.codemp as E103eqp_Codemp,\ E103eqp.codeqp as E103eqp_Codeqp,\ E103eqp.deseqp as E103eqp_Deseqp,\ E103eqp.codccu as E103eqp_codccu,\ E103eqp.codcre as E103eqp_codcre,\ e725cre.codemp as e725cre_codemp,\ e725cre.codcre as e725cre_codcre,\ e725cre.descre as e725cre_descre,\ e725cre.codccu as e725cre_codccu \ from E103eqp \ left join e725cre \ on e725cre.codemp= E103eqp.codemp \ and e725cre.codcre= E103eqp.codcre \ where E103eqp.codemp = :nParam_CodEmp \ and (E103eqp.CodCre= :aParam_CodCre or :aParam_CodCre = ' ' ) \ and (E103eqp.datger>=:dParam_DatReg or e725cre.datalt is null ) \ and e103eqp.siteqp='A' \ order by E103eqp.codcre desc ,E103eqp.codeqp \ OFFSET :nParam_OffSet ROWS FETCH NEXT :nParam_Limit ROWS ONLY "); SQL_DefinirInteiro(xCursorPrin,"nParam_CodEmp",nParam_CodEmp); SQL_DefinirAlfa (xCursorPrin,"aParam_CodCre",aParam_CodCre); SQL_DefinirData (xCursorPrin,"dParam_DatReg",dParam_DatReg); SQL_DefinirInteiro(xCursorPrin,"nParam_OffSet",nParam_OffSet); SQL_DefinirInteiro(xCursorPrin,"nParam_Limit" ,nParam_Limit); SQL_AbrirCursor (xCursorPrin); SQL_AbrirCursor(xCursorPrin); nContadorEqp=0; aSql_E103eqp_Codcre_Old = "Old"; ENQUANTO(SQL_EOF(xCursorPrin) = 0) { SQL_RetornarInteiro (xCursorPrin,"E103eqp_Codemp",nSql_E103eqp_Codemp); SQL_RetornarAlfa (xCursorPrin,"E103eqp_Codeqp",aSql_E103eqp_Codeqp); SQL_RetornarAlfa (xCursorPrin,"E103eqp_Deseqp",aSql_E103eqp_Deseqp); SQL_RetornarAlfa (xCursorPrin,"E103eqp_codccu",aSql_E103eqp_codccu); SQL_RetornarAlfa (xCursorPrin,"E103eqp_codcre",aSql_E103eqp_codcre); SQL_RetornarInteiro (xCursorPrin,"E725cre_Codemp",nSql_E725cre_Codemp); SQL_RetornarAlfa (xCursorPrin,"E725cre_Codcre",aSql_E725cre_Codcre); SQL_RetornarAlfa (xCursorPrin,"E725cre_Descre",aSql_E725cre_Descre); SQL_RetornarAlfa (xCursorPrin,"E725cre_Codccu",aSql_E725cre_Codccu); LimpaEspacos(aSql_E103eqp_codcre); Se(aSql_E103eqp_codcre <> aSql_E103eqp_Codcre_Old){ LimpaEspacos(aSql_E725cre_Codcre); Se(aSql_E725cre_Codcre=""){ aSql_E725cre_Codcre = "GERAL"; aSql_E725cre_Descre = "Equipamentos Gerais"; aSql_E725cre_Codccu = ""; } AddCentroRecToResposta(); } aSql_E103eqp_Codcre_Old = aSql_E103eqp_codcre; ListarCentrosRecurso.CentrosRecurso.Equipamentos.CriarLinha(); ListarCentrosRecurso.CentrosRecurso.Equipamentos.CodEqp = aSql_E103eqp_Codeqp; ListarCentrosRecurso.CentrosRecurso.Equipamentos.DesEqp = aSql_E103eqp_Deseqp; ListarCentrosRecurso.CentrosRecurso.Equipamentos.CodCcu = aSql_E103eqp_codccu; SQL_Proximo(xCursorPrin); } SQL_FecharCursor(xCursorPrin); SQL_Destruir(xCursorPrin); } /* Funcao BuscaDados();{ SQL_Criar(xCursorPrin); SQL_UsarAbrangencia(xCursorPrin,0); SQL_UsarSQLSenior2(xCursorPrin,0); SQL_DefinirComando(xCursorPrin,"select\ e725cre.codemp as e725cre_codemp,\ e725cre.codcre as e725cre_codcre,\ e725cre.descre as e725cre_descre,\ e725cre.codccu as e725cre_codccu \ from e725cre \ where (e725cre.codemp= :nParam_CodEmp ) \ and (e725cre.CodCre= :aParam_CodCre or :aParam_CodCre = ' ' ) \ and (e725cre.datalt>=:dParam_DatReg or e725cre.datalt is null ) \ ORDER BY \ e725cre.codemp, \ e725cre.CodCre \ OFFSET :nParam_OffSet ROWS FETCH NEXT :nParam_Limit ROWS ONLY "); SQL_DefinirInteiro(xCursorPrin,"nParam_CodEmp",nParam_CodEmp); SQL_DefinirAlfa (xCursorPrin,"aParam_CodCre",aParam_CodCre); SQL_DefinirData (xCursorPrin,"dParam_DatReg",dParam_DatReg); SQL_DefinirInteiro(xCursorPrin,"nParam_OffSet",nParam_OffSet); SQL_DefinirInteiro(xCursorPrin,"nParam_Limit" ,nParam_Limit); SQL_AbrirCursor (xCursorPrin); nContador=0; Enquanto(SQL_EOF(xCursorPrin)=0){ SQL_RetornarInteiro (xCursorPrin,"E725cre_Codemp",nSql_E725cre_Codemp); SQL_RetornarAlfa (xCursorPrin,"E725cre_Codcre",aSql_E725cre_Codcre); SQL_RetornarAlfa (xCursorPrin,"E725cre_Descre",aSql_E725cre_Descre); SQL_RetornarAlfa (xCursorPrin,"E725cre_Codccu",aSql_E725cre_Codccu); CarregaEquipamentos(); SQL_Proximo(xCursorPrin); } SQL_FecharCursor(xCursorPrin); SQL_Destruir(xCursorPrin); } Funcao CarregaEquipamentos();{ SQL_Criar(aCurEqp); SQL_UsarAbrangencia(aCurEqp, 0); SQL_UsarSQLSenior2(aCurEqp,0); SQL_DefinirComando(aCurEqp,"select \ E103eqp.codemp as E103eqp_Codemp,\ E103eqp.codeqp as E103eqp_Codeqp,\ E103eqp.deseqp as E103eqp_Deseqp,\ E103eqp.codccu as E103eqp_CodCcu\ from E103eqp \ where E103eqp.codemp =:nSql_E725cre_Codemp \ and E103eqp.codcre =:aSql_E725cre_Codcre \ and e103eqp.siteqp='A' \ order by E103eqp.codeqp "); SQL_DefinirInteiro(aCurEqp, "nSql_E725cre_Codemp", nSql_E725cre_Codemp); SQL_DefinirAlfa (aCurEqp, "aSql_E725cre_Codcre", aSql_E725cre_Codcre); SQL_AbrirCursor(aCurEqp); nContadorEqp=0; ENQUANTO(SQL_EOF(aCurEqp) = 0) { SQL_RetornarInteiro (aCurEqp,"E103eqp_Codemp",nSql_E103eqp_Codemp); SQL_RetornarAlfa (aCurEqp,"E103eqp_Codeqp",aSql_E103eqp_Codeqp); SQL_RetornarAlfa (aCurEqp,"E103eqp_Deseqp",aSql_E103eqp_Deseqp); SQL_RetornarAlfa (aCurEqp,"E103eqp_codccu",aSql_E103eqp_codccu); nContadorEqp++; Se(nContadorEqp=1){ AddCentroRecToResposta(); } ListarCentrosRecurso.CentrosRecurso.Equipamentos.CriarLinha(); ListarCentrosRecurso.CentrosRecurso.Equipamentos.CodEqp = aSql_E103eqp_Codeqp; ListarCentrosRecurso.CentrosRecurso.Equipamentos.DesEqp = aSql_E103eqp_Deseqp; ListarCentrosRecurso.CentrosRecurso.Equipamentos.CodCcu = aSql_E103eqp_codccu; SQL_Proximo(aCurEqp); } SQL_FecharCursor(aCurEqp); SQL_Destruir(aCurEqp); } */ Funcao AddCentroRecToResposta();{ ListarCentrosRecurso.CentrosRecurso.CriarLinha(); ListarCentrosRecurso.CentrosRecurso.CodEmp = nSql_E103eqp_Codemp; ListarCentrosRecurso.CentrosRecurso.CodCre = aSql_E725cre_Codcre; ListarCentrosRecurso.CentrosRecurso.DesCre = aSql_E725cre_Descre; ListarCentrosRecurso.CentrosRecurso.CodCcu = aSql_E725cre_Codccu; @ListarCentrosRecurso.CentrosRecurso.seq = nContador;@ }