Definir Numero nStatusProcesso; Definir alfa aMensagemProcesso; Definir Alfa aResponse_JsonOutput; Definir Alfa aSql; Definir Alfa aAspaDupla; Definir Numero nParam_CodEmp; Definir Numero nParam_CodFil; Definir Numero nParam_NumAne; Definir Numero nParam_NumPfa; Definir Alfa aParam_CodEmp; Definir Alfa aParam_CodFil; Definir Alfa aParam_NumAne; Definir Alfa aParam_NumPfa; Definir Interno.com.br.Soelx.Util.genericConsult WsgenericConsult; Definir Funcao IniciaProcessamento(); Definir Funcao MontaResposta(); Definir Funcao BuscaDadosPrefatura(); aAspaDupla = "\""; IniciaProcessamento(); @------------------------------------------------------------------------------@ @----Função para iniciar a distribuição do processamento das informações-------@ @------------------------------------------------------------------------------@ Funcao IniciaProcessamento();{ aResponse_JsonOutput = ""; nStatusProcesso = 1; aMensagemProcesso ="Processamento realizado com sucesso."; nParam_CodEmp=ListarDetalhes.CodEmp; nParam_CodFil=ListarDetalhes.CodFil; nParam_NumAne=ListarDetalhes.NumAne; nParam_NumPfa=ListarDetalhes.NumPfa; Se((nParam_CodEmp=0) ou (nParam_CodFil=0) ou (nParam_NumAne=0) ou (nParam_NumPfa=0)){ nStatusProcesso = 0; aMensagemProcesso ="Todos os parâmetros de entrada deve ser preenchidos"; } Se(nStatusProcesso=1){ BuscaDadosPrefatura(); } MontaResposta(); } @--Função que devolve o resultado do processamento dos dados de entrada--------@ Funcao MontaResposta();{ Se(nStatusProcesso=1){ ListarDetalhes.JsonOutput = aResponse_JsonOutput; } ListarDetalhes.StatusProcesso = nStatusProcesso; ListarDetalhes.MensagemProcesso = aMensagemProcesso; } Funcao BuscaDadosPrefatura();{ IntParaAlfa(nParam_CodEmp,aParam_CodEmp); IntParaAlfa(nParam_CodFil,aParam_CodFil); IntParaAlfa(nParam_NumAne,aParam_NumAne); IntParaAlfa(nParam_NumPfa,aParam_NumPfa); aSql ="select "+ " case when e073tra.codtra is not null then cast(e073tra.codtra as varchar(10)) || '-' || e073tra.nomtra else '' end " + aAspaDupla + "Transportadora:" + aAspaDupla + "," + " case when redespacho.codtra is not null then cast(redespacho.codtra as varchar(10)) || '-' || redespacho.nomtra else ' ' end "+ aAspaDupla + "Redespacho:" + aAspaDupla + "," + " e135pfa.obspfa " + aAspaDupla + "Observações:" + aAspaDupla + "," + " SUBSTR(( " + " SELECT 'Pedido:' || SUBSTR( " + " RTRIM(XMLAGG( " + " XMLELEMENT(e, linha.valor || ', ').EXTRACT('//text()') ORDER BY linha.valor " + " ).GetClobVal(), ',') " + " , 1, 3600) " + " FROM ( " + " SELECT DISTINCT " + " CAST(e120ped.NUMPED AS VARCHAR(10)) || ' - ' || " + " TRIM(REPLACE(COALESCE(e120ped.USU_OBSPED, ''), CHR(13), '')) AS valor " + " FROM e135pes " + " INNER JOIN e120ped ON e120ped.CODEMP = e135pes.CODEMP " + " AND e120ped.CODFIL = e135pes.CODFIL " + " AND e120ped.NUMPED = e135pes.NUMPED " + " WHERE e135pes.codemp = e135pfa.codemp " + " AND e135pes.codfil = e135pfa.codfil " + " AND e135pes.numane = e135pfa.numane " + " AND e135pes.numpfa = e135pfa.numpfa " + " ) linha), 1, 4000) " + aAspaDupla + "Obs. Interna:" + aAspaDupla + "," + " CASE WHEN trim(e085cli.USU_OBSPFA)<>' ' then e085cli.USU_OBSPFA ELSE ' ' END as " + aAspaDupla + "Obs. Cliente:" + aAspaDupla + "," + " ' ' " + aAspaDupla + "Obs. Nota:" + aAspaDupla + "," + " e085cli.ENDCLI || " + " CASE WHEN trim(e085cli.NENCLI)<>' ' THEN ', ' || e085cli.NENCLI ELSE ' ' end || ' - ' || " + " e085cli.BAICLI || ', ' || " + " e085cli.cidcli || ' - ' || e085cli.sigufs || " + " ' Cep:' || " + " SUBSTR(LPAD(e085cli.cepcli,8, '0'),1,2) || '.' ||SUBSTR(LPAD(e085cli.cepcli,8, '0'),3,3) || '-' || SUBSTR(LPAD(e085cli.cepcli,8, '0'),6,3) AS " + aAspaDupla + "Endereço Cliente:" + aAspaDupla + "," + " CASE WHEN e135pfa.SEQENT=0 THEN ' ' ELSE " + " e085ent.ENDENT || " + " CASE WHEN trim(e085ent.NENENT)<>' ' THEN ', ' || e085ent.NENENT ELSE ' ' end || ' - ' || " + " e085ent.BAIENT || ', ' || " + " e085ent.cident || ' - ' || e085ent.ESTENT || ' Cep:' || " + " SUBSTR(LPAD(e085ent.CEPENT,8, '0'),1,2) || '.' ||SUBSTR(LPAD(e085ent.CEPENT,8, '0'),3,3) || '-' || SUBSTR(LPAD(e085ent.CEPENT,8, '0'),6,3) " + " END AS " + aAspaDupla + "Endereço Entrega:" + aAspaDupla + "," + " r910usu.nomcom as " + aAspaDupla + "Usuário Gerador:" + aAspaDupla + "from e135pfa \ inner join e085cli \ on e085cli.codcli = e135pfa.codcli \ inner join r910usu \ on r910usu.codent = e135pfa.usuger \ left join e085ent \ on e085ent.codcli = e135pfa.codcli\ and e085ent.seqent = e135pfa.seqent\ left join e073tra \ on e073tra.codtra = e135pfa.codtra \ left join e073tra redespacho \ on redespacho.codtra = e135pfa.codred " + " where e135pfa.codemp = "+ aParam_CodEmp + " and e135pfa.codfil = "+ aParam_CodFil + " and e135pfa.numane = "+ aParam_NumAne + " and e135pfa.numpfa = "+ aParam_NumPfa ; WsgenericConsult.queryCompleted = aSql; @WsgenericConsult.modoexecucao = 2 ;@ WsgenericConsult.Executar(); Se(WsgenericConsult.ErroExecucao <> ""){ nStatusProcesso =0; aMensagemProcesso =WsgenericConsult.ErroExecucao; }senao { aResponse_JsonOutput = WsgenericConsult.pmJsonResponse; } } /* " substr((select 'Pedido:' || LISTAGG( DISTINCT " + " CASE " + " WHEN E120PED.NUMPED IS NOT NULL " + " THEN CAST(e120ped.NUMPED AS VARCHAR(10)) || REPLACE(coalesce(e120ped.USU_OBSPED, '') ,chr(13),'') " + " ELSE ' ' " + " END, ',' " + " ) WITHIN GROUP ( ORDER BY e120ped.NUMPED) " + " from e135pes " + " INNER JOIN e120ped" + " ON e120ped.CODEMP = e135pes.CODEMP" + " AND e120ped.CODFIL = e135pes.CODFIL" + " AND e120ped.NUMPED = e135pes.NUMPED" + " where e135pes.codemp = e135pfa.codemp" + " and e135pes.codfil = e135pfa.codfil" + " and e135pes.numane = e135pfa.numane" + " and e135pes.numpfa = e135pfa.numpfa" + " ),1,3500) " + aAspaDupla + "Obs. Interna:" + aAspaDupla + "," + */