Browse Source

2261 - Aplicar filtros nos indicadores

Dentro do painel Faturamento x Despesas.
master
Ana Elisa dos Santos 6 years ago
parent
commit
974c835fd1
1 changed files with 179 additions and 0 deletions
  1. +179
    -0
      03 - Painéis/TLK - Faturamento x Despesas Detalhes Placa.xml

+ 179
- 0
03 - Painéis/TLK - Faturamento x Despesas Detalhes Placa.xml View File

@ -0,0 +1,179 @@
<?xml version="1.0" encoding="UTF-8"?>
<panel-form xmlns="http://www.davinti.com.br/vitruvio/form/panel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.davinti.com.br/vitruvio/form/panel https://bitbucket.org/davinTI/vitruvio-xds/raw/master/vitruvio-panel-form.xsd">
<form formKey="dashboardDespesas" width="100%" backgroundColor="#ffffff">
<name>Indicador Controle de Gastos</name>
<description>Indicadores Controle de Gastos</description>
<ServerSide>
<DataSources>
<ScriptDataSource id="sqlDespesaVeiculos" language="JavaScript" workOnline="true">
<![CDATA[
function buildDataSource(params) {
var sql = "SELECT V.PLACA AS DESCRICAO, cast(sum(CDC.TOTAL_COMBUSTIVEL) as numeric(15,2)) AS VALOR ";
sql = sql + " FROM CONTROLE_DESPESAS_COMBUSTIVEIS CDC, VEICULO V ";
sql = sql + " WHERE CDC.CHAVE_VEICULO = V.CODIGO ";
sql = sql + " AND CDC.DATA BETWEEN CAST(? AS DATE) AND CAST(? AS DATE) ";
if (params[3] != 'A') {
sql = sql + " AND CDC.FROTA_TERCEIRO = ? ";
}
if (params[4] != 'A') {
sql = sql + " AND CDC.CAMINHAO_CARRETA = ? ";
}
sql = sql + " AND CDC.CHAVE_CLIENTE = ? ";
sql = sql + " GROUP BY V.PLACA ";
sql = sql + " ORDER BY 2 DESC";
var dataInicio = params[0];
var dataFinal = params[1];
var cliente = 0;
if(params){
cliente = params[2];
}
var frotaTerceiro = "";
if (params[3] != "A") {
frotaTerceiro = params[3];
}
var caminhaoCarreta = "";
if (params[4] != "A") {
caminhaoCarreta = params[4];
}
var prm = new java.util.ArrayList();
prm.add(dataInicio);
prm.add(dataFinal);
if (params[3] != "A") {
prm.add(frotaTerceiro);
}
if (params[4] != "A") {
prm.add(caminhaoCarreta);
}
prm.add(cliente);
return vQueryService.executeQuery('vitruvio', sql, prm);
}
]]>
</ScriptDataSource>
</DataSources>
</ServerSide>
<initScript language="JavaScript">
<![CDATA[
function atualizaValores(){
console.log("Entrou Function");
var idCodigo = engine.getField('idCodigo').getValue();
var dataInicioDesp = engine.getField("idDataInicio").getValue();
var dataFinalDesp = engine.getField("idDataFim").getValue();
var frotaTerceiro = engine.getField("idFrotaTerceiro").getValue();
var caminhaoCarreta = engine.getField("idCaminhaoCarreta").getValue();
/*Despesa Combustível*/
vQueryService.executeDataSource("sqlDespesaVeiculos", [dataInicioDesp, dataFinalDesp, idCodigo, frotaTerceiro, caminhaoCarreta]).then(dsFaturamento=>{
var texto = '<p style="text-align: center;"><span style=""><strong>Despesas com Veículos<span style=""></span></strong></span></p>';
texto += '<table border="0" width="90%"><tbody>';
var total = 0;
var contador = 0;
while(dsFaturamento.next()){
var divisao = contador / 2;
/*console.log("divisao: "+divisao);
console.log("contador: "+contador);
console.log("divisao%2: "+divisao%2);
console.log("dsFaturamento: "+dsFaturamento);*/
if(contador%2 == 0){
texto += '<tr style="background-color:#FFE17D">';
}else{
texto += '<tr>';
}
contador += 1;
texto += '<td width="65%">' + dsFaturamento.getString("DESCRICAO") + '</td>';
texto += '<td align="left">' + 'R$ ' + accounting.formatMoney(dsFaturamento.getNumber("VALOR"), "", 2, ".", ",") + '</td>';
texto += '</tr>';
total += dsFaturamento.getNumber("VALOR");
/*console.log("textovalor: "+texto);*/
console.log("total: "+total);
}
/*TOTALIZADOR*/
texto += '<tr style="background-color:#0A0A0A">';
texto += '<td style="color:#FFFFFF" width="65%">TOTAIS</td>';
texto += '<td style="color:#FFFFFF" align="left">' + 'R$ ' + accounting.formatMoney(total, "", 2, ".", ",") + '</td>';
texto += '</tr>';
texto += '</tbody></table>';
console.log("textototal: "+texto);
console.log("Fim Function");
engine.getLabel('lblDespVeiculos').setValue(texto);
console.log("Atribui label Function");
}).catch(error=>{
});
}
function run() {
var paramrs = engine.getGlobalVariable('params');
engine.getField('idCodigo').setValue(paramrs.idCodigo);
engine.getField('idNomeCliente').setValue(paramrs.idNomeCliente);
engine.getField('idDataInicio').setValue(paramrs.idDataInicio);
engine.getField('idDataFim').setValue(paramrs.idDataFim);
engine.getField('idFrotaTerceiro').setValue(paramrs.idFrotaTerceiro);
engine.getField('idCaminhaoCarreta').setValue(paramrs.idCaminhaoCarreta);
engine.getWidgetController('btnApply').getButton().setIcon("APLICAR");
engine.setGlobalVariable('atualizaValores',atualizaValores);
atualizaValores();
}
]]>
</initScript>
<components>
<VerticalLayout width="100%" margin="false" spacing="true">
<HorizontalLayout spacing="true" width="80%" align="TOP_LEFT">
<DateField id="idDataInicio" caption="Data Início Despesa" type="date" required="false" format="dd/MM/yyyy"/>
<DateField id="idDataFim" caption="Data Final Despesa" type="date" required="false" format="dd/MM/yyyy"/>
</HorizontalLayout>
<HorizontalLayout spacing="true" width="80%" align="TOP_LEFT">
<OptionGroup type="string" id="idFrotaTerceiro" caption="Tipo de frota" disposition="vertical" width="100%" >
<entry value="Ambos" key="A"/>
<entry value="Frota" key="F"/>
<entry value="Terceiro" key="T"/>
</OptionGroup>
<OptionGroup type="string" id="idCaminhaoCarreta" caption="Tipo de transporte" disposition="vertical" width="100%">
<entry value="Todos" key="A"/>
<entry value="Caminhão" key="C"/>
<entry value="Carreta" key="T"/>
<entry value="Outros" key="O"/>
</OptionGroup>
</HorizontalLayout>
<HorizontalLayout spacing="true" width="80%" align="TOP_LEFT">
<TextField type="number" visible="false" caption="Pedido" id="idCodigo" readOnly="true"></TextField>
<TextField type="string" visible="true" caption="Cliente" id="idNomeCliente" readOnly="true"></TextField>
</HorizontalLayout>
<ButtonWidget id="btnApply" visible="true" caption="Filtrar" align="CENTER" size="TINY" expandRatio="1">
<onClickScript language="JavaScript">
<![CDATA[
function run(){
var atualizaValores = engine.getGlobalVariable('atualizaValores');
if(atualizaValores){
atualizaValores();
}
}
]]>
</onClickScript>
</ButtonWidget>
<HorizontalLayout width="100%" margin="false" spacing="true" >
<Label id="lblDespVeiculos" value="" visible="true" align="CENTER"/>
</HorizontalLayout>
</VerticalLayout>
</components>
</form>
</panel-form>

Loading…
Cancel
Save