Uso esse dataset aqui para buscar na minha consulta lá no RM os colaboradores com mais de 365 dias de casa.
DATASET utilizado
``` function createDataset(fields, constraints, sortFields) {
var NOME_SERVICO = "WsConsultaSQL"; // Nome do serviço criado no Fluig Studio var CAMINHO_SERVICO = "com.totvs.WsConsultaSQL"; // Caminho do serviço var dataset = DatasetBuilder.newDataset();
try { // Obtem a instancia do serviço var servico = ServiceManager.getServiceInstance(NOME_SERVICO); // Inicializa o serviço var instancia = servico.instantiate(CAMINHO_SERVICO); // Obtem o WebService para consumo var ws = instancia.getRMIwsConsultaSQL(); var serviceHelper = servico.getBean(); // Autenticação no serviço var authService = serviceHelper.getBasicAuthenticatedClient(ws, "com.totvs.IwsConsultaSQL", 'mestre', 'senhamestre');
var parametros ="CODFILIAL=1";
var result = authService.realizarConsultaSQL("FLUIG.0003", parseInt("1") , "G", parametros); log.info("!!! INFO !!!"); log.info(result); if ((result != null) && (result.indexOf("===") != -1)) { var msgErro = result.substring(0, result.indexOf("===")); log.error("Erro: " + msgErro); throw "Erro: " + msgErro; }
// Insere o resultado em um objeto XML para melhor manipulação dos dados var xmlResultados = new XML(result); log.info(xmlResultados); // Cria as colunas que serão retornadas pela consulta SQL e que serão utilizadas dataset.addColumn("CODFILIAL"); dataset.addColumn("FUNCIONARIO"); dataset.addColumn("FUNCAO"); dataset.addColumn("CARGO");
// Adiciona os dados no dataset for each(row in xmlResultados.Resultado) { dataset.addRow(new Array(row.CODFILIAL.toString(), row.FUNCIONARIO.toString(), row.FUNCAO.toString(), row.CARGO.toString() )); }
} catch (e) { if (e == null) e = "Erro conexão Totvs"; var mensagemErro = "Erro na comunicação com o app (linha: " + e.lineNumber + "): " + e; log.error(mensagemErro); log.info(mensagemErro); dataset.addColumn("ERROR"); dataset.addColumn("MESSAGE_ERROR"); dataset.addRow(new Array(-1, mensagemErro)); }
return dataset; } ```
// Consulta SQL
SELECT A.CODFILIAL, A.NOME AS FUNCIONARIO, B.NOME AS FUNCAO, C.NOME AS CARGO
FROM PFUNC A, PFUNCAO B, PCARGO C
WHERE A.CODFUNCAO = B.CODIGO
AND B.CARGO = C.CODIGO
AND DATEDIFF(DAY, A.DATAADMISSAO, GETDATE()) > 365
AND A.CODSITUACAO <> ('D')
AND A.CODFILIAL = :CODFILIAL
Eu queria que assim que o cara escolher a filial no Formulário ele retornasse somente os funcionários daquela filial, vou postar aqui meu formulário com o JS, tem como alguém me ajudar e informar o que está faltando ou no que estou errando?
<div class="form-group row">
<div class="col-md-2">
<label for="unidade">Unidade</label>
<select class="form-control" name="unidade" id="unidade">
<option value="">Escolha a Unidade</option>
<option value="1">Unidade 1</option>
<option value="2">Unidade 2</option>
<option value="14">Unidade 14</option>
<option value="15">Unidade 15</option>
<option value="16">Unidade 16</option>
</select>
</div>
<div class="col-md-5">
<label for="avaliado">Avaliado</label>
<input type="zoom"
id = "avaliado"
name="avaliado"
data-zoom="{
'displayKey':'FUNCIONARIO',
'datasetId':'ds_func_acima_365',
'maximumSelectionLength':'1',
'placeholder':'Escolha o Avaliado',
'fields':[
{
'field':'CODFILIAL',
'label':'FILIAL'
},{
'field':'FUNCIONARIO',
'label':'FUNCIONARIO',
'standard':'TRUE'
},{
'field':'FUNCAO',
'label':'FUNCAO'
},{
'field':'CARGO',
'label':'CARGO'
}
]
}"
/>
</div>
</div>
JavaScript
$(document).ready(function() {
$('#unidade').change(function() {
var filial = $('#unidade').val();
alert(filial);
reloadZoomFilterValues(avaliado, "CODFILIAL," + filial);
});
});
O que estou errando que não consigo mudar o valor do CODFILIAL no dataset e mudar os colaboradores que são exibidos?