Skip to content
Snippets Groups Projects
Commit 4eec29cc authored by albruiz's avatar albruiz
Browse files

consultas sobre general :D

parent 76655d27
Branches
No related tags found
No related merge requests found
Showing
with 287 additions and 109 deletions
......@@ -40,9 +40,9 @@ public class GeneralDataDB {
general.setWarName(rs.getString("warName"));
general.setStartYear1(Integer.parseInt(rs.getString("startYear1")));
general.setEndYear1(Integer.parseInt(rs.getString("endYear2")));
general.setDuration(Integer.parseInt(rs.getString("duration")));
general.setDeadTot(Double.parseDouble(rs.getString("deadTot")));
general.setTargettedTot(Double.parseDouble(rs.getString("targettedTot")));
general.setDuration(Double.parseDouble(rs.getString("duration")));
general.setDeadTot(Double.parseDouble(rs.getString("deadTot").replaceAll(",","")));
general.setTargettedTot(Double.parseDouble(rs.getString("targettedTot").replaceAll(",","")));
general.setDeadPer(general.getDeadTot()/general.getTargettedTot());
}
rs.close();
......@@ -126,70 +126,79 @@ public class GeneralDataDB {
}
}
public static ArrayList<GeneralData> selectValoresGeneral(String[] nombresConflicto, String[] tiposConflicto, int[] listaNumericos, int anyoInicio, int anyoFin, int duracion) throws SQLException{
public static ArrayList<GeneralData> selectValoresGeneral(String[] nombresConflicto, String[] tiposConflicto/*, int[] listaNumericos*/, int anyoInicio, int anyoFin, int duracion) throws SQLException{
ArrayList<GeneralData> listaResultados1 = new ArrayList<GeneralData>();
ArrayList<GeneralData> listaResultados2 = new ArrayList<GeneralData>();
String frase1 = "";
String frase2 = "";
String query1 = "SELECT * FROM General1 WHERE ";
String query2 = "SELECT * FROM General2 WHERE ";
ConnectionPool pool = ConnectionPool.getInstance();
Connection connection = pool.getConnection();
PreparedStatement ps1 = null;
PreparedStatement ps2 = null;
ResultSet rs1 = null;
ResultSet rs2 = null;
boolean[] vector = new boolean[5];
if(nombresConflicto.length != 0){
query1 = query1 + "warName = ? ";
query2 = query2 + "warName = ? ";
frase1 = frase1 + "warName = ? ";
frase2 = frase2 + "warName = ? ";
vector[0]=true;
}
if(tiposConflicto.length != 0){
if(!tiposConflicto[0].equals("0")){
if(vector[0]) {
query1 = query1 + "AND";
query2 = query2 + "AND";
frase1 = frase1 + "AND";
frase2 = frase2 + "AND";
}
query1 = query1 + " size_of_conflict = ? "; //String
query2 = query2 + " warType = ? "; //int
frase1 = frase1 + " size_of_conflict = ? "; //String
frase2 = frase2 + " warType = ? "; //int
vector[1]=true;
}
if(anyoInicio!=0){
if(vector[0] || vector[1]) {
query1 = query1 + "AND";
query2 = query2 + "AND";
frase1 = frase1 + "AND";
frase2 = frase2 + "AND";
}
query1 = query1 + " startYear1 = ? ";
query2 = query2 + " startYear1 = ? ";
frase1 = frase1 + " startYear1 = ? ";
frase2 = frase2 + " startYear1 = ? ";
vector[2]=true;
}
if(anyoFin!=0){
if(vector[0] || vector[1] || vector[2]) {
query1 = query1 + "AND";
query2 = query2 + "AND";
frase1 = frase1 + "AND";
frase2 = frase2 + "AND";
}
query1 = query1 + " endYear2 = ? ";
query2 = query2 + " endYear1 = ? ";
frase1 = frase1 + " endYear2 = ? ";
frase2 = frase2 + " endYear1 = ? ";
vector[3]=true;
}
if(duracion!=0){
if(vector[0] || vector[1] || vector[2] || vector[3]) {
query1 = query1 + "AND";
query2 = query2 + "AND";
frase1 = frase1 + "AND";
frase2 = frase2 + "AND";
}
query1 = query1 + " duration = ? ";
frase1 = frase1 + " duration = ? ";
vector[4]=true;
}
int contador = 0;
query1 = query1+" GROUP BY warName";
query2= query2+" GROUP BY warName";
try{
/*frase1 = frase1+" GROUP BY warName";
frase2= frase2+" GROUP BY warName";*/
if(nombresConflicto.length != 0){
for (int i = 0; i < nombresConflicto.length; i++){
if(tiposConflicto.length != 0){
if(!tiposConflicto[0].equals("0")){
for(int j = 0; j < tiposConflicto.length; j++){
if(tiposConflicto[j].equals("0")){
continue;
}
try{
String query1 = "SELECT * FROM General1 WHERE " + frase1;
String query2 = "SELECT * FROM General2 WHERE " + frase2;
ps1 = connection.prepareStatement(query1);
ps2 = connection.prepareStatement(query2);
ps1.setString(1, nombresConflicto[i] + "");
ps1.setString(2, tiposConflicto[j] + "");
ps2.setString(1, nombresConflicto[i] + "");
......@@ -209,8 +218,55 @@ public class GeneralDataDB {
contador++;
ps1.setString(contador, duracion + "");
}
rs1 = ps1.executeQuery();
rs2 = ps2.executeQuery();
GeneralData general = null;
while(rs1.next()) {
general = new GeneralData();
general.setWarName(rs1.getString("warName"));
general.setStartYear1(Integer.parseInt(rs1.getString("startYear1")));
general.setEndYear1(Integer.parseInt(rs1.getString("endYear2")));
general.setDuration(Double.parseDouble(rs1.getString("duration")));
general.setDeadTot(Double.parseDouble(rs1.getString("deadTot").replaceAll(",","")));
general.setTargettedTot(Double.parseDouble(rs1.getString("targettedTot").replaceAll(",","")));
general.setDeadPer(general.getDeadTot()/general.getTargettedTot());
listaResultados1.add(general);
}
rs1.close();
ps1.close();
general = null;
while(rs2.next()) {
general = new GeneralData();
int final1 = Integer.parseInt(rs2.getString("endYear1")), final2 = Integer.parseInt(rs2.getString("endYear2"));
if(final1 > final2){
general.setEndYear1(final1);
general.setEndYear2(final2);
}else{
general.setEndYear1(final2);
general.setEndYear2(final1);
}
general.setStartYear1(Integer.parseInt(rs2.getString("startYear1")));
general.setStartYear2(Integer.parseInt(rs2.getString("startYear2")));
general.setWarName(rs2.getString("warName"));
general.setWarType(Integer.parseInt(rs2.getString("warType")));
listaResultados2.add(general);
}
rs2.close();
ps2.close();
//pool.freeConnection(connection);
}catch (Exception e) {
e.printStackTrace();
return null;
}
}
}else{
try{
String query1 = "SELECT * FROM General1 WHERE " + frase1;
String query2 = "SELECT * FROM General2 WHERE " + frase2;
ps1 = connection.prepareStatement(query1);
ps2 = connection.prepareStatement(query2);
ps1.setString(1, nombresConflicto[i] + "");
contador = 1;
ps2.setString(1, nombresConflicto[i] + "");
......@@ -229,11 +285,61 @@ public class GeneralDataDB {
contador++;
ps1.setString(contador, duracion + "");
}
rs1 = ps1.executeQuery();
rs2 = ps2.executeQuery();
GeneralData general = null;
while(rs1.next()) {
general = new GeneralData();
general.setWarName(rs1.getString("warName"));
general.setStartYear1(Integer.parseInt(rs1.getString("startYear1")));
general.setEndYear1(Integer.parseInt(rs1.getString("endYear2")));
general.setDuration(Double.parseDouble(rs1.getString("duration")));
general.setDeadTot(Double.parseDouble(rs1.getString("deadTot").replaceAll(",","")));
general.setTargettedTot(Double.parseDouble(rs1.getString("targettedTot").replaceAll(",","")));
general.setDeadPer(general.getDeadTot()/general.getTargettedTot());
listaResultados1.add(general);
}
rs1.close();
ps1.close();
general = null;
while(rs2.next()) {
general = new GeneralData();
int final1 = Integer.parseInt(rs2.getString("endYear1")), final2 = Integer.parseInt(rs2.getString("endYear2"));
if(final1 > final2){
general.setEndYear1(final1);
general.setEndYear2(final2);
}else{
general.setEndYear1(final2);
general.setEndYear2(final1);
}
general.setStartYear1(Integer.parseInt(rs2.getString("startYear1")));
general.setStartYear2(Integer.parseInt(rs2.getString("startYear2")));
general.setWarName(rs2.getString("warName"));
general.setWarType(Integer.parseInt(rs2.getString("warType")));
listaResultados2.add(general);
}
rs2.close();
ps2.close();
// pool.freeConnection(connection);
}catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
}else{
if(tiposConflicto.length != 0){
if(!tiposConflicto[0].equals("0")){
for(int j = 0; j < tiposConflicto.length; j++){
if(tiposConflicto[j].equals("0")){
continue;
}
try{
String query1 = "SELECT * FROM General1 WHERE " + frase1;
String query2 = "SELECT * FROM General2 WHERE " + frase2;
ps1 = connection.prepareStatement(query1);
ps2 = connection.prepareStatement(query2);
ps1.setString(1, tiposConflicto[j] + "");
ps2.setString(1, tiposConflicto[j] + "");
contador = 1;
......@@ -252,8 +358,55 @@ public class GeneralDataDB {
ps1.setString(contador, duracion + "");
}
rs1 = ps1.executeQuery();
rs2 = ps2.executeQuery();
GeneralData general = null;
while(rs1.next()) {
general = new GeneralData();
general.setWarName(rs1.getString("warName"));
general.setStartYear1(Integer.parseInt(rs1.getString("startYear1")));
general.setEndYear1(Integer.parseInt(rs1.getString("endYear2")));
general.setDuration(Double.parseDouble(rs1.getString("duration")));
general.setDeadTot(Double.parseDouble(rs1.getString("deadTot").replaceAll(",","")));
general.setTargettedTot(Double.parseDouble(rs1.getString("targettedTot").replaceAll(",","")));
general.setDeadPer(general.getDeadTot()/general.getTargettedTot());
listaResultados1.add(general);
}
rs1.close();
ps1.close();
general = null;
while(rs2.next()) {
general = new GeneralData();
int final1 = Integer.parseInt(rs2.getString("endYear1")), final2 = Integer.parseInt(rs2.getString("endYear2"));
if(final1 > final2){
general.setEndYear1(final1);
general.setEndYear2(final2);
}else{
general.setEndYear1(final2);
general.setEndYear2(final1);
}
general.setStartYear1(Integer.parseInt(rs2.getString("startYear1")));
general.setStartYear2(Integer.parseInt(rs2.getString("startYear2")));
general.setWarName(rs2.getString("warName"));
general.setWarType(Integer.parseInt(rs2.getString("warType")));
listaResultados2.add(general);
}
rs2.close();
ps2.close();
// pool.freeConnection(connection);
}catch (Exception e) {
e.printStackTrace();
return null;
}
}
}else{
try{
String query1 = "SELECT * FROM General1 WHERE " + frase1;
String query2 = "SELECT * FROM General2 WHERE " + frase2;
ps1 = connection.prepareStatement(query1);
ps2 = connection.prepareStatement(query2);
contador = 0;
if(vector[2]){
......@@ -270,11 +423,7 @@ public class GeneralDataDB {
contador++;
ps1.setString(contador, duracion + "");
}
}
}
ps1 = connection.prepareStatement(query1);
ps2 = connection.prepareStatement(query2);
rs1 = ps1.executeQuery();
rs2 = ps2.executeQuery();
GeneralData general = null;
......@@ -283,9 +432,9 @@ public class GeneralDataDB {
general.setWarName(rs1.getString("warName"));
general.setStartYear1(Integer.parseInt(rs1.getString("startYear1")));
general.setEndYear1(Integer.parseInt(rs1.getString("endYear2")));
general.setDuration(Integer.parseInt(rs1.getString("duration")));
general.setDeadTot(Double.parseDouble(rs1.getString("deadTot")));
general.setTargettedTot(Double.parseDouble(rs1.getString("targettedTot")));
general.setDuration(Double.parseDouble(rs1.getString("duration")));
general.setDeadTot(Double.parseDouble(rs1.getString("deadTot").replaceAll(",","")));
general.setTargettedTot(Double.parseDouble(rs1.getString("targettedTot").replaceAll(",","")));
general.setDeadPer(general.getDeadTot()/general.getTargettedTot());
listaResultados1.add(general);
}
......@@ -311,27 +460,33 @@ public class GeneralDataDB {
}
rs2.close();
ps2.close();
pool.freeConnection(connection);
//
}catch (Exception e) {
e.printStackTrace();
return null;
}
ArrayList<GeneralData> listaDefintiva = new ArrayList<GeneralData>();
}
}
pool.freeConnection(connection);
if(!listaResultados1.isEmpty() && !listaResultados2.isEmpty()){
for (int i = 0; i< listaResultados1.size(); i++){
for(int j = 0; j< listaResultados2.size(); j++){
if(listaResultados1.get(i).getWarName().equals(listaResultados2.get(j).getWarName())){
GeneralData g1 = new GeneralData();
g1 = listaResultados2.get(j);
g1.setDuration(listaResultados1.get(i).getDuration());
g1.setDeadTot(listaResultados1.get(i).getDeadTot());
g1.setDeadPer(listaResultados1.get(i).getDeadPer());
g1.setTargettedTot(listaResultados1.get(i).getTargettedTot());
listaDefintiva.add(g1);
listaResultados1.get(i).setStartYear2(listaResultados2.get(j).getStartYear2());
listaResultados1.get(i).setEndYear2(listaResultados2.get(j).getEndYear2());
listaResultados2.remove(j);
}
}
}
listaResultados1.addAll(listaResultados2);
return listaResultados1;
}else if(listaResultados1.isEmpty()){
return listaResultados2;
}else{
return listaResultados1;
}
return listaDefintiva;
}
}
\ No newline at end of file
......@@ -167,10 +167,11 @@ public class ReligionDataDB {
ResultSet rs = null;
ArrayList<ReligionData> lista = new ArrayList<ReligionData>();
if(paises.length==0){
String query = "SELECT * FROM ReligionData WHERE year1 = ?";
for(int i = anyoInicio; i <= anyoFin; i++){
try {
String query = "SELECT * FROM ReligionData WHERE year1 = ?";
ps = connection.prepareStatement(query);
ps.setString(1, i + "");
rs = ps.executeQuery();
......@@ -208,7 +209,7 @@ public class ReligionDataDB {
} catch (Exception e) {
e.printStackTrace();
return new ArrayList<ReligionData>();
return null;
}
}
}else{
......
......@@ -16,7 +16,7 @@ public class GeneralData {
private int startYear2;
private int endYear1;
private int endYear2;
private int duration;
private double duration;
private double deadTot;
private double targettedTot;
private double deadPer;
......@@ -59,7 +59,7 @@ public class GeneralData {
return endYear2;
}
public int getDuration() {
public double getDuration() {
return duration;
}
......@@ -99,7 +99,7 @@ public class GeneralData {
this.endYear2 = endYear2;
}
public void setDuration(int duration) {
public void setDuration(double duration) {
this.duration = duration;
}
......
......@@ -132,12 +132,14 @@ public class Buscar extends HttpServlet {
request.setAttribute("listaResultados", listaResultados);
url = "/resultadoReligion.jsp";
}else if(!reli && gen && !eco){
/*
int[] listaNumericos = new int[tiposConflicto.length];
for(int i =0; i< tiposConflicto.length; i++){
listaNumericos[i] = RelationGeneralData1DB.selectWarTypeLetricas(tiposConflicto[i]);
}
ArrayList<GeneralData> listaResultados = GeneralDataDB.selectValoresGeneral(nombresConflicto, tiposConflicto, listaNumericos, anyoInicio, anyoFin, duracion);
}*/
ArrayList<GeneralData> listaResultados = GeneralDataDB.selectValoresGeneral(nombresConflicto, tiposConflicto,/* listaNumericos,*/ anyoInicio, anyoFin, duracion);
request.setAttribute("listaResultados", listaResultados);
url = "/resultadoGeneral.jsp";
}else if(!reli && !gen && eco){
......
......@@ -46,7 +46,7 @@
<option value="0" selected>NO INDICAR NOMBRE DEL CONFLICTO</option>
<%for(int i = 1; i<listaConflictos.size(); i++) {
%>
<option value="<%=i %>"><%=listaConflictos.get(i) %></option>
<option value="<%=listaConflictos.get(i) %>"><%=listaConflictos.get(i) %></option>
<%
}%>
......@@ -179,7 +179,7 @@
<div id="form_salida" class="grupo_checks" required>
<input type="radio" id="check_general" name="mostrarResultados" value = "generales" checked>Datos de caracter general.<br>
<input type="radio" id="check_general" name="mostrarResultados" value = "general" checked>Datos de caracter general.<br>
<input type="radio" id="check_religion" name="mostrarResultados" value ="religion">Datos relacionados con la religi&oacute;n.<br>
......
......@@ -37,3 +37,24 @@ div {
display: inline-block;
font-size: 16px;
}
.mensaje_error {
color: red;
}
#imagen_aga {
display: block;
margin-left: auto;
margin-right: auto;
width: 50%;
}
table {
border-collapse: collapse;
border: 1px solid black;
width: 100%;
}
td {
padding: 5px;
}
\ No newline at end of file
......@@ -30,7 +30,6 @@
<table id="tabla_resutltados">
<%
ArrayList<GeneralData> listaResultados = (ArrayList<GeneralData>) request.getAttribute("listaResultados");
boolean var = false;
for(int i=-1; i<listaResultados.size(); i++) {
%>
......
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
......@@ -46,7 +46,7 @@
<option value="0" selected>NO INDICAR NOMBRE DEL CONFLICTO</option>
<%for(int i = 1; i<listaConflictos.size(); i++) {
%>
<option value="<%=i %>"><%=listaConflictos.get(i) %></option>
<option value="<%=listaConflictos.get(i) %>"><%=listaConflictos.get(i) %></option>
<%
}%>
......@@ -179,7 +179,7 @@
<div id="form_salida" class="grupo_checks" required>
<input type="radio" id="check_general" name="mostrarResultados" value = "generales" checked>Datos de caracter general.<br>
<input type="radio" id="check_general" name="mostrarResultados" value = "general" checked>Datos de caracter general.<br>
<input type="radio" id="check_religion" name="mostrarResultados" value ="religion">Datos relacionados con la religi&oacute;n.<br>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment