Merge pull request 'fixes bug#AL-2468' (!166) from AL-2468 into master

Reviewed-on: adm/VentaBoletosAdm#166
Reviewed-by: Gleison da Cruz <gleison.cruz@totvs.com.br>
master 1.6.1
pinheiro 2023-05-25 11:09:06 +00:00
commit b1d6d25650
7 changed files with 10028 additions and 9903 deletions

View File

@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>br.com.rjconsultores</groupId>
<artifactId>ventaboletosadm</artifactId>
<version>1.6.0</version>
<version>1.6.1</version>
<packaging>war</packaging>
<properties>

View File

@ -59,7 +59,8 @@ public class RelatorioGratuidade extends Relatorio {
orgaoConcedenteId = parametros.get("orgao_concedente_id") != null ? (Integer) parametros.get("orgao_concedente_id") : null;
Integer mcAlteracaoPoltrona = (Integer) (parametros.get("mcAlteracaoPoltrona") != null ? parametros.get("mcAlteracaoPoltrona") : null);
String sql = getSql(empresa, agencia, ruta, fecInicioViagem, fecFinalViagem, fecInicioVenda, fecFinalVenda, origem, destino, categoria, mcAlteracaoPoltrona);
Boolean isApenasUltimaMovimentacaoBilhete =parametros.get("isApenasUltimaMovimentacaoBilhete")!=null ? (Boolean)parametros.get("isApenasUltimaMovimentacaoBilhete") : Boolean.FALSE;
String sql = getSql(empresa, agencia, ruta, fecInicioViagem, fecFinalViagem, fecInicioVenda, fecFinalVenda, origem, destino, categoria, mcAlteracaoPoltrona, isApenasUltimaMovimentacaoBilhete);
NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql);
if (fecInicioViagem != null) {
@ -167,7 +168,7 @@ public class RelatorioGratuidade extends Relatorio {
protected void processaParametros() throws Exception {
}
private String getSql(String empresa, String agencia, String ruta, String fecInicioViagem, String fecFinalViagem, String fecInicioVenda, String fecFinalVenda, String origem, String destino, String categoria, Integer mcAlteracaoPoltrona) {
private String getSql(String empresa, String agencia, String ruta, String fecInicioViagem, String fecFinalViagem, String fecInicioVenda, String fecFinalVenda, String origem, String destino, String categoria, Integer mcAlteracaoPoltrona, Boolean isApenasUltimaMovimentacaoBilhete) {
StringBuilder sb = new StringBuilder();
@ -176,38 +177,38 @@ public class RelatorioGratuidade extends Relatorio {
sb.append("SELECT * ");
sb.append("FROM ");
sb.append(" (SELECT b.boletooriginal_id, b.boleto_id,");
sb.append(" b.ccf,");
sb.append(" og.descorgao,");
sb.append(" b.feccreacion,");
sb.append(" ori.cveparada origen,");
sb.append(" des.cveparada destino,");
sb.append(" ori.descparada descorigen,");
sb.append(" des.descparada descdestino,");
sb.append(" b.numkmviaje,");
sb.append(" r.descruta,");
sb.append(" b.corrida_id,");
sb.append(" b.fechorviaje,");
sb.append(" b.numasiento,");
sb.append(" b.numfoliosistema,");
sb.append(" case when b.tipoventa_id in(5,12,18,41,49) then 'PTA' else tv.desctipoventa end as desctipoventa, ");
sb.append(" b.nombpasajero,");
sb.append(" b.descnumdoc,");
sb.append(" tar.preciooriginal,");
sb.append(" tar.precio,");
sb.append(" case when b.PRECIOBASE > 0 then TRUNC(((100 - (b.PRECIOPAGADO * 100) / b.PRECIOBASE)),2) else 0 end as porccategoria, ");
sb.append(" (select sum(bfpv.importe) from boleto_formapago bfpv where bfpv.boleto_id = b.boleto_id and bfpv.activo = 1) as preciopagado, ");
sb.append(" nvl((select sum(bfpv.importe) from boleto_formapago bfpv where bfpv.boleto_id = b.boleto_id and bfpv.activo = 1 and b.indstatusboleto = 'V'),0) AS preciopagadovendido, ");
sb.append(" u.cveusuario,");
sb.append(" ag.nombpuntoventa,");
sb.append(" b.desctelefono,");
sb.append(" e.nombempresa,");
sb.append(" ca.cvecategoria,");
sb.append(" b.desctipodoc,");
sb.append(" ca.desccategoria,");
sb.append(" b.importepedagio,");
sb.append(" b.importeseguro,");
sb.append(" b.importetaxaembarque, ");
sb.append(" case ");
sb.append(" b.ccf,");
sb.append(" og.descorgao,");
sb.append(" b.feccreacion,");
sb.append(" ori.cveparada origen,");
sb.append(" des.cveparada destino,");
sb.append(" ori.descparada descorigen,");
sb.append(" des.descparada descdestino,");
sb.append(" b.numkmviaje,");
sb.append(" r.descruta,");
sb.append(" b.corrida_id,");
sb.append(" b.fechorviaje,");
sb.append(" b.numasiento,");
sb.append(" b.numfoliosistema,");
sb.append(" case when b.tipoventa_id in(5,12,18,41,49) then 'PTA' else tv.desctipoventa end as desctipoventa, ");
sb.append(" b.nombpasajero,");
sb.append(" b.descnumdoc,");
sb.append(" tar.preciooriginal,");
sb.append(" tar.precio,");
sb.append(" case when b.PRECIOBASE > 0 then TRUNC(((100 - (b.PRECIOPAGADO * 100) / b.PRECIOBASE)),2) else 0 end as porccategoria, ");
sb.append(" (select sum(bfpv.importe) from boleto_formapago bfpv where bfpv.boleto_id = b.boleto_id and bfpv.activo = 1) as preciopagado, ");
sb.append(" nvl((select sum(bfpv.importe) from boleto_formapago bfpv where bfpv.boleto_id = b.boleto_id and bfpv.activo = 1 and b.indstatusboleto = 'V'),0) AS preciopagadovendido, ");
sb.append(" u.cveusuario,");
sb.append(" ag.nombpuntoventa,");
sb.append(" b.desctelefono,");
sb.append(" e.nombempresa,");
sb.append(" ca.cvecategoria,");
sb.append(" b.desctipodoc,");
sb.append(" ca.desccategoria,");
sb.append(" b.importepedagio,");
sb.append(" b.importeseguro,");
sb.append(" b.importetaxaembarque, ");
sb.append(" case ");
sb.append(" when b.motivocancelacion_id = 11 ");
sb.append(" and b.indcancelacion = 0 then 'RESERVA' ");
sb.append(" when b.motivocancelacion_id = 9 then 'CONFIRMA RESERVA' ");
@ -273,6 +274,65 @@ public class RelatorioGratuidade extends Relatorio {
sb.append(" ");
sb.append(" UNION ALL ");
sb.append(" ");
sb.append(" ");
sb.append(" select ");
sb.append(" transacaooriginal_id, ");
if(isApenasUltimaMovimentacaoBilhete) {
sb.append(" max(transacao_id), ");
}else {
sb.append(" transacao_id, ");
}
sb.append(" ccf, ");
sb.append(" descorgao,");
if(isApenasUltimaMovimentacaoBilhete) {
sb.append(" max(feccreacion), ");
}else {
sb.append(" feccreacion, ");
}
sb.append(" origen, ");
sb.append(" destino, ");
sb.append(" descorigen, ");
sb.append(" descdestino, ");
sb.append(" numkmviaje, ");
sb.append(" descruta, ");
sb.append(" corrida_id, ");
sb.append(" fechorviaje, ");
sb.append(" numasiento, ");
sb.append(" numfoliosistema, ");
sb.append(" desctipoventa, ");
sb.append(" nombpasajero, ");
sb.append(" descnumdoc, ");
sb.append(" preciooriginal, ");
sb.append(" precio, ");
sb.append(" porccategoria, ");
sb.append(" preciopagado, ");
if(isApenasUltimaMovimentacaoBilhete) {
sb.append(" max(preciopagadovendido), ");
}else {
sb.append(" preciopagadovendido, ");
}
sb.append(" cveusuario, ");
sb.append(" nombpuntoventa, ");
sb.append(" desctelefono, ");
sb.append(" nombempresa, ");
sb.append(" cvecategoria, ");
sb.append(" desctipodoc, ");
sb.append(" desccategoria, ");
sb.append(" importepedagio, ");
sb.append(" importeseguro, ");
sb.append(" importetaxaembarque, ");
if(isApenasUltimaMovimentacaoBilhete) {
sb.append(" min(indstatusboleto), ");
}else {
sb.append(" indstatusboleto, ");
}
sb.append(" codorigem, ");
sb.append(" coddestino, ");
sb.append(" chbpe ");
sb.append(" ");
sb.append(" from ");
sb.append("( ");
sb.append(" SELECT c.transacaooriginal_id, c.transacao_id,");
sb.append(" c.ccf,");
sb.append(" og.descorgao,");
@ -395,6 +455,50 @@ public class RelatorioGratuidade extends Relatorio {
if(orgaoConcedenteId != null && !orgaoConcedenteId.equals(-1)){
sb.append("AND r.orgaoconcedente_id = :orgao_concedente_id ");
}
sb.append("ORDER BY 5,15");
sb.append(") q1");
if(isApenasUltimaMovimentacaoBilhete) {
sb.append(" group by ");
sb.append(" transacaooriginal_id,");
//sb.append(" -- transacao_id, ");
sb.append(" ccf, ");
sb.append(" descorgao, ");
//sb.append(" -- feccreacion, ");
sb.append(" origen, ");
sb.append(" destino, ");
sb.append(" descorigen, ");
sb.append(" descdestino, ");
sb.append(" numkmviaje, ");
sb.append(" descruta, ");
sb.append(" corrida_id, ");
sb.append(" fechorviaje, ");
sb.append(" numasiento, ");
sb.append(" numfoliosistema, ");
sb.append(" desctipoventa, ");
sb.append(" nombpasajero, ");
sb.append(" descnumdoc, ");
sb.append(" preciooriginal, ");
sb.append(" precio, ");
sb.append(" porccategoria, ");
sb.append(" preciopagado, ");
//sb.append(" -- preciopagadovendido, ");
sb.append(" cveusuario, ");
sb.append(" nombpuntoventa, ");
sb.append(" desctelefono, ");
sb.append(" nombempresa, ");
sb.append(" cvecategoria, ");
sb.append(" desctipodoc, ");
sb.append(" desccategoria, ");
sb.append(" importepedagio, ");
sb.append(" importeseguro, ");
sb.append(" importetaxaembarque, ");
// sb.append(" -- indstatusboleto, ");
sb.append(" codorigem, ");
sb.append(" coddestino, ");
sb.append(" chbpe ");
}else {
sb.append(" ");
}
sb.append(") ");
sb.append("ORDER BY 5,15");

View File

@ -15,6 +15,7 @@ import org.zkoss.util.resource.Labels;
import org.zkoss.zhtml.Messagebox;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zul.Checkbox;
import org.zkoss.zul.Datebox;
import com.rjconsultores.ventaboletos.constantes.Constantes;
@ -77,6 +78,7 @@ public class RelatorioGratuidadeController extends MyGenericForwardComposer {
private MyListbox selectedTipoGratuidadeList;
private List<Categoria> listSelectedTipoGratuidade;
private List<OrgaoConcedente> lsOrgaoConcedente;
private Checkbox chkApenasUltimaMovimentacaoBilhete;
public void onClick$btnRemoveTipoGratuidade(Event ev) throws InterruptedException {
@ -192,10 +194,10 @@ public class RelatorioGratuidadeController extends MyGenericForwardComposer {
if (cmbOrgaoConcedente.getSelectedItem() != null) {
if(!cmbOrgaoConcedente.getSelectedItem().getValue().equals("-1")){
OrgaoConcedente orgaoConcedente = (OrgaoConcedente) cmbOrgaoConcedente.getSelectedItem().getValue();
parametros.put("orgao_concedente_id", orgaoConcedente.getOrgaoConcedenteId());
parametros.put("orgao_concedente_desc", orgaoConcedente.getDescOrgao());
}
OrgaoConcedente orgaoConcedente = (OrgaoConcedente) cmbOrgaoConcedente.getSelectedItem().getValue();
parametros.put("orgao_concedente_id", orgaoConcedente.getOrgaoConcedenteId());
parametros.put("orgao_concedente_desc", orgaoConcedente.getDescOrgao());
}
}
if(cmbTipoGratuidade.getSelectedIndex() != -1){
if (listSelectedTipoGratuidade.size() > 0) {
@ -210,6 +212,7 @@ public class RelatorioGratuidadeController extends MyGenericForwardComposer {
parametros.put("categoria",categoriasExpression);
}
}
parametros.put("isApenasUltimaMovimentacaoBilhete", chkApenasUltimaMovimentacaoBilhete.isChecked());
parametros.put("TITULO", Labels.getLabel("relatorioGratuidadeController.window.title"));
carregarParametroMotivoCancelamentoAlteracaoPoltrona(parametros);

View File

@ -8173,6 +8173,8 @@ relatorioGratuidadeController.lvVenda = Venda
relatorioGratuidadeController.orgao = Orgão
relatorioGratuidadeController.btnExecutarRelatorio = Executar Relatorio Analítico
relatorioGratuidadeController.btnExecutarRelatorioSimplificado = Executar Relatorio Analítico Simplificado
relatorioGratuidadeController.lblApenasUltimaMovimentacaoBilhete.value = Considerda apenas último status do bilhete
relatorioGratuidadeController.lblApenasUltimaMovimentacaoBilhete.ajuda = Caso marcado irá trazer no relatório apenas a última movimentação ou seja último status do bilhete
# Relatório Gratuidade ANTT
relatorioGratuidadeANTTController.window.title = Relatório Gratuidades ANTT

File diff suppressed because it is too large Load Diff

View File

@ -8193,6 +8193,8 @@ relatorioGratuidadeController.lvVenda = Venda
relatorioGratuidadeController.orgao = Orgão
relatorioGratuidadeController.btnExecutarRelatorio = Executar Relatorio Analítico
relatorioGratuidadeController.btnExecutarRelatorioSimplificado = Executar Relatorio Analítico Simplificado
relatorioGratuidadeController.lblApenasUltimaMovimentacaoBilhete.value = Considerda apenas último status do bilhete
relatorioGratuidadeController.lblApenasUltimaMovimentacaoBilhete.ajuda = Considerda apenas a última movimentação ou seja último status do bilhete
# Relatório Gratuidade ANTT
relatorioGratuidadeANTTController.window.title = Relatório Gratuidades ANTT

View File

@ -108,6 +108,17 @@
model="@{winFiltroRelatorioGratuidade$composer.lsOrgaoConcedente}"
width="70%" />
</row>
<row>
<label value="${c:l('relatorioGratuidadeController.lblApenasUltimaMovimentacaoBilhete.value')}"
tooltiptext="${c:l('relatorioGratuidadeController.lblApenasUltimaMovimentacaoBilhete.ajuda')}"/>
<checkbox id="chkApenasUltimaMovimentacaoBilhete"
tooltiptext="${c:l('relatorioGratuidadeController.lblApenasUltimaMovimentacaoBilhete.ajuda')}" width="100px" >
<attribute name="onFocus">
chkApenasUltimaMovimentacaoBilhete.setChecked(false);
</attribute>
</checkbox>
</row>
<row>
<label
@ -117,6 +128,7 @@
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
model="@{winFiltroRelatorioGratuidade$composer.lsCategorias}" />
</row>
</rows>
</grid>
<grid fixedLayout="true">