Commit 438cc85f by Alonso Moreno

[EDIT] Cambios de los querys de ubigeo

parent caf66a6a
......@@ -17,6 +17,16 @@ public class PersonaBean implements Serializable {
public PersonaBean() {
}
public PersonaBean(PersonaBean persona) {
this.codigo = persona.getCodigo();
this.dni = persona.getDni();
this.apellidos = persona.getApellidos();
this.nombres = persona.getNombres();
this.edad = persona.getEdad();
this.correo = persona.getCorreo();
this.estado = persona.getEstado();
}
public String getCodigo() {
return codigo;
}
......
......@@ -16,6 +16,15 @@ public class UbigeoBean implements Serializable {
public UbigeoBean() {
}
public UbigeoBean(UbigeoBean ubigeo) {
this.codigoDepartamento = ubigeo.getCodigoDepartamento();
this.nombreDepartamento = ubigeo.getNombreDepartamento();
this.codigoProvincia = ubigeo.getCodigoProvincia();
this.nombreProvincia = ubigeo.getNombreProvincia();
this.codigoDistrito = ubigeo.getCodigoDistrito();
this.nombreDistrito = ubigeo.getNombreDistrito();
}
public String getCodigoDepartamento() {
return codigoDepartamento;
}
......
......@@ -82,7 +82,6 @@ public class PersonaServlet extends HttpServlet {
PersonaService service = new PersonaService();
JSONObject datos = new JSONObject(request.getParameter("json"));
JSONObject respuesta = service.cambiarEstado(datos);
System.out.println(respuesta);
pw.print(respuesta);
}
......
......@@ -25,7 +25,7 @@ public class PersonaSqlserverDAO implements PersonaDAO {
String condicion = "";
int numeroFilas = Integer.parseInt(datos.getString("start")) + 1; //Contador para el numero de filas a listar
int cantidadPersonas = 1;
int cantidadPersonas;
if (!datos.getString("search").equals("")) {
condicion = " and (a.nombres like '%" + datos.getString("search") + "%' or a.apellidos like '%" + datos.getString("search") + "%') ";
......@@ -34,18 +34,18 @@ public class PersonaSqlserverDAO implements PersonaDAO {
try {
connection = SqlserverDAOFactory.obtenerConexion(base);
String sql
= "select top " + datos.getString("length") + " "
+ "a.codigo, "
+ "a.dni, "
+ "a.apellidos, "
+ "a.nombres, "
+ "a.edad, "
+ "a.correo, "
+ "a.estado "
+ "from persona a "
+ "where a.codigo not in (select top " + datos.getString("start") + " b.codigo from persona b order by 1 desc) "
+ condicion + " "
+ "order by 1 desc";
= "select top " + datos.getString("length") + " "
+ "a.codigo, "
+ "a.dni, "
+ "a.apellidos, "
+ "a.nombres, "
+ "a.edad, "
+ "a.correo, "
+ "a.estado "
+ "from persona a "
+ "where a.codigo not in (select top " + datos.getString("start") + " b.codigo from persona b order by 1 desc) "
+ condicion + " "
+ "order by 1 desc";
System.out.println(sql);
psListarPersona = connection.prepareStatement(sql);
rsListarPersona = psListarPersona.executeQuery();
......@@ -107,9 +107,8 @@ public class PersonaSqlserverDAO implements PersonaDAO {
@Override
public JSONObject registrarPersona(JSONObject datos) {
JSONObject jsonReturn = null;
int resultDni = 0;
int resultPersona = 0;
JSONObject jsonReturn;
int resultDni, resultPersona;
String base = "demojsoncrud";
PreparedStatement psInsertarPersona = null, psGetDni = null;
ResultSet rsGetDni = null;
......@@ -127,8 +126,8 @@ public class PersonaSqlserverDAO implements PersonaDAO {
if (resultDni == 0) {
String sql
= "insert into persona (dni, apellidos, nombres, edad, correo, estado) values "
+ "(?,RTRIM(UPPER(?)),RTRIM(UPPER(?)),?,RTRIM(UPPER(?)),1)";
= "insert into persona (dni, apellidos, nombres, edad, correo, estado) values "
+ "(?,RTRIM(UPPER(?)),RTRIM(UPPER(?)),?,RTRIM(UPPER(?)),1)";
int c = 1; //contador para las columnas
psInsertarPersona = connection.prepareStatement(sql);
psInsertarPersona.setString(c++, datos.getString("dni"));
......@@ -180,22 +179,22 @@ public class PersonaSqlserverDAO implements PersonaDAO {
@Override
public JSONObject editarPersona(JSONObject datos) {
JSONObject jsonReturn = null;
JSONObject jsonReturn;
String base = "demojsoncrud";
Connection connection = null;
PreparedStatement psEditarPersona = null;
int resultPersona = 0;
int resultPersona;
ResponseHelper response = new ResponseHelper();
try {
connection = SqlserverDAOFactory.obtenerConexion(base);
String sql
= "update persona "
+ "set apellidos = RTRIM(UPPER(?)), "
+ "nombres = RTRIM(UPPER(?)), "
+ "edad = ?, "
+ "correo = RTRIM(UPPER(?)) "
+ "where codigo = ?";
= "update persona "
+ "set apellidos = RTRIM(UPPER(?)), "
+ "nombres = RTRIM(UPPER(?)), "
+ "edad = ?, "
+ "correo = RTRIM(UPPER(?)) "
+ "where codigo = ?";
psEditarPersona = connection.prepareStatement(sql);
int q = 1; // CONTADOR PARA LAS COLUMNAS
......@@ -238,20 +237,19 @@ public class PersonaSqlserverDAO implements PersonaDAO {
@Override
public JSONObject cambiarEstado(JSONObject datos) {
System.out.println(datos);
JSONObject jsonReturn = null;
JSONObject jsonReturn;
String base = "demojsoncrud";
Connection connection = null;
PreparedStatement psEditarPersona = null;
int resultPersona = 0;
int resultPersona;
ResponseHelper response = new ResponseHelper();
try {
connection = SqlserverDAOFactory.obtenerConexion(base);
String sql
= "UPDATE persona "
+ " SET estado = ? "
+ "WHERE codigo = ?;";
= "UPDATE persona "
+ " SET estado = ? "
+ "WHERE codigo = ?;";
psEditarPersona = connection.prepareStatement(sql);
psEditarPersona.setString(1, datos.getString("estado").equals("1") ? "0" : "1");
......
......@@ -14,7 +14,7 @@ public class UbigeoSqlserverDAO implements UbigeoDAO {
@Override
public JSONObject listarDepartamento() {
JSONObject jsonReturn = null;
JSONObject jsonReturn;
JSONArray data = new JSONArray();
PreparedStatement psListarDepartamento = null;
ResultSet rsListarDepartamento = null;
......@@ -25,12 +25,12 @@ public class UbigeoSqlserverDAO implements UbigeoDAO {
try {
connection = SqlserverDAOFactory.obtenerConexion(base);
String sql
= "select "
+ "codDepartamento as codigoDepartamento, "
+ "nombreDepartamento as nombreDepartamento "
+ "from ubigeo "
+ "group by codDepartamento, nombreDepartamento "
+ "order by nombreDepartamento";
= "select "
+ "codigo_departamento as codigoDepartamento, "
+ "nombre_departamento as nombreDepartamento "
+ "from ubigeo "
+ "group by codigo_departamento, nombre_departamento "
+ "order by nombre_departamento";
psListarDepartamento = connection.prepareStatement(sql);
rsListarDepartamento = psListarDepartamento.executeQuery();
while (rsListarDepartamento.next()) {
......@@ -76,7 +76,7 @@ public class UbigeoSqlserverDAO implements UbigeoDAO {
@Override
public JSONObject listarProvincia(JSONObject datos) {
System.out.println(datos);
JSONObject jsonReturn = null;
JSONObject jsonReturn;
JSONArray data = new JSONArray();
PreparedStatement psListarProvincia = null;
ResultSet rsListarProvincia = null;
......@@ -87,13 +87,13 @@ public class UbigeoSqlserverDAO implements UbigeoDAO {
try {
connection = SqlserverDAOFactory.obtenerConexion(base);
String sql
= "select "
+ "codProvincia as codigoProvincia, "
+ "nombreProvincia as nombreProvincia "
+ "from ubigeo "
+ "where codDepartamento = ? "
+ "group by codProvincia, nombreProvincia "
+ "order by nombreProvincia";
= "select "
+ "codigo_provincia as codigoProvincia, "
+ "nombre_provincia as nombreProvincia "
+ "from ubigeo "
+ "where codigo_departamento = ? "
+ "group by codigo_provincia, nombre_provincia "
+ "order by nombre_provincia";
psListarProvincia = connection.prepareStatement(sql);
psListarProvincia.setInt(1, datos.getInt("codigoDepartamento"));
rsListarProvincia = psListarProvincia.executeQuery();
......@@ -139,7 +139,7 @@ public class UbigeoSqlserverDAO implements UbigeoDAO {
@Override
public JSONObject listarDistrito(JSONObject datos) {
JSONObject jsonReturn = null;
JSONObject jsonReturn;
JSONArray data = new JSONArray();
PreparedStatement psListarDistrito = null;
ResultSet rsListarDistrito = null;
......@@ -150,12 +150,12 @@ public class UbigeoSqlserverDAO implements UbigeoDAO {
try {
connection = SqlserverDAOFactory.obtenerConexion(base);
String sql
= "select "
+ "codDistrito as codigoDistrito, "
+ "nombreDistrito as nombreDistrito "
+ "from ubigeo "
+ "where codProvincia = ? and codDepartamento = ? "
+ "order by nombreDistrito";
= "select "
+ "codigo_distrito as codigoDistrito, "
+ "nombre_distrito as nombreDistrito "
+ "from ubigeo "
+ "where codigo_provincia = ? and codigo_departamento = ? "
+ "order by nombre_distrito";
psListarDistrito = connection.prepareStatement(sql);
psListarDistrito.setInt(1, datos.getInt("codigoProvincia"));
psListarDistrito.setInt(2, datos.getInt("codigoDepartamento"));
......
let jqueryValidateConfig = () => {
const jqueryValidateConfig = () => {
function stripHtml(value) {
// remove html tags and space chars
return value.replace(/<.[^<>]*?>/g, ' ').replace(/&nbsp;|&#160;/gi, ' ')
......@@ -56,11 +56,31 @@ let jqueryValidateConfig = () => {
}
})
}
let persona = {
const ajaxRequest = obj => {
return new Promise((resolve, reject) => {
$.ajax({
url: obj.url,
type: obj.type,
dataType: obj.dataType,
data: obj.body,
beforeSend: (xhr, settings) => {
}, success: (response, textStatus, jqXHR) => {
resolve(response)
}, error: (jqXHR, textStatus, errorThrown) => {
reject({
status: textStatus,
message: `Error making the request`,
request: obj
})
}
})
})
}
const persona = {
listar() {
let txtCriterioBusqueda = $('#txt-busqueda').val().trim()
return new Promise((resolve) => {
$('#tbl-persona').DataTable().destroy()
$('#tbl-persona').DataTable({
language: {
paginate: {'next': '&rarr; ', 'previous': ' &larr;'},
......@@ -97,7 +117,7 @@ let persona = {
scrollX: false,
ScrollCollapse: true,
columns: [
{data: 'codigo'},
{data: 'item'},
{data: 'dni'},
{
data: null,
......@@ -137,22 +157,14 @@ let persona = {
})
},
cambiarEstado(datos) {
return new Promise((resolve, reject) => {
$.ajax({
url: '../PersonaServlet',
dataType: 'json',
type: 'POST',
data: {
accion: 'cambiarEstado',
json: JSON.stringify(datos)
}, beforeSend: function (xhr) {
}, success: function (data, textStatus, jqXHR) {
resolve(data)
}, error: function (jqXHR, textStatus, errorThrown) {
reject("Error al cambiar estado")
}
})
return ajaxRequest({
url: '../PersonaServlet',
type: 'POST',
dataType: 'json',
body: {
accion: 'cambiarEstado',
json: JSON.stringify(datos)
}
})
},
registrar() {
......@@ -163,22 +175,14 @@ let persona = {
edad: $('#txt_edad').val().trim(),
correo: $('#txt_correo').val().trim()
}
return new Promise((resolve, reject) => {
$.ajax({
url: '../PersonaServlet',
dataType: 'json',
type: 'POST',
data: {
accion: 'registrarPersona',
json: JSON.stringify(json)
}, beforeSend: function (xhr) {
}, success: function (data, textStatus, jqXHR) {
resolve(data)
}, error: function (jqXHR, textStatus, errorThrown) {
reject("Error al registrar personal")
}
})
return ajaxRequest({
url: '../PersonaServlet',
type: 'POST',
dataType: 'json',
body: {
accion: 'registrarPersona',
json: JSON.stringify(json)
}
})
},
editar() {
......@@ -189,29 +193,25 @@ let persona = {
correo: $('#txt_correo_editar').val().trim(),
codigo: localStorage.getItem('codigoPersona')
}
return new Promise((resolve, reject) => {
$.ajax({
url: '../PersonaServlet',
dataType: 'json',
type: 'POST',
data: {
accion: 'editarPersona',
json: JSON.stringify(json)
}, beforeSend: function (xhr) {
}, success: function (data, textStatus, jqXHR) {
resolve(data)
}, error: function (jqXHR, textStatus, errorThrown) {
reject("Error al editar persona")
}
})
return ajaxRequest({
url: '../PersonaServlet',
type: 'POST',
dataType: 'json',
body: {
accion: 'editarPersona',
json: JSON.stringify(json)
}
})
},
recargarTabla() {
$('#tbl-persona').DataTable().destroy()
this.listar()
}
}
let obtenerDatosTabla = (fila) => {
const obtenerDatosTabla = (fila) => {
return $('#tbl-persona').DataTable().row(fila).data()
}
let limpiarCajasTexto = () => {
const limpiarCajasTexto = () => {
$('#btn_agregar_persona').on('click', function () {
$('#txt_numero_documento').attr({
autofocus: true
......@@ -222,7 +222,7 @@ let limpiarCajasTexto = () => {
$('#txt_correo').val('')
})
}
let asignarEventos = () => {
const asignarEventos = () => {
$('#tbl-persona tbody').on('click', '.estado', (event) => {
let rowData = obtenerDatosTabla($(event.currentTarget).parents('tr'))
swal({
......@@ -242,7 +242,7 @@ let asignarEventos = () => {
customSwal
.alert('¡Exito!', 'Se actualizó con exito.', 'success')
.then(() => {
persona.listar()
persona.recargarTabla()
})
})
.catch((data) => {
......@@ -318,7 +318,7 @@ let asignarEventos = () => {
$('#modal_registrar_persona').modal('hide')
})
.then(() => {
persona.listar()
persona.recargarTabla()
})
} else {
customSwal.alert('¡Error!', data.message, 'error')
......@@ -373,7 +373,7 @@ let asignarEventos = () => {
$('#modal_editar_persona').modal('hide')
})
.then(() => {
persona.listar()
persona.recargarTabla()
})
})
.catch((data) => {
......@@ -383,18 +383,18 @@ let asignarEventos = () => {
})
$('#btn_buscar_criterio').on('click', function () {
persona.listar()
persona.recargarTabla()
})
$('#txt-busqueda').keyup(function (e) {
if (e.keyCode === 13) {
persona.listar()
persona.recargarTabla()
}
})
}
let validateInputs = () => {
const validateInputs = () => {
$(document.querySelector('#txt-busqueda')).validCampo('abcdefghijklmnñopqrstuvwxyzáéíóú ')
$(document.querySelector('#txt_numero_documento')).validCampo('1234567890')
$(document.querySelector('#txt_apellidos')).validCampo('abcdefghijklmnñopqrstuvwxyzáéíóú ')
$(document.querySelector('#txt_nombres')).validCampo('abcdefghijklmnñopqrstuvwxyzáéíóú ')
......@@ -407,4 +407,4 @@ jqueryValidateConfig()
persona.listar()
asignarEventos()
limpiarCajasTexto()
validateInputs()
\ No newline at end of file
validateInputs()
let ubigeo = {
const ubigeo = {
consultarDepartamento() {
return new Promise((resolve, reject) => {
$.ajax({
......@@ -64,8 +64,7 @@ let ubigeo = {
})
}
}
let asignarEventos = () => {
const asignarEventos = () => {
let slDepartamento = document.querySelector('#select_departamento')
let slProvincia = document.querySelector('#select_provincia')
let slDistrito = document.querySelector('#select_distrito')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment