1731 - Melhoria indicador "Gastos por caminhão"

This commit is contained in:
2018-09-25 09:29:06 -03:00
parent b92f6ae4ce
commit 3f6642a1e9
14 changed files with 277 additions and 182 deletions
+128 -102
View File
@@ -48,6 +48,19 @@
var db = vScriptService.loadScript('db', 'javascript');
var vitruvio = new db('vitruvio');
var sql = "Select replace(replace(replace(to_char(sum(cdo.valor), 'L9G999G990D99'),',','-' ),'.',','),'-','.') total from controle_despesas_operacionais cdo where cdo.data between '" + engine.getField('dataInicio') + "' and '" + engine.getField('dataFinal') + "'";
if (engine.getField('ftFuncionario').getValue()) {
sql += " and cdo.chave_funcionario = " + engine.getField('ftFuncionario').getValue();
}
if (engine.getField('ftPlaca').getValue()) {
sql += " and cdo.chave_veiculo = " + engine.getField('ftPlaca').getValue();
}
if (engine.getField('ftCliente').getValue()) {
sql += " and cdo.chave_cliente = " + engine.getField('ftCliente').getValue();
}
if (engine.getField('ftFornecedor').getValue()) {
sql += " and cdo.chave_fornecedor = " + engine.getField('ftFornecedor').getValue();
}
//sql += " order by data desc";
vitruvio.query(sql).each(function (r) {
if (r.total) {
engine.getLabel('sub').setValue('<b><font color="red">Subtotal R' + r.total + '</font></b>');
@@ -485,22 +498,23 @@
" (select cf.nome from funcionario cf where cf.codigo = cdo.chave_funcionario) funcionario," +
" (select cf.razao_social from fornecedor cf where cf.codigo = cdo.chave_fornecedor) fornecedor," +
" cdo.observacoes," +
" cdo.valor valor " +
//" trim(replace(replace(replace(to_char(cdo.valor, '9999999999D99'),',','-' ),'.',','),'-','.')) valor " +
" from controle_despesas_operacionais cdo where cdo.data between '" + engine.getField('dataInicio') + "' and '" + engine.getField('dataFinal') + "'";
if (engine.getField('ftFuncionario').getValue()) {
sql += " and cdo.chave_funcionario = " + engine.getField('ftFuncionario').getValue();
}
if (engine.getField('ftPlaca').getValue()) {
sql += " and cdo.chave_veiculo = " + engine.getField('ftPlaca').getValue();
}
if (engine.getField('ftCliente').getValue()) {
sql += " and cdo.chave_cliente = " + engine.getField('ftCliente').getValue();
}
if (engine.getField('ftFornecedor').getValue()) {
sql += " and cdo.chave_fornecedor = " + engine.getField('ftFornecedor').getValue();
}
sql += " order by data desc";
" cdo.valor valor from controle_despesas_operacionais cdo ";
if (engine.getField('dataInicio').getValue()) {
sql += " where cdo.data between '" + engine.getField('dataInicio').getValue() + "' and '" + engine.getField('dataFinal').getValue() + "'";
}
if (engine.getField('ftFuncionario').getValue()) {
sql += " and cdo.chave_funcionario = " + engine.getField('ftFuncionario').getValue();
}
if (engine.getField('ftPlaca').getValue()) {
sql += " and cdo.chave_veiculo = " + engine.getField('ftPlaca').getValue();
}
if (engine.getField('ftCliente').getValue()) {
sql += " and cdo.chave_cliente = " + engine.getField('ftCliente').getValue();
}
if (engine.getField('ftFornecedor').getValue()) {
sql += " and cdo.chave_fornecedor = " + engine.getField('ftFornecedor').getValue();
}
sql += " order by data desc";
}
return sql;
}
@@ -509,7 +523,7 @@
</datasource>
<key-field>chave_despesa_operacional</key-field>
<columns>
<generated name="EXCLUIR" caption="" expand-ratio="0.02" >
<generated name="EXCLUIR" caption="" >
<scriptColumnGenerator language="JavaScript">
<![CDATA[
importClass(Packages.br.com.davinti.base.vaadin.components.layout.ConfirmationBox);
@@ -557,8 +571,8 @@
]]>
</scriptColumnGenerator>
</generated>
<column name="DATA" caption="Data" expand-ratio="0.05" editable="true" editValueRequired="false" commitOnValueChange="true"/>
<generated name="CLIENTE" caption="Cliente" cache="false" expand-ratio="0.1" >
<column name="DATA" caption="Data" editable="true" editValueRequired="false" commitOnValueChange="true"/>
<generated name="CLIENTE" caption="Cliente" cache="false" >
<scriptColumnGenerator language="JavaScript">
<![CDATA[
importClass(Packages.com.vaadin.ui.ComboBox);
@@ -619,7 +633,7 @@
]]>
</scriptColumnGenerator>
</generated>
<generated name="CATEGORIA" caption="Categoria" cache="false" expand-ratio="0.15" >
<generated name="CATEGORIA" caption="Categoria" cache="false" >
<scriptColumnGenerator language="JavaScript">
<![CDATA[
importClass(Packages.com.vaadin.ui.ComboBox);
@@ -680,7 +694,7 @@
]]>
</scriptColumnGenerator>
</generated>
<generated name="SUBCATEGORIA" caption="Sub-categoria" cache="false" expand-ratio="0.15" >
<generated name="SUBCATEGORIA" caption="Sub-categoria" cache="false" >
<scriptColumnGenerator language="JavaScript">
<![CDATA[
importClass(Packages.com.vaadin.ui.ComboBox);
@@ -741,8 +755,8 @@
]]>
</scriptColumnGenerator>
</generated>
<column name="NUMERO_DOCUMENTO" caption="Nr. documento" expand-ratio="0.05" commitOnEnter="true" commitOnValueChange="true" editable="true" />
<generated name="FORMAPAGAMENTO" caption="Forma pagamento" cache="false" expand-ratio="0.1" >
<column name="NUMERO_DOCUMENTO" caption="Nr. documento" commitOnEnter="true" commitOnValueChange="true" editable="true" />
<generated name="FORMAPAGAMENTO" caption="Forma pagamento" cache="false" >
<scriptColumnGenerator language="JavaScript">
<![CDATA[
importClass(Packages.com.vaadin.ui.ComboBox);
@@ -803,7 +817,7 @@
]]>
</scriptColumnGenerator>
</generated>
<generated name="VEICULO" caption="Placa" cache="false" expand-ratio="0.05" >
<generated name="VEICULO" caption="Placa" cache="false" >
<scriptColumnGenerator language="JavaScript">
<![CDATA[
importClass(Packages.com.vaadin.ui.ComboBox);
@@ -864,7 +878,7 @@
]]>
</scriptColumnGenerator>
</generated>
<generated name="FUNCIONARIO" caption="Funcionário" cache="false" expand-ratio="0.1">
<generated name="FUNCIONARIO" caption="Funcionário" cache="false" >
<scriptColumnGenerator language="JavaScript">
<![CDATA[
importClass(Packages.com.vaadin.ui.ComboBox);
@@ -925,7 +939,7 @@
]]>
</scriptColumnGenerator>
</generated>
<generated name="FORNECEDOR" caption="Fornecedor" cache="false" expand-ratio="0.1">
<generated name="FORNECEDOR" caption="Fornecedor" cache="false" >
<scriptColumnGenerator language="JavaScript">
<![CDATA[
importClass(Packages.com.vaadin.ui.ComboBox);
@@ -987,7 +1001,7 @@
</scriptColumnGenerator>
</generated>
<column name="VALOR" caption="Valor" format="#.##0,00" editable="true" commitOnEnter="true" commitOnValueChange="true" align="RIGHT" decimalSeparator="," />
<generated name="OBSERVACOES" caption="Observações" expand-ratio="0.2">
<generated name="OBSERVACOES" caption="Observações" >
<scriptColumnGenerator language="JavaScript">
importClass(Packages.br.com.davinti.vitruvio.ui.core.VitruvioTheme);
importClass(Packages.com.vaadin.ui.VerticalLayout);
@@ -1206,17 +1220,20 @@
" cdp.valor" +
" from controle_despesas_pessoais cdp where 1=2";
if (engine) {
sql = "Select cdp.chave_pessoal," +
sql = "Select cdp.chave_pessoal," +
" cdp.data," +
" (select cc.descricao from categoria cc where cc.codigo = cdp.chave_categoria) categoria," +
" (select cs.nome from socios cs where cs.codigo = cdp.chave_responsavel) responsavel," +
" cdp.observacoes," +
" cdp.valor valor" +
" from controle_despesas_pessoais cdp where cdp.data between '" + engine.getField('dataInicioPessoal') + "' and '" + engine.getField('dataFinalPessoal') + "'";
if (engine.getField('ftResponsavelPessoal').getValue()) {
sql += " and cdp.chave_responsavel = " + engine.getField('ftResponsavelPessoal').getValue();
}
sql += " order by data desc";
" from controle_despesas_pessoais cdp ";
if (engine.getField('dataInicioPessoal').getValue()) {
sql += "where cdp.data between '" + engine.getField('dataInicioPessoal').getValue() + "' and '" + engine.getField('dataFinalPessoal').getValue() + "'";
}
if (engine.getField('ftResponsavelPessoal').getValue()) {
sql += " and cdp.chave_responsavel = " + engine.getField('ftResponsavelPessoal').getValue();
}
sql += " order by data desc";
}
return sql;
}
@@ -1225,7 +1242,7 @@
</datasource>
<key-field>chave_pessoal</key-field>
<columns>
<generated name="EXCLUIR" caption="Excluir" expand-ratio="0.1">
<generated name="EXCLUIR" caption="Excluir" >
<scriptColumnGenerator language="JavaScript">
<![CDATA[
importClass(Packages.br.com.davinti.base.vaadin.components.layout.ConfirmationBox);
@@ -1274,8 +1291,8 @@
]]>
</scriptColumnGenerator>
</generated>
<column name="DATA" caption="Data" format="dd/MM/yyyy" expand-ratio="0.05" commitOnValueChange="true" editable="true" />
<generated name="CATEGORIA" caption="Categoria" cache="false" expand-ratio="0.15" >
<column name="DATA" caption="Data" format="dd/MM/yyyy" commitOnValueChange="true" editable="true" />
<generated name="CATEGORIA" caption="Categoria" cache="false" >
<scriptColumnGenerator language="JavaScript">
<![CDATA[
importClass(Packages.com.vaadin.ui.ComboBox);
@@ -1336,7 +1353,7 @@
]]>
</scriptColumnGenerator>
</generated>
<generated name="RESPONSAVEL" caption="Responsável" cache="false" expand-ratio="0.15" >
<generated name="RESPONSAVEL" caption="Responsável" cache="false" >
<scriptColumnGenerator language="JavaScript">
<![CDATA[
importClass(Packages.com.vaadin.ui.ComboBox);
@@ -1397,8 +1414,8 @@
]]>
</scriptColumnGenerator>
</generated>
<column name="VALOR" caption="Valor" format="#.##0,00" expand-ratio="0.1" commitOnValueChange="true" editable="true" align="RIGHT" decimalSeparator="," />
<generated name="OBSERVACOES" caption="Observações" expand-ratio="0.2">
<column name="VALOR" caption="Valor" format="#.##0,00" commitOnValueChange="true" editable="true" align="RIGHT" decimalSeparator="," />
<generated name="OBSERVACOES" caption="Observações" >
<scriptColumnGenerator language="JavaScript">
importClass(Packages.br.com.davinti.vitruvio.ui.core.VitruvioTheme);
importClass(Packages.com.vaadin.ui.VerticalLayout);
@@ -1485,12 +1502,14 @@
if (engine) {
sql = "Select cs.nome, replace(replace(replace(to_char(sum(cdp.valor), '9999999999D99'),',','-' ),'.',','),'-','.') total " +
"from controle_despesas_pessoais " +
"cdp inner join socios cs on cs.codigo = cdp.chave_responsavel " +
"where cdp.data between '" + engine.getField('dataInicioPessoal') + "' and '" + engine.getField('dataFinalPessoal') + "'";
if (engine.getField('ftResponsavelPessoal').getValue()) {
sql += " and cdp.chave_responsavel = " + engine.getField('ftResponsavelPessoal').getValue();
}
sql += " group by cs.nome";
"cdp inner join socios cs on cs.codigo = cdp.chave_responsavel ";
if (engine.getField('dataInicioPessoal').getValue()) {
sql += " where cdp.data between '" + engine.getField('dataInicioPessoal').getValue() + "' and '" + engine.getField('dataFinalPessoal').getValue() + "'";
}
if (engine.getField('ftResponsavelPessoal').getValue()) {
sql += " and cdp.chave_responsavel = " + engine.getField('ftResponsavelPessoal').getValue();
}
sql += " group by cs.nome";
}
return sql;
}
@@ -1499,8 +1518,8 @@
</datasource>
<key-field>NOME</key-field>
<columns>
<column name="NOME" caption="Responsável" expand-ratio="1" />
<column name="TOTAL" caption="Total" expand-ratio="0.2" />
<column name="NOME" caption="Responsável" />
<column name="TOTAL" caption="Total" />
</columns>
</DBTable>
</HorizontalLayout>
@@ -1775,17 +1794,20 @@
"cdc.km_final, " +
"cdc.km_rodado, " +
"cdc.media_consumo " +
"from controle_despesas_combustiveis cdc where cdc.data between '" + engine.getField('dataInicioCombustivel') + "' and '" + engine.getField('dataFinalCombustivel') + "'";
if (engine.getField('ftPlacaCombustivel').getValue()) {
sql += " and cdc.chave_veiculo = " + engine.getField('ftPlacaCombustivel').getValue();
}
if (engine.getField('ftCombustivel').getValue()) {
sql += " and cdc.chave_combustivel = " + engine.getField('ftCombustivel').getValue();
}
if (engine.getField('ftClienteCombustivel').getValue()) {
sql += " and cdc.chave_cliente = " + engine.getField('ftClienteCombustivel').getValue();
}
sql += " order by data desc";
"from controle_despesas_combustiveis cdc ";
if (engine.getField('dataInicioCombustivel').getValue()) {
sql += " where cdc.data between '" + engine.getField('dataInicioCombustivel').getValue() + "' and '" + engine.getField('dataFinalCombustivel').getValue() + "'";
}
if (engine.getField('ftPlacaCombustivel').getValue()) {
sql += " and cdc.chave_veiculo = " + engine.getField('ftPlacaCombustivel').getValue();
}
if (engine.getField('ftCombustivel').getValue()) {
sql += " and cdc.chave_combustivel = " + engine.getField('ftCombustivel').getValue();
}
if (engine.getField('ftClienteCombustivel').getValue()) {
sql += " and cdc.chave_cliente = " + engine.getField('ftClienteCombustivel').getValue();
}
sql += " order by data desc";
}
return sql;
}
@@ -1794,7 +1816,7 @@
</datasource>
<key-field>chave_despesa_combustivel</key-field>
<columns>
<generated name="EXCLUIR" caption="" expand-ratio="0.05">
<generated name="EXCLUIR" caption="" >
<scriptColumnGenerator language="JavaScript">
<![CDATA[
importClass(Packages.br.com.davinti.base.vaadin.components.layout.ConfirmationBox);
@@ -1843,8 +1865,8 @@
]]>
</scriptColumnGenerator>
</generated>
<column name="DATA" caption="Data" format="dd/MM/yyyy" expand-ratio="0.05" commitOnValueChange="true" editable="true" />
<generated name="PLACA" caption="Veículo" cache="false" expand-ratio="0.05" >
<column name="DATA" caption="Data" format="dd/MM/yyyy" commitOnValueChange="true" editable="true" />
<generated name="PLACA" caption="Veículo" cache="false" >
<scriptColumnGenerator language="JavaScript">
<![CDATA[
importClass(Packages.com.vaadin.ui.ComboBox);
@@ -1905,7 +1927,7 @@
]]>
</scriptColumnGenerator>
</generated>
<generated name="CLIENTE" caption="Cliente" cache="false" expand-ratio="0.1" >
<generated name="CLIENTE" caption="Cliente" cache="false" >
<scriptColumnGenerator language="JavaScript">
<![CDATA[
importClass(Packages.com.vaadin.ui.ComboBox);
@@ -1966,7 +1988,7 @@
]]>
</scriptColumnGenerator>
</generated>
<generated name="OBSERVACOES" caption="Observações" expand-ratio="0.2">
<generated name="OBSERVACOES" caption="Observações" >
<scriptColumnGenerator language="JavaScript">
importClass(Packages.br.com.davinti.vitruvio.ui.core.VitruvioTheme);
importClass(Packages.com.vaadin.ui.VerticalLayout);
@@ -2015,7 +2037,7 @@
var script = new Generator();
</scriptColumnGenerator>
</generated>
<generated name="COMBUSTIVEL" caption="Combustível" cache="false" expand-ratio="0.15" >
<generated name="COMBUSTIVEL" caption="Combustível" cache="false" >
<scriptColumnGenerator language="JavaScript">
<![CDATA[
importClass(Packages.com.vaadin.ui.ComboBox);
@@ -2076,13 +2098,13 @@
]]>
</scriptColumnGenerator>
</generated>
<column name="LITROS" caption="Litros" expand-ratio="0.05" commitOnValueChange="true" commitOnEnter="true" editable="true" align="RIGHT" decimalSeparator="," />
<column name="VALOR_LITRO" caption="Vlr. litro" expand-ratio="0.05" commitOnValueChange="true" commitOnEnter="true" editable="true" align="RIGHT" decimalSeparator=","/>
<column name="TOTAL_COMBUSTIVEL" format="###0.00" caption="Total" expand-ratio="0.05" align="RIGHT" decimalSeparator=","/>
<column name="KM_INICIAL" format="#.##0,00" caption="Km inicial" expand-ratio="0.05" commitOnEnter="true" commitOnValueChange="true" editable="true" align="RIGHT" decimalSeparator=","/>
<column name="KM_FINAL" format="#.##0,00" caption="Km final" expand-ratio="0.05" commitOnValueChange="true" commitOnEnter="true" editable="true" align="RIGHT" decimalSeparator=","/>
<column name="KM_RODADO" format="###0.00" caption="Km Rodado" expand-ratio="0.05" align="RIGHT" decimalSeparator="," />
<column name="MEDIA_CONSUMO" format="###0.00" caption="Média consumo" expand-ratio="0.05" align="RIGHT" decimalSeparator="," />
<column name="LITROS" caption="Litros" commitOnEnter="true" editable="true" align="RIGHT" decimalSeparator="," />
<column name="VALOR_LITRO" caption="Vlr. litro" commitOnEnter="true" editable="true" align="RIGHT" decimalSeparator=","/>
<column name="TOTAL_COMBUSTIVEL" format="###0.00" caption="Total" align="RIGHT" decimalSeparator=","/>
<column name="KM_INICIAL" format="#.##0,00" caption="Km inicial" commitOnEnter="true" editable="true" align="RIGHT" decimalSeparator=","/>
<column name="KM_FINAL" format="#.##0,00" caption="Km final" commitOnEnter="true" editable="true" align="RIGHT" decimalSeparator=","/>
<column name="KM_RODADO" format="###0.00" caption="Km Rodado" align="RIGHT" decimalSeparator="," />
<column name="MEDIA_CONSUMO" format="###0.00" caption="Média consumo" align="RIGHT" decimalSeparator="," />
</columns>
<events>
<itemChange>
@@ -2133,34 +2155,38 @@
sql = "Select c.descricao, " +
"sum(cdc.litros) litros, " +
"replace(replace(replace(to_char(sum(cdc.total_combustivel), '9999999999D99'),',','-' ),'.',','),'-','.') total " +
"from combustivel c inner join controle_despesas_combustiveis cdc on c.codigo = cdc.chave_combustivel " +
"where cdc.data between '" + engine.getField('dataInicioCombustivel') + "' and '" + engine.getField('dataFinalCombustivel') + "'";
if (engine.getField('ftPlacaCombustivel').getValue()) {
sql += " and cdc.chave_veiculo = " + engine.getField('ftPlacaCombustivel').getValue();
}
if (engine.getField('ftCombustivel').getValue()) {
sql += " and cdc.chave_combustivel = " + engine.getField('ftCombustivel').getValue();
}
if (engine.getField('ftClienteCombustivel').getValue()) {
sql += " and cdc.chave_cliente = " + engine.getField('ftClienteCombustivel').getValue();
}
sql += " group by c.descricao ";
sql += "union " +
"Select 'TOTAL' descricao, " +
"sum(cdc.litros) litros, " +
"replace(replace(replace(to_char(sum(cdc.total_combustivel), '9999999999D99'),',','-' ),'.',','),'-','.') total " +
"from combustivel c inner join controle_despesas_combustiveis cdc on c.codigo = cdc.chave_combustivel " +
"where cdc.data between '" + engine.getField('dataInicioCombustivel') + "' and '" + engine.getField('dataFinalCombustivel') + "'";
if (engine.getField('ftPlacaCombustivel').getValue()) {
sql += " and cdc.chave_veiculo = " + engine.getField('ftPlacaCombustivel').getValue();
}
if (engine.getField('ftCombustivel').getValue()) {
sql += " and cdc.chave_combustivel = " + engine.getField('ftCombustivel').getValue();
}
if (engine.getField('ftClienteCombustivel').getValue()) {
sql += " and cdc.chave_cliente = " + engine.getField('ftClienteCombustivel').getValue();
}
sql += " order by 1";
"from combustivel c inner join controle_despesas_combustiveis cdc on c.codigo = cdc.chave_combustivel ";
if (engine.getField('dataInicioCombustivel').getValue()) {
sql += " where cdc.data between '" + engine.getField('dataInicioCombustivel').getValue() + "' and '" + engine.getField('dataFinalCombustivel').getValue() + "'";
}
if (engine.getField('ftPlacaCombustivel').getValue()) {
sql += " and cdc.chave_veiculo = " + engine.getField('ftPlacaCombustivel').getValue();
}
if (engine.getField('ftCombustivel').getValue()) {
sql += " and cdc.chave_combustivel = " + engine.getField('ftCombustivel').getValue();
}
if (engine.getField('ftClienteCombustivel').getValue()) {
sql += " and cdc.chave_cliente = " + engine.getField('ftClienteCombustivel').getValue();
}
sql += " group by c.descricao ";
sql += "union " +
"Select 'TOTAL' descricao, " +
"sum(cdc.litros) litros, " +
"replace(replace(replace(to_char(sum(cdc.total_combustivel), '9999999999D99'),',','-' ),'.',','),'-','.') total " +
"from combustivel c inner join controle_despesas_combustiveis cdc on c.codigo = cdc.chave_combustivel ";
if (engine.getField('dataInicioCombustivel').getValue()) {
sql += " where cdc.data between '" + engine.getField('dataInicioCombustivel').getValue() + "' and '" + engine.getField('dataFinalCombustivel').getValue() + "'";
}
if (engine.getField('ftPlacaCombustivel').getValue()) {
sql += " and cdc.chave_veiculo = " + engine.getField('ftPlacaCombustivel').getValue();
}
if (engine.getField('ftCombustivel').getValue()) {
sql += " and cdc.chave_combustivel = " + engine.getField('ftCombustivel').getValue();
}
if (engine.getField('ftClienteCombustivel').getValue()) {
sql += " and cdc.chave_cliente = " + engine.getField('ftClienteCombustivel').getValue();
}
sql += " order by 1";
}
return sql;
}
@@ -2169,9 +2195,9 @@
</datasource>
<key-field>DESCRICAO</key-field>
<columns>
<column name="DESCRICAO" caption="Combustível" expand-ratio="1"/>
<column name="LITROS" caption="Litros" expand-ratio="0.2"/>
<column name="TOTAL" caption="Total" expand-ratio="0.3" />
<column name="DESCRICAO" caption="Combustível" />
<column name="LITROS" caption="Litros" />
<column name="TOTAL" caption="Total" />
</columns>
</DBTable>
</HorizontalLayout>