diff --git a/pom.xml b/pom.xml
index 281d7c2b0..a57bc5ada 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,14 +4,12 @@
4.0.0
br.com.rjconsultores
ventaboletosadm
- 1.131.1
-
+ 1.131.7
war
- 1.101.0
- 1.88.0
-
+ 1.102.0
+ 1.89.0
UTF-8
diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstoque.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstoque.java
index ff90965ed..19517aefb 100644
--- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstoque.java
+++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstoque.java
@@ -49,19 +49,13 @@ public class RelatorioEstoque extends Relatorio {
String sql = retornarItensConsultaPorPuloFolio(puntoVentaId,empresaId, dtInicio, dtFim, aidfTipoId, aidfId);
NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql);
- if(dtInicio != null && dtFim != null) {
- stmt.setString("dataInicio", DateUtil.getStringDate(dtInicio, "dd/MM/yyyy") + " 00:00:00");
- stmt.setString("dataFinal", DateUtil.getStringDate(dtFim, "dd/MM/yyyy") + " 23:59:59");
- }else if(dtInicio != null) {
- stmt.setString("dataInicio", DateUtil.getStringDate(dtInicio, "dd/MM/yyyy") + " 00:00:00");
- }
+// if(dtInicio != null && dtFim != null) {
+// stmt.setString("dataInicio", DateUtil.getStringDate(dtInicio, "dd/MM/yyyy") + " 00:00:00");
+// stmt.setString("dataFinal", DateUtil.getStringDate(dtFim, "dd/MM/yyyy") + " 23:59:59");
+// }else if(dtInicio != null) {
+// stmt.setString("dataInicio", DateUtil.getStringDate(dtInicio, "dd/MM/yyyy") + " 00:00:00");
+// }
- Calendar c = Calendar.getInstance();
- c.setTime(dtInicio);
- c.add(Calendar.YEAR, -3);
-
- stmt.setString("dataInicioVenda", DateUtil.getStringDate(c.getTime(), "dd/MM/yyyy") + " 23:59:59");
- stmt.setString("dataFimVenda", DateUtil.getStringDate(new Date(), "dd/MM/yyyy") + " 23:59:59");
if(aidfTipoId != null) {
stmt.setInt("aidfTipo",aidfTipoId);
@@ -109,8 +103,8 @@ public class RelatorioEstoque extends Relatorio {
stmt2.setString("dataInicio", DateUtil.getStringDate(dtInicio, "dd/MM/yyyy") + " 00:00:00");
}
- stmt2.setString("dataInicioVenda", DateUtil.getStringDate(c.getTime(), "dd/MM/yyyy") + " 23:59:59");
- stmt2.setString("dataFimVenda", DateUtil.getStringDate(new Date(), "dd/MM/yyyy") + " 23:59:59");
+// stmt2.setString("dataInicioVenda", DateUtil.getStringDate(c.getTime(), "dd/MM/yyyy") + " 23:59:59");
+// stmt2.setString("dataFimVenda", DateUtil.getStringDate(new Date(), "dd/MM/yyyy") + " 23:59:59");
if(aidfTipoId != null) {
stmt2.setInt("aidfTipo",aidfTipoId);
@@ -153,6 +147,7 @@ public class RelatorioEstoque extends Relatorio {
List lsTempRetorno = new ArrayList<>();
List lsTempRetornoAux = new ArrayList<>();
lsEstoquePorSalto = validarFolioPreImpressoPuntoventa(lsEstoquePorSalto, puntoVentaId);
+ lsEstoquePorSalto = validarFolioPreImpressoFechorAquicision(lsEstoquePorSalto, dtInicio,dtFim);
for (ItemReporteControleEstoqueBoletos i : lsEstoquePorSalto) {
if(map.get(i.getID()) == null) {
for (ItemReporteControleEstoqueBoletos item : lsEstoquePorSalto) {
@@ -277,13 +272,13 @@ public class RelatorioEstoque extends Relatorio {
sb.append(" AND Em.empresa_ID = ")
.append(empresaId);
}
- if(dataInicio!= null && dataFim != null) {
- sb.append(" AND AI.fecadquisicion BETWEEN TO_DATE(:dataInicio,'dd/mm/yyyy hh24:mi:ss') AND TO_DATE(:dataFinal,'dd/mm/yyyy hh24:mi:ss') ");
- }else if(dataInicio!= null) {
- sb.append(" AND AI.fecadquisicion >= TO_DATE(:dataInicio,'dd/mm/yyyy hh24:mi:ss') ");
- }
- sb.append(" AND cj.fechorventa BETWEEN TO_DATE(:dataInicioVenda,'dd/mm/yyyy hh24:mi:ss') AND TO_DATE(:dataFimVenda,'dd/mm/yyyy hh24:mi:ss') ");
- sb.append(" AND DAB.NUMFOLIOFINAL < 2147483647 ");
+// if(dataInicio!= null && dataFim != null) {
+// sb.append(" AND AI.fecadquisicion BETWEEN TO_DATE(:dataInicio,'dd/mm/yyyy hh24:mi:ss') AND TO_DATE(:dataFinal,'dd/mm/yyyy hh24:mi:ss') ");
+// }else if(dataInicio!= null) {
+// sb.append(" AND AI.fecadquisicion >= TO_DATE(:dataInicio,'dd/mm/yyyy hh24:mi:ss') ");
+// }
+ sb.append(" AND CJ.fechorventa BETWEEN (SELECT MIN(C.fechorventa) FROM CAJA c ) AND (select MAX(c.fechorventa) FROM CAJA c) ");
+ sb.append(" AND DAB.NUMFOLIOFINAL < 2147483647 ");
sb.append(" AND DAB.STATUSOPERACION IN(0, ");
sb.append(" 1, ");
sb.append(" 4) ");
@@ -361,12 +356,12 @@ public class RelatorioEstoque extends Relatorio {
sb.append(" AND Em.empresa_ID = ")
.append(empresaId);
}
- if(dataInicio!= null && dataFim != null) {
- sb.append(" AND AI.fecadquisicion BETWEEN TO_DATE(:dataInicio,'dd/mm/yyyy hh24:mi:ss') AND TO_DATE(:dataFinal,'dd/mm/yyyy hh24:mi:ss') ");
- }else if(dataInicio!= null) {
- sb.append(" AND AI.fecadquisicion >= TO_DATE(:dataInicio,'dd/mm/yyyy hh24:mi:ss') ");
- }
- sb.append(" AND FECHORVTA BETWEEN TO_DATE(:dataInicioVenda,'dd/mm/yyyy hh24:mi:ss') AND TO_DATE(:dataFimVenda,'dd/mm/yyyy hh24:mi:ss') ");
+// if(dataInicio!= null && dataFim != null) {
+// sb.append(" AND AI.fecadquisicion BETWEEN TO_DATE(:dataInicio,'dd/mm/yyyy hh24:mi:ss') AND TO_DATE(:dataFinal,'dd/mm/yyyy hh24:mi:ss') ");
+// }else if(dataInicio!= null) {
+// sb.append(" AND AI.fecadquisicion >= TO_DATE(:dataInicio,'dd/mm/yyyy hh24:mi:ss') ");
+// }
+ sb.append(" AND CJ.FECHORVTA BETWEEN (SELECT MIN(CD.FECHORVTA) FROM CAJA_DIVERSOS CD) AND (select MAX(CD.FECHORVTA) FROM CAJA_DIVERSOS CD) ");
sb.append(" AND DAB.NUMFOLIOFINAL < 2147483647 ");
sb.append(" AND DAB.STATUSOPERACION IN(0, ");
sb.append(" 1, ");
@@ -380,7 +375,7 @@ public class RelatorioEstoque extends Relatorio {
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(aidfTipo != null ? " AND (AI.AIDFTIPO_ID =:aidfTipo AND AIT.AIDFTIPO_ID = AI.AIDFTIPO_ID) " : " AND AIT.AIDFTIPO_ID = AI.AIDFTIPO_ID ");
- sb.append(" and CJ.aidf_id = AI.AIDF_ID ");
+// sb.append(" and CJ.aidf_id = AI.AIDF_ID ");
sb.append(aidfId != null ? " AND (AI.AIDF_ID =:aidfId AND DAB.AIDF_ID = AI.AIDF_ID) " : " AND DAB.AIDF_ID = AI.AIDF_ID ");
sb.append(" GROUP BY DAB.AIDF_ID, ");
sb.append(" DAB.NUMSERIEPREIMPRESA, ");
@@ -463,21 +458,20 @@ public class RelatorioEstoque extends Relatorio {
.append("LEFT JOIN aidf_tipo ait ON ait.AIDFTIPO_ID= ai.AIDFTIPO_ID ")
.append("LEFT JOIN ESTADO est ON est.ESTADO_ID = ai.ESTADO_ID ")
.append("LEFT JOIN ESTACION ES ON es.ESTACION_ID = ab.ESTACION_ID ")
- .append("JOIN CAJA_DIVERSOS CJ ON CJ.AIDF_ID = dab.AIDF_ID ")
+// .append("LEFT JOIN CAJA_DIVERSOS CJ ON CJ.AIDF_ID = dab.AIDF_ID ")
+// .append("LEFT JOIN CAJA CC ON (TO_NUMBER(CC.NUMFOLIOPREIMPRESO) BETWEEN TO_NUMBER(DAB.NUMFOLIOINICIAL) AND TO_NUMBER(DAB.NUMFOLIOFINAL) AND (CC.NUMSERIEPREIMPRESA = dab.NUMSERIEPREIMPRESA OR (CC.NUMSERIEPREIMPRESA IS NULL AND dab.NUMSERIEPREIMPRESA IS NULL))) ")
.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(aidfTipo != null ? " AND AI.AIDFTIPO_ID = :aidfTipo " : " ")
- .append(aidfId != null ? " AND AI.AIDF_ID = :aidfId " : " ")
- .append("AND TO_NUMBER(CJ.NUMFOLIOPREIMPRESO) BETWEEN TO_NUMBER(DAB.NUMFOLIOINICIAL) AND TO_NUMBER(DAB.NUMFOLIOFINAL) ")
- .append(" AND (cj.NUMSERIEPREIMPRESA = dab.NUMSERIEPREIMPRESA ")
- .append(" OR (cj.NUMSERIEPREIMPRESA IS NULL ")
- .append("AND dab.NUMSERIEPREIMPRESA IS NULL)) ")
- .append(" AND CJ.FECHORVTA BETWEEN TO_DATE(:dataInicioVenda,'dd/mm/yyyy hh24:mi:ss') AND TO_DATE(:dataFimVenda,'dd/mm/yyyy hh24:mi:ss') ");
-
-
-
+ .append(aidfId != null ? " AND AI.AIDF_ID = :aidfId " : " ");
+// .append("AND TO_NUMBER(CJ.NUMFOLIOPREIMPRESO) BETWEEN TO_NUMBER(DAB.NUMFOLIOINICIAL) AND TO_NUMBER(DAB.NUMFOLIOFINAL) ")
+// .append(" AND (cj.NUMSERIEPREIMPRESA = dab.NUMSERIEPREIMPRESA ")
+// .append(" OR (cj.NUMSERIEPREIMPRESA IS NULL ")
+// .append("AND dab.NUMSERIEPREIMPRESA IS NULL)) ")
+// .append(" AND (CJ.FECHORVTA BETWEEN (SELECT MIN(C.FECHORVTA) FROM CAJA_DIVERSOS c ) AND (select MAX(c.FECHORVTA) FROM CAJA_DIVERSOS c) ")
+// .append(" OR CC.FECHORVENTA BETWEEN (SELECT MIN(C.fechorventa) FROM CAJA c ) AND (select MAX(c.fechorventa) FROM CAJA c)) ");
if (puntoVentaId != null) {
@@ -648,5 +642,18 @@ public class RelatorioEstoque extends Relatorio {
}
return lsEstoquePorSaltoaux;
}
+
+ private List validarFolioPreImpressoFechorAquicision(List lsEstoquePorSalto,Date dataInicial, Date dataFinal) {
+
+ List lsEstoquePorSaltoaux = new ArrayList<>(lsEstoquePorSalto);
+
+ for (ItemReporteControleEstoqueBoletos itemReporteControleEstoqueBoletos : lsEstoquePorSalto) {
+ if(!(DateUtil.isIgualORMaior(itemReporteControleEstoqueBoletos.getFechorAquisicion(), dataInicial) && DateUtil.isIgualORMenor(itemReporteControleEstoqueBoletos.getFechorAquisicion(), dataFinal))) {
+ lsEstoquePorSaltoaux.remove(itemReporteControleEstoqueBoletos);
+ }
+
+ }
+ return lsEstoquePorSaltoaux;
+ }
}
diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioInformeViajesOcasionalesPdf.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioInformeViajesOcasionalesPdf.java
new file mode 100644
index 000000000..2a81b08ad
--- /dev/null
+++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioInformeViajesOcasionalesPdf.java
@@ -0,0 +1,343 @@
+package com.rjconsultores.ventaboletos.relatorios.impl;
+
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.IOException;
+import java.sql.Connection;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.logging.log4j.Logger;
+
+import org.zkoss.zul.Filedownload;
+import org.zkoss.zul.Listcell;
+import org.zkoss.zul.Listhead;
+import org.zkoss.zul.Listheader;
+
+import com.rjconsultores.ventaboletos.entidad.DispositivoEmbarcada;
+import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource;
+import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
+import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioDispositivoEmbarcadaBean;
+import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
+
+import net.sf.jasperreports.engine.JRDataSource;
+import net.sf.jasperreports.engine.JRException;
+import net.sf.jasperreports.engine.JRField;
+import net.sf.jasperreports.engine.JRLineBox;
+import net.sf.jasperreports.engine.JasperCompileManager;
+import net.sf.jasperreports.engine.JasperExportManager;
+import net.sf.jasperreports.engine.JasperFillManager;
+import net.sf.jasperreports.engine.JasperPrint;
+import net.sf.jasperreports.engine.JasperReport;
+import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
+import net.sf.jasperreports.engine.data.JRMapCollectionDataSource;
+import net.sf.jasperreports.engine.design.JRDesignBand;
+import net.sf.jasperreports.engine.design.JRDesignConditionalStyle;
+import net.sf.jasperreports.engine.design.JRDesignExpression;
+import net.sf.jasperreports.engine.design.JRDesignField;
+import net.sf.jasperreports.engine.design.JRDesignLine;
+import net.sf.jasperreports.engine.design.JRDesignSection;
+import net.sf.jasperreports.engine.design.JRDesignStaticText;
+import net.sf.jasperreports.engine.design.JRDesignStyle;
+import net.sf.jasperreports.engine.design.JRDesignTextField;
+import net.sf.jasperreports.engine.design.JRDesignVariable;
+import net.sf.jasperreports.engine.design.JasperDesign;
+import net.sf.jasperreports.engine.export.JExcelApiExporter;
+import net.sf.jasperreports.engine.export.JExcelApiExporterParameter;
+import net.sf.jasperreports.engine.export.JRPdfExporter;
+import net.sf.jasperreports.engine.export.JRPdfExporterParameter;
+import net.sf.jasperreports.engine.export.JRXlsExporterParameter;
+import net.sf.jasperreports.engine.export.ooxml.JRXlsxExporter;
+import net.sf.jasperreports.engine.type.HorizontalAlignEnum;
+import net.sf.jasperreports.engine.type.VerticalAlignEnum;
+import net.sf.jasperreports.engine.type.WhenNoDataTypeEnum;
+
+public class RelatorioInformeViajesOcasionalesPdf {
+
+// private static Logger log = LogManager.getLogger(RelatorioDispositivoEmbarcada.class);
+ public MyListbox viajeExpresosList;
+
+ public RelatorioInformeViajesOcasionalesPdf(final MyListbox expresosList) throws Exception {
+ this.viajeExpresosList = expresosList;
+
+ }
+
+ public File generateReport(boolean isPdf) throws JRException, IOException {
+
+ System.setProperty("jasper.reports.compile.class.path", System.getProperty("java.io.tmpdir"));
+
+ JasperDesign jasperDesign = createDesign();
+ JasperReport jasperReport = JasperCompileManager
+ .compileReport(jasperDesign);
+
+ File file = null;
+
+ JRDataSource jrDataSource = prepareDataSource();
+ Map params = new HashMap();
+
+ JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,
+ params, jrDataSource);
+
+ if (isPdf) {
+ file = File.createTempFile("pdf", ".pdf");
+
+ if (!file.exists()) {
+ file.mkdir();
+ file.setWritable(true);
+ }
+
+ JRPdfExporter exporter = new JRPdfExporter();
+ exporter.setParameter(JRPdfExporterParameter.JASPER_PRINT, jasperPrint);
+ exporter.setParameter(JRPdfExporterParameter.OUTPUT_FILE_NAME, file.getPath());
+ exporter.exportReport();
+ } else {
+ file = File.createTempFile("xlsx", ".xlsx");
+
+ if (!file.exists()) {
+ file.mkdir();
+ file.setWritable(true);
+ }
+
+ JRXlsxExporter exporter = new JRXlsxExporter();
+ exporter.setParameter(JRXlsExporterParameter.JASPER_PRINT, jasperPrint);
+ exporter.setParameter(JRXlsExporterParameter.OUTPUT_FILE_NAME, file.getPath());
+ exporter.exportReport();
+ }
+ return file;
+
+ }
+
+ public byte[] generateReportRender(boolean isPdf) throws Exception {
+
+ System.setProperty("jasper.reports.compile.class.path", System.getProperty("java.io.tmpdir"));
+ System.setProperty("net.sf.jasperreports.compiler.temp.dir", System.getProperty("java.io.tmpdir"));
+
+ JasperDesign jasperDesign = createDesign();
+ JasperReport jasperReport = JasperCompileManager
+ .compileReport(jasperDesign);
+
+ byte[] conteudo = null;
+
+ JRDataSource jrDataSource = prepareDataSource();
+ Map params = new HashMap();
+
+ JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,
+ params, jrDataSource);
+
+ if (isPdf) {
+ conteudo = this.renderPdf(jasperPrint);
+ } else {
+ conteudo = this.renderXls(false, jasperPrint);
+ }
+ return conteudo;
+
+ }
+
+ private JRDataSource prepareDataSource() {
+ List