diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml
index 482786e..15b30f8 100644
--- a/.idea/dataSources.xml
+++ b/.idea/dataSources.xml
@@ -19,7 +19,7 @@
sqlite.xerial
true
org.sqlite.JDBC
- jdbc:sqlite:$PROJECT_DIR$/dist/database.sqlite
+ jdbc:sqlite:$PROJECT_DIR$/dist/rodriguez.dat
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 081e05b..c793ab2 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -6,19 +6,19 @@
-
-
+
+
-
+
-
+
@@ -74,41 +74,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
- onSelec
- timezone
- efect
from efectivo
caj
remove
@@ -151,6 +114,9 @@
or
s
getSub
+ get
+ System.out.println(.+)
+ System.out
2018 Daniel Cortes
@@ -163,6 +129,7 @@
$PROJECT_DIR$/src
+ $PROJECT_DIR$/src/danielcortes/xyz
@@ -198,7 +165,6 @@
-
@@ -215,13 +181,14 @@
-
+
+
-
+
@@ -266,7 +233,6 @@
-
@@ -285,13 +251,6 @@
-
-
-
-
-
-
-
@@ -299,24 +258,21 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
@@ -330,7 +286,7 @@
-
+
@@ -344,7 +300,7 @@
-
+
@@ -543,7 +499,12 @@
-
+
+
+
+
+
+
1545280618093
@@ -832,11 +793,18 @@
1547057968640
-
+
+ 1547082730641
+
+
+
+ 1547082730641
+
+
-
+
@@ -849,9 +817,8 @@
-
-
+
@@ -869,8 +836,7 @@
-
-
+
@@ -879,11 +845,12 @@
-
-
+
+
+
@@ -942,7 +909,6 @@
-
@@ -967,7 +933,8 @@
-
+
+
@@ -997,26 +964,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1052,16 +999,6 @@
-
-
-
-
-
-
-
-
-
-
@@ -1377,29 +1314,8 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1415,13 +1331,7 @@
-
-
-
-
-
-
-
+
@@ -1448,104 +1358,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1570,37 +1382,117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
+
+
+
+
+
+
+
diff --git a/dist/caja.jar b/dist/caja.jar
index 4ac0eea..a7b5fe5 100644
Binary files a/dist/caja.jar and b/dist/caja.jar differ
diff --git a/dist/conf.properties b/dist/conf.properties
index 964acc3..f101903 100644
--- a/dist/conf.properties
+++ b/dist/conf.properties
@@ -14,7 +14,7 @@ database_type = sqlite
# debe corresponder con el sistema de base de datos seleccionado en database_type
#database_uri = jdbc:mysql://localhost/caja?user=root&password=lagging&useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
-database_uri = jdbc:sqlite:database.sqlite
+database_uri = jdbc:sqlite:rodriguez.dat
# look_and_feel elige el look and feel que intentara utilizar la aplicacion, si el seleccionado no funciona en el sistema operativo se hara fallback a metal.
diff --git a/dist/database.sqlite b/dist/database.sqlite
index 9a25e25..e69de29 100644
Binary files a/dist/database.sqlite and b/dist/database.sqlite differ
diff --git a/src/danielcortes/xyz/Main.java b/src/danielcortes/xyz/Main.java
index 12d37f5..7affbdd 100644
--- a/src/danielcortes/xyz/Main.java
+++ b/src/danielcortes/xyz/Main.java
@@ -38,6 +38,7 @@ import danielcortes.xyz.models.efectivo.SQLiteEfectivoDAO;
import danielcortes.xyz.models.egreso.EgresoDAO;
import danielcortes.xyz.models.egreso.MysqlEgresoDAO;
import danielcortes.xyz.models.egreso.SQLiteEgresoDAO;
+import danielcortes.xyz.models.informe.SQLiteInformeMensualContentDAO;
import danielcortes.xyz.models.ingreso.IngresoDAO;
import danielcortes.xyz.models.ingreso.MysqlIngresoDAO;
import danielcortes.xyz.models.ingreso.SQLiteIngresoDAO;
@@ -49,6 +50,7 @@ import danielcortes.xyz.models.tipo_ingreso.SQLiteTipoIngresoDAO;
import danielcortes.xyz.models.tipo_ingreso.TipoIngresoDAO;
import danielcortes.xyz.views.ManagerView;
import javax.swing.*;
+import java.time.LocalDate;
import java.util.Locale;
public class Main {
diff --git a/src/danielcortes/xyz/informes/InformeMensual.java b/src/danielcortes/xyz/informes/InformeMensual.java
index 83a5755..05e082f 100644
--- a/src/danielcortes/xyz/informes/InformeMensual.java
+++ b/src/danielcortes/xyz/informes/InformeMensual.java
@@ -38,10 +38,7 @@ import java.io.IOException;
import java.io.OutputStream;
import java.time.LocalDate;
import java.time.ZoneId;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
+import java.util.*;
public class InformeMensual {
private final String[] titles = {
@@ -68,7 +65,8 @@ public class InformeMensual {
private final String[] dias = {"Domingo", "Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado"};
- private List informe;
+ private ArrayList informe;
+ private int informeSize;
private File saveFile;
private Workbook wb;
@@ -79,7 +77,8 @@ public class InformeMensual {
public InformeMensual(LocalDate date, File saveFile) {
new SQLiteCajaDAO().createCajasForMonth(date);
- this.informe = new SQLiteInformeMensualContentDAO().getInformeMensual(date);
+ this.informe = new ArrayList<>(new SQLiteInformeMensualContentDAO().getInformeMensual(date));
+ this.informeSize = this.informe.size();
this.saveFile = saveFile;
this.wb = new HSSFWorkbook();
@@ -89,6 +88,10 @@ public class InformeMensual {
this.styles = this.generateStyles();
}
+ private void sortInforme(){
+ this.informe.sort(Comparator.comparing(InformeMensualContent::getFecha));
+ }
+
private void fillHeaders() {
Row titles = sheet.createRow(0);
Row subtitles = sheet.createRow(1);
@@ -103,38 +106,39 @@ public class InformeMensual {
}
private void fillData() {
- for (int x = 2; x < 2 + informe.size(); x++) {
+ int x = 2;
+
+ for(InformeMensualContent data : this.informe){
int y = 0;
Row dataRow = sheet.createRow(x);
- InformeMensualContent data = informe.get(x - 2);
Date fecha = Date.from(data.getFecha().atStartOfDay(ZoneId.systemDefault()).toInstant());
dataRow.createCell(y++).setCellValue(this.dias[data.getDia()]);
dataRow.createCell(y++).setCellValue(fecha);
- dataRow.createCell(y++).setCellValue(data.getManualesInicial());
- dataRow.createCell(y++).setCellValue(data.getManualesFinal());
+ dataRow.createCell(y++).setCellValue(data.getManualesInicial() == null ? "0": data.getManualesInicial());
+ dataRow.createCell(y++).setCellValue(data.getManualesFinal() == null ? "0" : data.getManualesFinal());
dataRow.createCell(y++).setCellValue(data.getManuales());
- dataRow.createCell(y++).setCellValue(data.getFiscalesZInicial());
- dataRow.createCell(y++).setCellValue(data.getFiscalesZFinal());
- dataRow.createCell(y++).setCellValue(data.getFiscalesInicial());
- dataRow.createCell(y++).setCellValue(data.getFiscalesFinal());
+ dataRow.createCell(y++).setCellValue(data.getFiscalesZInicial() == null ? "0" : data.getFiscalesZInicial());
+ dataRow.createCell(y++).setCellValue(data.getFiscalesZFinal() == null ? "0" : data.getFiscalesZFinal());
+ dataRow.createCell(y++).setCellValue(data.getFiscalesInicial() == null ? "0" : data.getFiscalesInicial());
+ dataRow.createCell(y++).setCellValue(data.getFiscalesFinal() == null ? "0" : data.getFiscalesFinal());
dataRow.createCell(y++).setCellValue(data.getFiscales());
- dataRow.createCell(y++).setCellValue(data.getExentasInicial());
- dataRow.createCell(y++).setCellValue(data.getExentasFinal());
+ dataRow.createCell(y++).setCellValue(data.getExentasInicial() == null ? "0" : data.getExentasInicial());
+ dataRow.createCell(y++).setCellValue(data.getExentasFinal() == null ? "0" : data.getExentasFinal());
dataRow.createCell(y++).setCellValue(data.getExentas());
dataRow.createCell(y++).setCellValue(data.getSubTotal());
- dataRow.createCell(y++).setCellValue(data.getFacturasInicial());
- dataRow.createCell(y++).setCellValue(data.getFacturasFinal());
+ dataRow.createCell(y++).setCellValue(data.getFacturasInicial() == null ? "0" : data.getFacturasInicial());
+ dataRow.createCell(y++).setCellValue(data.getFacturasFinal() == null ? "0" : data.getFacturasFinal());
dataRow.createCell(y++).setCellValue(data.getFacturas());
- dataRow.createCell(y++).setCellValue(data.getGuiasInicial());
- dataRow.createCell(y++).setCellValue(data.getGuiasFinal());
+ dataRow.createCell(y++).setCellValue(data.getGuiasInicial() == null ? "0" : data.getGuiasInicial());
+ dataRow.createCell(y++).setCellValue(data.getGuiasFinal() == null ? "0" : data.getGuiasFinal());
dataRow.createCell(y++).setCellValue(data.getGuias());
dataRow.createCell(y++).setCellValue(data.getTotal());
@@ -144,11 +148,12 @@ public class InformeMensual {
} else {
dataRow.createCell(y).setCellFormula(("U" + (x + 1)) + ("+") + ("V" + (x)));
}
+ x++;
}
}
private void fillTotales() {
- int row = 2 + informe.size();
+ int row = 2 + this.informeSize;
Row totalesRow = sheet.createRow(row);
totalesRow.createCell(0).setCellValue("TOTALES");
@@ -223,7 +228,7 @@ public class InformeMensual {
}
//Estilos para las celdas de los datos
- for (int x = 2; x < informe.size() + 2; x++) {
+ for (int x = 2; x < this.informeSize + 2; x++) {
Row row = this.sheet.getRow(x);
int y = 0;
@@ -294,6 +299,7 @@ public class InformeMensual {
}
public File generarInforme() {
+ sortInforme();
fillData();
fillHeaders();
fillTotales();
diff --git a/src/danielcortes/xyz/models/informe/InformeMensualContent.java b/src/danielcortes/xyz/models/informe/InformeMensualContent.java
index 2027cf9..c200193 100644
--- a/src/danielcortes/xyz/models/informe/InformeMensualContent.java
+++ b/src/danielcortes/xyz/models/informe/InformeMensualContent.java
@@ -74,6 +74,7 @@ public class InformeMensualContent {
}
public String getManualesFinal() {
+
return manualesFinal;
}
@@ -110,7 +111,7 @@ public class InformeMensualContent {
}
public void setFiscalesInicial(String fiscalesInicial) {
- this.fiscalesInicial = fiscalesInicial;
+ this.fiscalesInicial = fiscalesInicial;
}
public String getFiscalesFinal() {
@@ -222,12 +223,18 @@ public class InformeMensualContent {
return "InformeMensualContent{" +
"dia=" + dia +
", fecha=" + fecha +
- ", fiscalesInicial='" + fiscalesInicial + '\'' +
- ", fiscalesFinal='" + fiscalesFinal + '\'' +
- ", fiscales=" + fiscales +
", manualesInicial='" + manualesInicial + '\'' +
", manualesFinal='" + manualesFinal + '\'' +
", manuales=" + manuales +
+ ", fiscalesZInicial='" + fiscalesZInicial + '\'' +
+ ", fiscalesZFinal='" + fiscalesZFinal + '\'' +
+ ", fiscalesInicial='" + fiscalesInicial + '\'' +
+ ", fiscalesFinal='" + fiscalesFinal + '\'' +
+ ", fiscales=" + fiscales +
+ ", exentasInicial='" + exentasInicial + '\'' +
+ ", exentasFinal='" + exentasFinal + '\'' +
+ ", exentas=" + exentas +
+ ", subTotal=" + subTotal +
", facturasInicial='" + facturasInicial + '\'' +
", facturasFinal='" + facturasFinal + '\'' +
", facturas=" + facturas +
diff --git a/src/danielcortes/xyz/models/informe/InformeMensualContentDAO.java b/src/danielcortes/xyz/models/informe/InformeMensualContentDAO.java
index d708a53..261ac2b 100644
--- a/src/danielcortes/xyz/models/informe/InformeMensualContentDAO.java
+++ b/src/danielcortes/xyz/models/informe/InformeMensualContentDAO.java
@@ -25,7 +25,7 @@
package danielcortes.xyz.models.informe;
import java.time.LocalDate;
-import java.util.List;
+import java.util.Collection;
public abstract class InformeMensualContentDAO {
/**
@@ -33,5 +33,5 @@ public abstract class InformeMensualContentDAO {
* @param date fecha que esta dentro del mes en el que se necesita el informe
* @return Lista con las columnas principales necesarias para el informe
*/
- public abstract List getInformeMensual(LocalDate date);
+ public abstract Collection getInformeMensual(LocalDate date);
}
diff --git a/src/danielcortes/xyz/models/informe/SQLiteInformeMensualContentDAO.java b/src/danielcortes/xyz/models/informe/SQLiteInformeMensualContentDAO.java
index 38aefa7..4280209 100644
--- a/src/danielcortes/xyz/models/informe/SQLiteInformeMensualContentDAO.java
+++ b/src/danielcortes/xyz/models/informe/SQLiteInformeMensualContentDAO.java
@@ -31,78 +31,57 @@ import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.time.LocalDate;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.*;
public class SQLiteInformeMensualContentDAO extends InformeMensualContentDAO {
+ HashMap map;
+
+ public SQLiteInformeMensualContentDAO(){
+ this.map = new HashMap<>();
+ }
+
@Override
- public List getInformeMensual(LocalDate date) {
- ArrayList list = new ArrayList<>();
+ public Collection getInformeMensual(LocalDate date) {
try {
Connection conn = new SQLiteConnectionHolder().getConnection();
- String query =
+ String queryTotales =
+ "select " +
+ "caja.id as \"caja\",\n" +
+ "strftime(\"%w\", caja.fecha) as \"dia\",\n" +
+ "caja.fecha as \"fecha\",\n" +
+ "sum(case when ingresos.tipo_ingreso_id = 2 then ingresos.valor else 0 end) as \"manuales\",\n" +
+ "sum(case when ingresos.tipo_ingreso_id = 1 then ingresos.valor else 0 end) as \"fiscales\",\n" +
+ "sum(case when ingresos.tipo_ingreso_id = 5 then ingresos.valor else 0 end) as \"exentas\",\n" +
+ "sum(case when ingresos.tipo_ingreso_id in (2, 1, 5) then ingresos.valor else 0 end) as \"sub_total\",\n" +
+ "sum(case when ingresos.tipo_ingreso_id = 3 then ingresos.valor else 0 end) as \"facturas\",\n" +
+ "sum(case when ingresos.tipo_ingreso_id = 4 then ingresos.valor else 0 end) as \"guias\",\n" +
+ "sum(case when ingresos.valor not null then ingresos.valor else 0 end) as \"total\"\n" +
+ "from caja left join ingresos on (caja.id = ingresos.caja_id)\n" +
+ "where caja.fecha between date(?) and date(?)\n" +
+ "group by caja.fecha\n";
+ String queryNumeros =
"select\n" +
- "strftime(\"%w\", caja.fecha) as \"dia\",\n" +
- "caja.fecha as \"fecha\",\n" +
- "min(case when ingresos.tipo_ingreso_id = 2 and ingresos.valor > 0 then ingresos.nro_inicial else 0 end) as \"manuales_inicial\",\n" +
- "max(case when ingresos.tipo_ingreso_id = 2 and ingresos.valor > 0 then ingresos.nro_final else 0 end) as \"manuales_final\",\n" +
- "sum(case when ingresos.tipo_ingreso_id = 2 then ingresos.valor else 0 end) as \"manuales\",\n" +
- "min(case when ingresos.tipo_ingreso_id = 1 and ingresos.valor > 0 then ingresos.nro_inicial else 0 end) as \"fiscales_inicial\",\n" +
- "max(case when ingresos.tipo_ingreso_id = 1 and ingresos.valor > 0 then ingresos.nro_final else 0 end) as \"fiscales_final\",\n" +
- "min(case when ingresos.tipo_ingreso_id = 1 and ingresos.valor > 0 then ingresos.nro_z_inicial else 0 end) as \"fiscales_z_inicial\",\n" +
- "max(case when ingresos.tipo_ingreso_id = 1 and ingresos.valor > 0 then ingresos.nro_z_final else 0 end) as \"fiscales_z_final\",\n" +
- "sum(case when ingresos.tipo_ingreso_id = 1 then ingresos.valor else 0 end) as \"fiscales\",\n" +
- "min(case when ingresos.tipo_ingreso_id = 5 and ingresos.valor > 0 then ingresos.nro_inicial else 0 end) as \"exentas_inicial\",\n" +
- "max(case when ingresos.tipo_ingreso_id = 5 and ingresos.valor > 0 then ingresos.nro_final else 0 end) as \"exentas_final\",\n" +
- "sum(case when ingresos.tipo_ingreso_id = 5 then ingresos.valor else 0 end) as \"exentas\",\n" +
- "sum(case when ingresos.tipo_ingreso_id in (2, 1, 5) then ingresos.valor else 0 end ) as \"sub_total\",\n" +
- "min(case when ingresos.tipo_ingreso_id = 3 and ingresos.valor > 0 then ingresos.nro_inicial else 0 end) as \"facturas_inicial\",\n" +
- "max(case when ingresos.tipo_ingreso_id = 3 and ingresos.valor > 0 then ingresos.nro_final else 0 end) as \"facturas_final\",\n" +
- "sum(case when ingresos.tipo_ingreso_id = 3 then ingresos.valor else 0 end) as \"facturas\",\n" +
- "min(case when ingresos.tipo_ingreso_id = 4 and ingresos.valor > 0 then ingresos.nro_inicial else 0 end) as \"guias_inicial\",\n" +
- "max(case when ingresos.tipo_ingreso_id = 4 and ingresos.valor > 0 then ingresos.nro_final else 0 end) as \"guias_final\",\n" +
- "sum(case when ingresos.tipo_ingreso_id = 4 then ingresos.valor else 0 end) as \"guias\",\n" +
- "sum(case when ingresos.valor not null then ingresos.valor else 0 end) as \"total\"\n" +
- "from caja\n" +
- "left join ingresos on (caja.id = ingresos.caja_id)\n" +
- "where caja.fecha between date(?) and date(?)\n" +
- "group by caja.fecha\n" +
- "order by caja.fecha\n";
-
- PreparedStatement ps = conn.prepareStatement(query);
+ "caja.id as \"caja\",\n" +
+ "caja.fecha as \"fecha\",\n" +
+ "ingresos.nro_inicial as \"inicial\",\n" +
+ "ingresos.nro_final as \"final\",\n" +
+ "ingresos.nro_z_inicial as \"z_inicial\",\n" +
+ "ingresos.nro_z_final as \"z_final\",\n" +
+ "ingresos.tipo_ingreso_id as \"tipo_ingreso\"\n" +
+ "from caja join ingresos on (caja.id = ingresos.caja_id)\n" +
+ "where caja.fecha between date(?) and date(?)\n";
+ PreparedStatement ps = conn.prepareStatement(queryTotales);
ps.setString(1, date.withDayOfMonth(1).toString());
ps.setString(2, date.withDayOfMonth(date.lengthOfMonth()).toString());
-
-
ResultSet rs = ps.executeQuery();
- while (rs.next()) {
- InformeMensualContent informeMensualContent = new InformeMensualContent();
- informeMensualContent.setDia(rs.getInt("dia"));
- informeMensualContent.setFecha(LocalDate.parse(rs.getString("fecha")));
- informeMensualContent.setManualesInicial(rs.getString("manuales_inicial"));
- informeMensualContent.setManualesFinal(rs.getString("manuales_final"));
- informeMensualContent.setManuales(rs.getInt("manuales"));
- informeMensualContent.setFiscalesZInicial(rs.getString("fiscales_z_inicial"));
- informeMensualContent.setFiscalesZFinal(rs.getString("fiscales_z_final"));
- informeMensualContent.setFiscalesInicial(rs.getString("fiscales_inicial"));
- informeMensualContent.setFiscalesFinal(rs.getString("fiscales_final"));
- informeMensualContent.setFiscales(rs.getInt("fiscales"));
- informeMensualContent.setExentasInicial(rs.getString("exentas_inicial"));
- informeMensualContent.setExentasFinal(rs.getString("exentas_final"));
- informeMensualContent.setExentas(rs.getInt("exentas"));
- informeMensualContent.setSubTotal(rs.getInt("sub_total"));
- informeMensualContent.setFiscales(rs.getInt("fiscales"));
- informeMensualContent.setFacturasInicial(rs.getString("facturas_inicial"));
- informeMensualContent.setFacturasFinal(rs.getString("facturas_final"));
- informeMensualContent.setFacturas(rs.getInt("facturas"));
- informeMensualContent.setGuiasInicial(rs.getString("guias_inicial"));
- informeMensualContent.setGuiasFinal(rs.getString("guias_final"));
- informeMensualContent.setGuias(rs.getInt("guias"));
- informeMensualContent.setTotal(rs.getInt("total"));
+ this.fillTotalesFromResultSet(rs);
- list.add(informeMensualContent);
- }
+ ps = conn.prepareStatement(queryNumeros);
+ ps.setString(1, date.withDayOfMonth(1).toString());
+ ps.setString(2, date.withDayOfMonth(date.lengthOfMonth()).toString());
+ rs = ps.executeQuery();
+ this.fillBoletasFromResultSet(rs);
rs.close();
ps.close();
@@ -110,6 +89,150 @@ public class SQLiteInformeMensualContentDAO extends InformeMensualContentDAO {
} catch (SQLException e) {
e.printStackTrace();
}
- return list;
+
+ return map.values();
+ }
+
+ private void fillTotalesFromResultSet(ResultSet rs) throws SQLException {
+ while (rs.next()) {
+ InformeMensualContent informe = new InformeMensualContent();
+ informe.setDia(rs.getInt("dia"));
+ informe.setFecha(LocalDate.parse(rs.getString("fecha")));
+ informe.setManuales(rs.getInt("manuales"));
+ informe.setFiscales(rs.getInt("fiscales"));
+ informe.setExentas(rs.getInt("exentas"));
+ informe.setSubTotal(rs.getInt("sub_total"));
+ informe.setFacturas(rs.getInt("facturas"));
+ informe.setGuias(rs.getInt("guias"));
+ informe.setTotal(rs.getInt("total"));
+ map.put(rs.getInt("caja"), informe);
+ }
+ }
+
+ private void fillBoletasFromResultSet(ResultSet rs) throws SQLException{
+ while (rs.next()) {
+ InformeMensualContent informe = map.get(rs.getInt("caja"));
+ int tipoIngreso = rs.getInt("tipo_ingreso");
+ switch (tipoIngreso) {
+ case 1:
+ String fiscalesInicial = rs.getString("inicial");
+ String fiscalesFinal = rs.getString("final");
+ String fiscalesZInicial = rs.getString("z_inicial");
+ String fiscalesZFinal = rs.getString("z_final");
+
+ if (informe.getFiscalesInicial() != null) {
+ if (fiscalesInicial.compareTo(informe.getFiscalesInicial()) < 0) {
+ informe.setFiscalesInicial(fiscalesInicial);
+ }
+ } else {
+ informe.setFiscalesInicial(fiscalesInicial);
+ }
+
+ if (informe.getFiscalesFinal() != null) {
+ if (fiscalesFinal.compareTo(informe.getFiscalesFinal()) > 0) {
+ informe.setFiscalesFinal(fiscalesFinal);
+ }
+ } else {
+ informe.setFiscalesFinal(fiscalesFinal);
+ }
+
+ if (informe.getFiscalesZInicial() != null) {
+ if (fiscalesZInicial.compareTo(informe.getFiscalesZInicial()) < 0) {
+ informe.setFiscalesZInicial(fiscalesZInicial);
+ }
+ } else {
+ informe.setFiscalesZInicial(fiscalesZInicial);
+ }
+
+ if (informe.getFiscalesZFinal() != null) {
+ if (fiscalesZFinal.compareTo(informe.getFiscalesZFinal()) > 0) {
+ informe.setFiscalesZFinal(fiscalesZFinal);
+ }
+ } else {
+ informe.setFiscalesZFinal(fiscalesZFinal);
+ }
+
+ break;
+ case 2:
+ String manualesInicial = rs.getString("inicial");
+ String manualesFinal = rs.getString("final");
+
+ if (informe.getManualesInicial() != null) {
+ if (manualesInicial.compareTo(informe.getManualesInicial()) < 0) {
+ informe.setManualesInicial(manualesInicial);
+ }
+ } else {
+ informe.setManualesInicial(manualesInicial);
+ }
+
+ if (informe.getManualesFinal() != null) {
+ if (manualesFinal.compareTo(informe.getManualesFinal()) > 0) {
+ informe.setManualesFinal(manualesFinal);
+ }
+ } else {
+ informe.setManualesFinal(manualesFinal);
+ }
+
+ break;
+ case 3:
+ String facturasInicial = rs.getString("inicial");
+ String facturasFinal = rs.getString("final");
+
+ if (informe.getFacturasInicial() != null) {
+ if (facturasInicial.compareTo(informe.getFacturasInicial()) < 0) {
+ informe.setFacturasInicial(facturasInicial);
+ }
+ } else {
+ informe.setFacturasInicial(facturasInicial);
+ }
+ if (informe.getFacturasFinal() != null) {
+ if (facturasFinal.compareTo(informe.getFacturasFinal()) > 0) {
+ informe.setFacturasFinal(facturasFinal);
+ }
+ } else {
+ informe.setFacturasFinal(facturasFinal);
+ }
+
+ break;
+ case 4:
+ String guiasInicial = rs.getString("inicial");
+ String guiasFinal = rs.getString("final");
+
+ if (informe.getGuiasInicial() != null) {
+ if (guiasInicial.compareTo(informe.getGuiasInicial()) < 0) {
+ informe.setGuiasInicial(guiasInicial);
+ }
+ } else {
+ informe.setGuiasInicial(guiasInicial);
+ }
+ if (informe.getGuiasFinal() != null) {
+ if (guiasFinal.compareTo(informe.getGuiasFinal()) > 0) {
+ informe.setGuiasFinal(guiasFinal);
+ }
+ } else {
+ informe.setGuiasFinal(guiasFinal);
+ }
+ break;
+ case 5:
+ String exentasInicial = rs.getString("inicial");
+ String exentasFinal = rs.getString("final");
+
+ if (informe.getExentasInicial() != null) {
+ if (exentasInicial.compareTo(informe.getExentasInicial()) < 0) {
+ informe.setExentasInicial(exentasInicial);
+ }
+ } else {
+ informe.setExentasInicial(exentasInicial);
+ }
+ if (informe.getExentasFinal() != null) {
+ if (exentasFinal.compareTo(informe.getExentasFinal()) > 0) {
+ informe.setExentasFinal(exentasFinal);
+ }
+ } else {
+ informe.setExentasFinal(exentasFinal);
+ }
+ break;
+ }
+ }
}
}