diff --git a/pom.xml b/pom.xml index 16b967250..d5317c5bb 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 br.com.rjconsultores ventaboletosadm - 1.55.9 + 1.55.10 war diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstoque.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstoque.java index 523283c53..6fcd8c33d 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstoque.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstoque.java @@ -34,14 +34,15 @@ public class RelatorioEstoque extends Relatorio { Date dtInicio = (Date) parametros.get("DATA_INICIO"); Date dtFim = (Date) parametros.get("DATA_FIM"); + Integer aidfTipoId = (Integer) parametros.get("AIDFTIPO_ID"); if (parametros.get("EMPRESA_ID") != null) { empresaId = Integer.valueOf(parametros.get("EMPRESA_ID").toString()); } if (parametros.get("NUMPUNTOVENTA") != null) { - puntoVentaId = String.valueOf(parametros.get("NUMPUNTOVENTA")); + puntoVentaId = String.valueOf(parametros.get("NUMPUNTOVENTA")); } - String sql = retornarItensConsultaPorPuloFolio(puntoVentaId,empresaId, dtInicio, dtFim); + String sql = retornarItensConsultaPorPuloFolio(puntoVentaId,empresaId, dtInicio, dtFim, aidfTipoId); NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); if(dtInicio != null && dtFim != null) { stmt.setString("dataInicio", DateUtil.getStringDate(dtInicio, "dd/MM/yyyy") + " 00:00:00"); @@ -49,6 +50,10 @@ public class RelatorioEstoque extends Relatorio { }else if(dtInicio != null) { stmt.setString("dataInicio", DateUtil.getStringDate(dtInicio, "dd/MM/yyyy") + " 00:00:00"); } + if(aidfTipoId != null) { + stmt.setInt("aidfTipo",aidfTipoId); + } + lsDadosRelatorio = new ArrayList(); ResultSet rset = null; rset = stmt.executeQuery(); @@ -76,7 +81,7 @@ public class RelatorioEstoque extends Relatorio { this.resultSet = rset; - String sqlretornEstoque = sQLretornarEstoque(puntoVentaId, dtInicio, dtFim,empresaId); + String sqlretornEstoque = sQLretornarEstoque(puntoVentaId, dtInicio, dtFim,empresaId, aidfTipoId); NamedParameterStatement stmt2 = new NamedParameterStatement(conexao, sqlretornEstoque); @@ -86,6 +91,9 @@ public class RelatorioEstoque extends Relatorio { }else if(dtInicio != null) { stmt2.setString("dataInicio", DateUtil.getStringDate(dtInicio, "dd/MM/yyyy") + " 00:00:00"); } + if(aidfTipoId != null) { + stmt2.setInt("aidfTipo",aidfTipoId); + } ResultSet rset2 = null; rset2 = stmt2.executeQuery(); @@ -164,7 +172,7 @@ public class RelatorioEstoque extends Relatorio { - private String retornarItensConsultaPorPuloFolio(String puntoVentaId, Integer empresaId, Date dataInicio, Date dataFim) { + private String retornarItensConsultaPorPuloFolio(String puntoVentaId, Integer empresaId, Date dataInicio, Date dataFim, Integer aidfTipo) { StringBuilder sb = new StringBuilder(); @@ -246,7 +254,7 @@ public class RelatorioEstoque extends Relatorio { sb.append(" AND CJ.PUNTOVENTA_ID = PV.PUNTOVENTA_ID "); sb.append(" AND DAB.ACTIVO = 1 "); sb.append(" AND AB.activo =1 AND AI.activo = 1 and est.estado_id = ai.ESTADO_ID "); - sb.append(" AND AIT.AIDFTIPO_ID = AI.AIDFTIPO_ID "); + sb.append(aidfTipo != null ? " AND (AI.AIDFTIPO_ID =:aidfTipo AND AIT.AIDFTIPO_ID = AI.AIDFTIPO_ID) " : " AND AIT.AIDFTIPO_ID = AI.AIDFTIPO_ID "); sb.append(" GROUP BY DAB.AIDF_ID, "); sb.append(" DAB.NUMSERIEPREIMPRESA, "); sb.append(" CJ.NUMFOLIOPREIMPRESO, "); @@ -323,7 +331,7 @@ public class RelatorioEstoque extends Relatorio { sb.append(" AND CJ.PUNTOVENTA_ID = PV.PUNTOVENTA_ID "); sb.append(" AND DAB.ACTIVO = 1 "); sb.append(" AND AB.activo =1 AND AI.activo = 1 and est.estado_id = ai.ESTADO_ID "); - sb.append(" AND AIT.AIDFTIPO_ID = AI.AIDFTIPO_ID "); + sb.append(aidfTipo != null ? " AND (AI.AIDFTIPO_ID =:aidfTipo AND AIT.AIDFTIPO_ID = AI.AIDFTIPO_ID) " : " AND AIT.AIDFTIPO_ID = AI.AIDFTIPO_ID "); sb.append(" GROUP BY DAB.AIDF_ID, "); sb.append(" DAB.NUMSERIEPREIMPRESA, "); sb.append(" CJ.NUMFOLIOPREIMPRESO, "); @@ -343,12 +351,11 @@ public class RelatorioEstoque extends Relatorio { sb.append(" ORDER BY TB.aidfId, "); sb.append(" TB.serie, "); sb.append(" TB.folioCaja "); - return sb.toString(); } - private String sQLretornarEstoque(String puntoVentaId, Date dataInicio, Date dataFim, Integer empresaId) { + private String sQLretornarEstoque(String puntoVentaId, Date dataInicio, Date dataFim, Integer empresaId, Integer aidfTipo) { StringBuilder queryString = new StringBuilder("SELECT DISTINCT to_date(to_char(ai.fecvencimiento, 'dd/MM/yyyy'), 'dd/MM/yyyy') as fecVencimento, to_date(to_char(AI.fecadquisicion, 'dd/MM/yyyy'), 'dd/MM/yyyy') as fechorAquisicion, ") .append("dab.NUMSERIEPREIMPRESA as serie, ") @@ -405,7 +412,9 @@ public class RelatorioEstoque extends Relatorio { .append("WHERE dab.STATUSOPERACION IN(0,1,4) ") .append("AND dab.ACTIVO = 1 ") .append(" and dab.NUMFOLIOFINAL < 2147483647 ") - .append(" AND DAB.AIDF_ID = AI.AIDF_ID and ai.activo = 1 "); + .append(" AND DAB.AIDF_ID = AI.AIDF_ID and ai.activo = 1 ") + .append(aidfTipo != null ? " AND AI.AIDFTIPO_ID = :aidfTipo " : " "); + if (puntoVentaId != null) { diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAidfDetalhadoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAidfDetalhadoController.java index 792286782..2536e9801 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAidfDetalhadoController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAidfDetalhadoController.java @@ -16,15 +16,18 @@ import org.zkoss.zhtml.Messagebox; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.event.Event; import org.zkoss.zul.Bandbox; +import org.zkoss.zul.Combobox; import org.zkoss.zul.Comboitem; import org.zkoss.zul.Datebox; import org.zkoss.zul.Paging; import org.zkoss.zul.Textbox; +import com.rjconsultores.ventaboletos.entidad.AidfTipo; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.PuntoVenta; import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioEstoque; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.service.AidfService; import com.rjconsultores.ventaboletos.service.EmpresaService; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; @@ -50,6 +53,8 @@ public class RelatorioAidfDetalhadoController extends MyGenericForwardComposer { private Textbox txtAIDF; private Textbox txtInicioForm; private Textbox txtFimForm; + private List lsAidfTipo; + private Combobox cmbAidfTipo; @Autowired private transient PagedListWrapper plwPuntoVenta; @@ -65,6 +70,8 @@ public class RelatorioAidfDetalhadoController extends MyGenericForwardComposer { private EmpresaService empresaService; @Autowired private DataSource dataSourceRead; + @Autowired + private AidfService aidfService; @Override public void doAfterCompose(Component comp) throws Exception { @@ -73,6 +80,7 @@ public class RelatorioAidfDetalhadoController extends MyGenericForwardComposer { puntoVentaList.setItemRenderer(new RenderRelatorioVendasBilheteiro()); puntoVentaSelList.setItemRenderer(new RenderRelatorioVendasBilheteiroSelecionados()); + lsAidfTipo = aidfService.obtenerTodosAdifTipo(); } /** @@ -122,6 +130,14 @@ public class RelatorioAidfDetalhadoController extends MyGenericForwardComposer { } else { filtro.append(" Todas; "); } + Comboitem cmbItem = cmbAidfTipo.getSelectedItem(); + if (cmbItem != null) { + AidfTipo aidfTipo = (AidfTipo) cmbItem.getValue(); + parametros.put("AIDFTIPO_ID", aidfTipo.getAidftipoId()); + filtro.append(aidfTipo.getDesctipo() + ";"); + } else { + filtro.append(" Todas; "); + } parametros.put("FILTROS", filtro.toString()); relatorio = new RelatorioEstoque(parametros, dataSourceRead.getConnection()); @@ -278,5 +294,14 @@ public class RelatorioAidfDetalhadoController extends MyGenericForwardComposer { public void setPuntoVentaSelList(MyListbox puntoVentaSelList) { this.puntoVentaSelList = puntoVentaSelList; - } + } + + public List getLsAidfTipo() { + return lsAidfTipo; + } + + public void setLsAidfTipo(List lsAidfTipo) { + this.lsAidfTipo = lsAidfTipo; + } + } diff --git a/web/WEB-INF/i3-label_en.label b/web/WEB-INF/i3-label_en.label index 6494c4b34..b4c181016 100644 --- a/web/WEB-INF/i3-label_en.label +++ b/web/WEB-INF/i3-label_en.label @@ -383,7 +383,7 @@ indexController.mniRelatorioVendasCartoes.label=Vendas Cartões indexController.mniRelatorioCancelamentoTransacao.label = Cancelamento J3 indexController.mniRelatorioTabelaPreco.label = Tabela de Preços indexController.mniRelatorioAIDF.label = AIDF -indexController.mniRelatorioAIDFDetalhado.label = Relatório Estoque +indexController.mniRelatorioAIDFDetalhado.label = Relatório Saldo Estoque indexController.mniRelatorioMovimentacaoEstoque.label = Movimentação de Estoque indexController.mniRelatorioHistoricoClientes.label = Histórico Clientes indexController.mniRelatorioCadastroClientes.label = Cadastro Clientes diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index c59f08607..eb78ada9f 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -359,7 +359,7 @@ indexController.mniRelatorioCancelamentoVendaCartao.label = Cancelación de vent indexController.mniRelatorioCancelamentoTransacao.label = Cancelamento J3 indexController.mniRelatorioTabelaPreco.label = Reporte de tabla de precios indexController.mniRelatorioAIDF.label = Reporte AIDF -indexController.mniRelatorioAIDFDetalhado.label = Reporte Estoque +indexController.mniRelatorioAIDFDetalhado.label = Reporte Salto Estoque indexController.mniRelatorioMovimentacaoEstoque.label = Movimientos del Stock indexController.mniRelatorioHistoricoClientes.label = Histórico Clientes indexController.mniRelatorioCadastroClientes.label = Cadastro Clientes @@ -1095,7 +1095,7 @@ relatorioAidfController.lbEmpresa.value = Empresa relatorioAidfController.lbSerie.value = Série #Relatorio Aidf Detalhado -relatorioAidfDetalhadoController.window.title = Relatório Estoque +relatorioAidfDetalhadoController.window.title = Relatório Saldo de Estoque relatorioAidfDetalhadoController.datainicial.value = Data Inicial Aquisição relatorioAidfDetalhadoController.dataFinal.value = Data Final Aquisição relatorioAidfDetalhadoController.lbEmpresa.value = Empresa @@ -1103,6 +1103,7 @@ relatorioAidfDetalhadoController.lbAidf.value = AIDF/Série/SubSerie relatorioAidfDetalhadoController.lbFormInicial.value = Form. Inicial relatorioAidfDetalhadoController.lbFormFinal.value = Form. Final relatorioAidfDetalhadoController.msg.agencia.obrigatorio = Uma Agência deve ser selecionada +relatorioAidfDetalhadoController.aidfTipo.label=Tipo Aidf #Relatório de Vendas PTA relatorioVendasPTAController.window.title = Reporte de Ventas PTA diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index c976c598f..61dad3d6b 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -385,7 +385,7 @@ indexController.mniRelatorioVendasCartoes.label=Vendas Cartões indexController.mniRelatorioCancelamentoTransacao.label = Cancelamento J3 indexController.mniRelatorioTabelaPreco.label = Tabela de Preços indexController.mniRelatorioAIDF.label = AIDF -indexController.mniRelatorioAIDFDetalhado.label = Relatório Estoque +indexController.mniRelatorioAIDFDetalhado.label = Relatório Saldo de Estoque indexController.mniRelatorioMovimentacaoEstoque.label = Movimentação de Estoque indexController.mniRelatorioHistoricoClientes.label = Histórico Clientes indexController.mniRelatorioCadastroClientes.label = Cadastro Clientes @@ -1225,6 +1225,7 @@ relatorioAidfDetalhadoController.lbAidf.value = AIDF/Série/SubSerie relatorioAidfDetalhadoController.lbFormInicial.value = Form. Inicial relatorioAidfDetalhadoController.lbFormFinal.value = Form. Final relatorioAidfDetalhadoController.msg.agencia.obrigatorio = Uma Agência deve ser selecionada +relatorioAidfDetalhadoController.aidfTipo.label=Tipo Aidf #Relatorio Movimentacao Estoque relatorioMovimentacaoEstoqueController.window.title = Relatório Movimentação de Estoque diff --git a/web/gui/relatorios/filtroRelatorioAidfDetalhado.zul b/web/gui/relatorios/filtroRelatorioAidfDetalhado.zul index 591bea194..d352b94d2 100644 --- a/web/gui/relatorios/filtroRelatorioAidfDetalhado.zul +++ b/web/gui/relatorios/filtroRelatorioAidfDetalhado.zul @@ -7,7 +7,7 @@ + height="320px" width="738px" border="normal"> @@ -90,7 +90,14 @@ - + +