Gostaria de utilizar o numero da solicitação no filtro do dataset customizado.
function createDataset(fields, constraints, sortFields) {
var NOME_SERVICO = "WSCONSSQL"; var CAMINHO_SERVICO = "com.totvs.WsConsultaSQL";
var dataset = DatasetBuilder.newDataset();
try{ var servico = ServiceManager.getServiceInstance(NOME_SERVICO); log.info("Servico: " + servico);
log.info("Iniciando...");
var serviceHelper = servico.getBean(); log.info("Helper: " + serviceHelper);
var instancia = servico.instantiate(CAMINHO_SERVICO); log.info("Instancia: " + instancia);
var ws = instancia.getRMIwsConsultaSQL(); log.info("WS: " + ws);
var processo = getValue("WKNumProces"); //Número da solicitação de processo. PROBLEMA!!!! log.info("Processo: " + processo);
//var serviceHelper = servico.getBean();
var authService = serviceHelper.getBasicAuthenticatedClient(ws, "com.totvs.IwsConsultaSQL", 'usuario', 'senha');
//log.info("Params: " + "NSEQITMMOV="+fields[3]+ ";CODCOLIGADA="+fields[1] + ";IDMOV="+fields[0] + ";TIPOAPROVACAOFLUIG="+fields[2]+ ";VALORLIQUIDO="+fields[4]);
// Executa uma consulta previamente disponibilizada e cadastrada no RM var result = authService.realizarConsultaSQL("BORDERO", 1, "F", "IDFLUIG="+processo); log.info("result BORDERO: " + result);
if ((result != null) && (result.indexOf("===") != -1)) { var msgErro = result.substring(0, result.indexOf("==="));
throw msgErro; }
var xmlResultados = new XML(result); dataset.addColumn("IDFLUIG"); dataset.addColumn("IDBORDERO"); dataset.addColumn("DESC_BORDERO"); dataset.addColumn("IDLAN"); dataset.addColumn("FAVORECIDO"); dataset.addColumn("NUMERODOCUMENTO"); dataset.addColumn("DATAPREVBAIXA"); dataset.addColumn("DATAVENCIMENTO"); dataset.addColumn("VALORORIGINAL"); dataset.addColumn("VALORLIQUIDO");
for each(lan in xmlResultados.Resultado) { dataset.addRow(new Array(lan.IDFLUIG.toString(), lan.IDBORDERO.toString(), lan.DESC_BORDERO.toString(), lan.IDLAN.toString(), lan.FAVORECIDO.toString(), lan.NUMERODOCUMENTO.toString(), lan.DATAPREVBAIXA.toString(), lan.DATAVENCIMENTO.toString(), lan.VALORORIGINAL.toString(), lan.VALORLIQUIDO.toString())); }
return dataset; } catch (e) { if (e == null) e = "Erro desconhecido, verifique o log do AppServer.";
var mensagemErro = "Erro na comunicação com o TOTVS TBC: " + e; log.error(mensagemErro);
dataset.addColumn("ERROR"); dataset.addRow(new Array(mensagemErro));
return dataset; }}
function ValidaCampo(campo, valor) { if ((valor != null) && (valor != "")) { return "<"+campo+">"+valor+"</"+ campo + "> "; } else return ""; }
function parseContext(constraints) { var context = ""; if ((constraints != null) && (constraints.length > 0) && (constraints[0].getFieldName() == "RMSContext")) { context = constraints[0].getInitialValue(); }
return context; }
// Transforma o conceito de constraints do Fluig para o Filtro do TBC. function parseConstraints(constraints) { var filter = ""; for each(con in constraints) {
if (con.getFieldName().toUpperCase() == "RMSCONTEXT") continue;
filter += "(";
if (con.getFieldName().toUpperCase() == "RMSFILTER") { filter += con.getInitialValue(); } else if (con.getConstraintType() == ConstraintType.SHOULD) { filter += "("; filter += con.getFieldName(); filter += "="; filter += con.getInitialValue(); filter += ")"; filter += " OR "; filter += "("; filter += con.getFieldName(); filter += "="; filter += con.getFinalValue()(); filter += ")"; } else { if (con.getInitialValue() == con.getFinalValue()) { filter += con.getFieldName();
if (ConstraintType.MUST == con.getConstraintType()) { filter += " = "; } else if (ConstraintType.MUST_NOT == con.getConstraintType()) { filter += " <> "; }
filter += con.getInitialValue(); } else { filter += con.getFieldName(); filter += " BETWEEN "; filter += con.getInitialValue(); filter += " AND "; filter += con.getFinalValue() } }
filter += ")";
filter += " AND "; }
if (filter.length == 0) { filter = "1=1"; } else filter = filter.substring(0, filter.length-5);
return filter;
}