Commit 94d0c27c by Alonso Moreno Postigo

[EDIT] v0.1

parent ba1776aa
...@@ -2,77 +2,75 @@ package demojsoncrud.beans; ...@@ -2,77 +2,75 @@ package demojsoncrud.beans;
import java.io.Serializable; import java.io.Serializable;
/**
*
* @author Alonso
*/
public class PersonaBean implements Serializable { public class PersonaBean implements Serializable {
private String codigo; private static final long serialVersionUID = 4594333294248399680L;
private String dni;
private String apellidos;
private String nombres;
private String edad;
private String correo;
private String estado;
public PersonaBean() { private String codigo;
} private String dni;
private String apellidos;
private String nombres;
private String edad;
private String correo;
private String estado;
public String getCodigo() { public PersonaBean() {
return codigo; }
}
public void setCodigo(String codigo) { public String getCodigo() {
this.codigo = codigo; return codigo;
} }
public String getDni() { public void setCodigo(String codigo) {
return dni; this.codigo = codigo;
} }
public void setDni(String dni) { public String getDni() {
this.dni = dni; return dni;
} }
public String getApellidos() { public void setDni(String dni) {
return apellidos; this.dni = dni;
} }
public void setApellidos(String apellidos) { public String getApellidos() {
this.apellidos = apellidos; return apellidos;
} }
public String getNombres() { public void setApellidos(String apellidos) {
return nombres; this.apellidos = apellidos;
} }
public void setNombres(String nombres) { public String getNombres() {
this.nombres = nombres; return nombres;
} }
public String getEdad() { public void setNombres(String nombres) {
return edad; this.nombres = nombres;
} }
public void setEdad(String edad) { public String getEdad() {
this.edad = edad; return edad;
} }
public String getCorreo() { public void setEdad(String edad) {
return correo; this.edad = edad;
} }
public void setCorreo(String correo) { public String getCorreo() {
this.correo = correo; return correo;
} }
public String getEstado() { public void setCorreo(String correo) {
return estado; this.correo = correo;
} }
public void setEstado(String estado) { public String getEstado() {
this.estado = estado; return estado;
} }
public void setEstado(String estado) {
this.estado = estado;
}
} }
...@@ -4,59 +4,64 @@ import java.io.Serializable; ...@@ -4,59 +4,64 @@ import java.io.Serializable;
public class UbigeoBean implements Serializable { public class UbigeoBean implements Serializable {
private String codigoDepartamento; private static final long serialVersionUID = 4594333294248399680L;
private String nombreDepartamento;
private String codigoProvincia; private String codigoDepartamento;
private String nombreProvincia; private String nombreDepartamento;
private String codigoDistrito; private String codigoProvincia;
private String nombreDistrito; private String nombreProvincia;
private String codigoDistrito;
public String getCodigoDepartamento() { private String nombreDistrito;
return codigoDepartamento;
} public UbigeoBean() {
}
public void setCodigoDepartamento(String codigoDepartamento) {
this.codigoDepartamento = codigoDepartamento; public String getCodigoDepartamento() {
} return codigoDepartamento;
}
public String getNombreDepartamento() {
return nombreDepartamento; public void setCodigoDepartamento(String codigoDepartamento) {
} this.codigoDepartamento = codigoDepartamento;
}
public void setNombreDepartamento(String nombreDepartamento) {
this.nombreDepartamento = nombreDepartamento; public String getNombreDepartamento() {
} return nombreDepartamento;
}
public String getCodigoProvincia() {
return codigoProvincia; public void setNombreDepartamento(String nombreDepartamento) {
} this.nombreDepartamento = nombreDepartamento;
}
public void setCodigoProvincia(String codigoProvincia) {
this.codigoProvincia = codigoProvincia; public String getCodigoProvincia() {
} return codigoProvincia;
}
public String getNombreProvincia() {
return nombreProvincia; public void setCodigoProvincia(String codigoProvincia) {
} this.codigoProvincia = codigoProvincia;
}
public void setNombreProvincia(String nombreProvincia) {
this.nombreProvincia = nombreProvincia; public String getNombreProvincia() {
} return nombreProvincia;
}
public String getCodigoDistrito() {
return codigoDistrito; public void setNombreProvincia(String nombreProvincia) {
} this.nombreProvincia = nombreProvincia;
}
public void setCodigoDistrito(String codigoDistrito) {
this.codigoDistrito = codigoDistrito; public String getCodigoDistrito() {
} return codigoDistrito;
}
public String getNombreDistrito() {
return nombreDistrito; public void setCodigoDistrito(String codigoDistrito) {
} this.codigoDistrito = codigoDistrito;
}
public void setNombreDistrito(String nombreDistrito) {
this.nombreDistrito = nombreDistrito; public String getNombreDistrito() {
} return nombreDistrito;
}
public void setNombreDistrito(String nombreDistrito) {
this.nombreDistrito = nombreDistrito;
}
} }
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package demojsoncrud.dao; package demojsoncrud.dao;
import demojsoncrud.sqlserverdao.SqlserverDAOFactory; import demojsoncrud.sqlserverdao.SqlserverDAOFactory;
/**
*
* @author Alonso
*/
public abstract class DAOFactory { public abstract class DAOFactory {
public static final int SQL_SERVER = 1; public static final int SQL_SERVER = 1;
public static final int MYSQL = 2; public static final int MYSQL = 2;
public static DAOFactory getDAOFactory(int whichFactory) { public static DAOFactory getDAOFactory(int whichFactory) {
switch (whichFactory) { switch (whichFactory) {
case SQL_SERVER: case SQL_SERVER:
return new SqlserverDAOFactory(); return new SqlserverDAOFactory();
default: default:
return null; return null;
}
} }
}
public abstract PersonaDAO getPersonaDAO(); public abstract PersonaDAO getPersonaDAO();
public abstract UbigeoDAO getUbigeoDAO(); public abstract UbigeoDAO getUbigeoDAO();
} }
package demojsoncrud.dao; package demojsoncrud.dao;
import demojsoncrud.beans.PersonaBean;
import org.json.JSONObject; import org.json.JSONObject;
public interface PersonaDAO { public interface PersonaDAO {
public JSONObject listarPersona(String search, String draw, String start, String length); public JSONObject listarPersona(JSONObject datos);
public JSONObject registrarPersona(JSONObject datos); public JSONObject registrarPersona(JSONObject datos);
......
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package demojsoncrud.dao; package demojsoncrud.dao;
import demojsoncrud.beans.UbigeoBean;
import org.json.JSONObject; import org.json.JSONObject;
/**
*
* @author Alonso
*/
public interface UbigeoDAO { public interface UbigeoDAO {
public JSONObject listarDepartamento(); public JSONObject listarDepartamento();
public JSONObject listarProvincia(JSONObject datos); public JSONObject listarProvincia(JSONObject datos);
public JSONObject listarDistrito(JSONObject datos); public JSONObject listarDistrito(JSONObject datos);
} }
package demojsoncrud.services; package demojsoncrud.services;
import demojsoncrud.beans.PersonaBean;
import demojsoncrud.dao.DAOFactory; import demojsoncrud.dao.DAOFactory;
import demojsoncrud.dao.PersonaDAO; import demojsoncrud.dao.PersonaDAO;
import org.json.JSONObject; import org.json.JSONObject;
public class PersonaService { public class PersonaService {
DAOFactory daoFactory = DAOFactory.getDAOFactory(DAOFactory.SQL_SERVER); DAOFactory daoFactory = DAOFactory.getDAOFactory(DAOFactory.SQL_SERVER);
PersonaDAO service = daoFactory.getPersonaDAO(); PersonaDAO dao = daoFactory.getPersonaDAO();
public JSONObject listarPersona(String search, String draw, String start, String length) { public JSONObject listarPersona(JSONObject datos) {
JSONObject jsonReturn = null; JSONObject jsonReturn = null;
try { try {
jsonReturn = service.listarPersona(search, draw, start, length); jsonReturn = dao.listarPersona(datos);
} catch (Exception e) { } catch (Exception e) {
e.getMessage(); System.out.println("Error PersonaService >> listarPersona >> " + e.getMessage());
}
return jsonReturn;
} }
return jsonReturn;
}
public JSONObject registrarPersona(JSONObject datos) { public JSONObject registrarPersona(JSONObject datos) {
JSONObject jsonReturn = null; JSONObject jsonReturn = null;
try { try {
jsonReturn = service.registrarPersona(datos); jsonReturn = dao.registrarPersona(datos);
} catch (Exception e) { } catch (Exception e) {
e.getMessage(); System.out.println("Error PersonaService >> registrarPersona >> " + e.getMessage());
}
return jsonReturn;
} }
return jsonReturn;
}
public JSONObject editarPersona(JSONObject datos) { public JSONObject editarPersona(JSONObject datos) {
JSONObject jsonReturn = null; JSONObject jsonReturn = null;
try { try {
jsonReturn = service.editarPersona(datos); jsonReturn = dao.editarPersona(datos);
} catch (Exception e) { } catch (Exception e) {
e.getMessage(); System.out.println("Error PersonaService >> editarPersona >> " + e.getMessage());
}
return jsonReturn;
} }
return jsonReturn;
public JSONObject cambiarEstado(JSONObject datos) { }
JSONObject respuesta = null;
try { public JSONObject cambiarEstado(JSONObject datos) {
respuesta = service.cambiarEstado(datos); JSONObject respuesta = null;
} catch (Exception e) { try {
} respuesta = dao.cambiarEstado(datos);
return respuesta; } catch (Exception e) {
System.out.println("Error PersonaService >> cambiarEstado >> " + e.getMessage());
} }
return respuesta;
}
} }
\ No newline at end of file
package demojsoncrud.services; package demojsoncrud.services;
import demojsoncrud.beans.UbigeoBean;
import demojsoncrud.dao.DAOFactory; import demojsoncrud.dao.DAOFactory;
import demojsoncrud.dao.UbigeoDAO; import demojsoncrud.dao.UbigeoDAO;
import org.json.JSONObject; import org.json.JSONObject;
public class UbigeoService { public class UbigeoService {
DAOFactory daoFactory = DAOFactory.getDAOFactory(DAOFactory.SQL_SERVER); DAOFactory daoFactory = DAOFactory.getDAOFactory(DAOFactory.SQL_SERVER);
UbigeoDAO service = daoFactory.getUbigeoDAO(); UbigeoDAO dao = daoFactory.getUbigeoDAO();
public JSONObject listarDepartamento() { public JSONObject listarDepartamento() {
JSONObject jsonReturn = null; JSONObject jsonReturn = null;
try { try {
jsonReturn = service.listarDepartamento(); jsonReturn = dao.listarDepartamento();
} catch (Exception e) { } catch (Exception e) {
} System.out.println("Error UbigeoService >> listarDepartamento >> " + e.getMessage());
return jsonReturn;
} }
return jsonReturn;
}
public JSONObject listarProvincia(JSONObject datos) { public JSONObject listarProvincia(JSONObject datos) {
JSONObject jsonReturn = null; JSONObject jsonReturn = null;
try { try {
jsonReturn = service.listarProvincia(datos); jsonReturn = dao.listarProvincia(datos);
} catch (Exception e) { } catch (Exception e) {
} System.out.println("Error UbigeoService >> listarProvincia >> " + e.getMessage());
return jsonReturn;
} }
return jsonReturn;
}
public JSONObject listarDistrito(JSONObject datos) { public JSONObject listarDistrito(JSONObject datos) {
JSONObject jsonReturn = null; JSONObject jsonReturn = null;
try { try {
jsonReturn = service.listarDistrito(datos); jsonReturn = dao.listarDistrito(datos);
} catch (Exception e) { } catch (Exception e) {
} System.out.println("Error UbigeoService >> listarDistrito >> " + e.getMessage());
return jsonReturn;
} }
return jsonReturn;
}
} }
package demojsoncrud.servlets; package demojsoncrud.servlets;
import demojsoncrud.services.PersonaService; import demojsoncrud.services.PersonaService;
import static demojsoncrud.utilities.CustomHttpServletRequest.getBodyJsonObject;
import java.io.IOException; import java.io.IOException;
import java.io.PrintWriter; import java.io.PrintWriter;
import javax.servlet.ServletException; import javax.servlet.ServletException;
...@@ -12,79 +11,79 @@ import org.json.JSONObject; ...@@ -12,79 +11,79 @@ import org.json.JSONObject;
public class PersonaServlet extends HttpServlet { public class PersonaServlet extends HttpServlet {
@Override @Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String param = request.getParameter("accion"); String param = request.getParameter("accion");
switch (param) { switch (param) {
case "listarPersona": case "listarPersona":
listarPersona(request, response); listarPersona(request, response);
break; break;
case "registrarPersona": case "registrarPersona":
registrarPersona(request, response); registrarPersona(request, response);
break; break;
case "editarPersona": case "editarPersona":
editarPersona(request, response); editarPersona(request, response);
break; break;
case "cambiarEstado": case "cambiarEstado":
cambiarEstado(request, response); cambiarEstado(request, response);
break; break;
default: default:
response.setContentType("application/json");
PrintWriter pw = response.getWriter();
JSONObject respuesta = new JSONObject();
respuesta
.put("status", false)
.put("message", "No existe la url solicitada.")
.put("data", "");
pw.print(respuesta);
break;
}
}
private void listarPersona(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("application/json"); response.setContentType("application/json");
PrintWriter pw = response.getWriter(); PrintWriter pw = response.getWriter();
PersonaService service = new PersonaService(); JSONObject respuesta = new JSONObject();
respuesta
.put("status", false)
.put("message", "No existe la url solicitada.")
.put("data", "");
pw.print(respuesta);
break;
}
}
String draw = request.getParameter("draw"); private void listarPersona(HttpServletRequest request, HttpServletResponse response) throws IOException {
String start = request.getParameter("start"); response.setContentType("application/json");
String length = request.getParameter("length"); PrintWriter pw = response.getWriter();
String search = request.getParameter("search"); PersonaService service = new PersonaService();
JSONObject json = service.listarPersona(search, draw, start, length); String search = request.getParameter("search");
pw.print(json);
}
private void registrarPersona(HttpServletRequest request, HttpServletResponse response) throws IOException { JSONObject datos = new JSONObject();
response.setContentType("application/json"); datos.put("draw", request.getParameter("draw"));
PrintWriter pw = response.getWriter(); datos.put("start", request.getParameter("start"));
PersonaService service = new PersonaService(); datos.put("length", request.getParameter("length"));
JSONObject datos = new JSONObject(); datos.put("search", search);
datos = getBodyJsonObject(request);
JSONObject respuesta = service.registrarPersona(datos.getJSONObject("json"));
pw.print(respuesta);
} JSONObject json = service.listarPersona(datos);
pw.print(json);
}
private void editarPersona(HttpServletRequest request, HttpServletResponse response) throws IOException { private void registrarPersona(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("application/json"); response.setContentType("application/json");
PrintWriter pw = response.getWriter(); PrintWriter pw = response.getWriter();
PersonaService service = new PersonaService(); PersonaService service = new PersonaService();
JSONObject datos = new JSONObject(); JSONObject datos = new JSONObject(request.getParameter("json"));
datos = getBodyJsonObject(request); JSONObject respuesta = service.registrarPersona(datos);
JSONObject respuesta = service.editarPersona(datos.getJSONObject("json")); pw.print(respuesta);
pw.print(respuesta);
}
private void cambiarEstado(HttpServletRequest request, HttpServletResponse response) throws IOException { }
response.setContentType("application/json");
PrintWriter pw = response.getWriter(); private void editarPersona(HttpServletRequest request, HttpServletResponse response) throws IOException {
PersonaService service = new PersonaService(); response.setContentType("application/json");
JSONObject datos = new JSONObject(); PrintWriter pw = response.getWriter();
datos = getBodyJsonObject(request); PersonaService service = new PersonaService();
JSONObject respuesta = service.cambiarEstado(datos.getJSONObject("json")); JSONObject datos = new JSONObject(request.getParameter("json"));
System.out.println(respuesta); JSONObject respuesta = service.editarPersona(datos);
pw.print(respuesta); pw.print(respuesta);
} }
private void cambiarEstado(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("application/json");
PrintWriter pw = response.getWriter();
PersonaService service = new PersonaService();
JSONObject datos = new JSONObject(request.getParameter("json"));
JSONObject respuesta = service.cambiarEstado(datos);
System.out.println(respuesta);
pw.print(respuesta);
}
} }
package demojsoncrud.servlets; package demojsoncrud.servlets;
import demojsoncrud.services.UbigeoService; import demojsoncrud.services.UbigeoService;
import static demojsoncrud.utilities.CustomHttpServletRequest.getBodyJsonObject;
import java.io.IOException; import java.io.IOException;
import java.io.PrintWriter; import java.io.PrintWriter;
import javax.servlet.ServletException; import javax.servlet.ServletException;
...@@ -12,45 +11,59 @@ import org.json.JSONObject; ...@@ -12,45 +11,59 @@ import org.json.JSONObject;
public class UbigeoServlet extends HttpServlet { public class UbigeoServlet extends HttpServlet {
@Override @Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String param = request.getParameter("accion"); String param = request.getParameter("accion");
response.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8");
if ("listarDepartamento".equals(param)) { if (null != param) {
listarDepartamento(request, response); switch (param) {
} else if ("listarProvincia".equals(param)) { case "listarDepartamento":
listarProvincia(request, response); listarDepartamento(request, response);
} else if ("listarDistrito".equals(param)) { break;
listarDistrito(request, response); case "listarProvincia":
} listarProvincia(request, response);
break;
case "listarDistrito":
listarDistrito(request, response);
break;
default:
response.setContentType("application/json");
PrintWriter pw = response.getWriter();
JSONObject respuesta = new JSONObject();
respuesta
.put("status", false)
.put("message", "No existe la url solicitada.")
.put("data", "");
pw.print(respuesta);
break;
}
} }
}
private void listarDepartamento(HttpServletRequest request, HttpServletResponse response) throws IOException { private void listarDepartamento(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("application/json"); response.setContentType("application/json");
PrintWriter pw = response.getWriter(); PrintWriter pw = response.getWriter();
UbigeoService service = new UbigeoService(); UbigeoService service = new UbigeoService();
JSONObject json = service.listarDepartamento(); JSONObject json = service.listarDepartamento();
pw.print(json); pw.print(json);
} }
private void listarProvincia(HttpServletRequest request, HttpServletResponse response) throws IOException { private void listarProvincia(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("application/json"); response.setContentType("application/json");
PrintWriter pw = response.getWriter(); PrintWriter pw = response.getWriter();
UbigeoService service = new UbigeoService(); UbigeoService service = new UbigeoService();
JSONObject datos = new JSONObject(); JSONObject datos = new JSONObject(request.getParameter("json"));
datos = getBodyJsonObject(request); JSONObject respuesta = service.listarProvincia(datos);
JSONObject respuesta = service.listarProvincia(datos.getJSONObject("json")); pw.print(respuesta);
pw.print(respuesta); }
}
private void listarDistrito(HttpServletRequest request, HttpServletResponse response) throws IOException { private void listarDistrito(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("application/json"); response.setContentType("application/json");
PrintWriter pw = response.getWriter(); PrintWriter pw = response.getWriter();
UbigeoService service = new UbigeoService(); UbigeoService service = new UbigeoService();
JSONObject datos = new JSONObject(); JSONObject datos = new JSONObject(request.getParameter("json"));
datos = getBodyJsonObject(request); JSONObject respuesta = service.listarDistrito(datos);
JSONObject respuesta = service.listarDistrito(datos.getJSONObject("json")); pw.print(respuesta);
pw.print(respuesta); }
}
} }
package demojsoncrud.utilities;
import java.io.BufferedReader;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import org.json.JSONObject;
public class CustomHttpServletRequest {
public static JSONObject getBodyJsonObject(HttpServletRequest request) throws IOException {
String body = "";
if (request.getMethod().equals("POST")) {
StringBuilder sb = new StringBuilder();
BufferedReader bufferedReader = null;
bufferedReader = request.getReader(); // swallow silently -- can't get body, won't
char[] charBuffer = new char[128];
int bytesRead;
while ((bytesRead = bufferedReader.read(charBuffer)) != -1) {
sb.append(charBuffer, 0, bytesRead);
}
if (bufferedReader != null) {
bufferedReader.close(); // swallow silently -- can't get body, won't
}
body = sb.toString();
}
JSONObject respuesta = new JSONObject(body);
return respuesta;
}
}
...@@ -5,36 +5,41 @@ import org.json.JSONObject; ...@@ -5,36 +5,41 @@ import org.json.JSONObject;
public class ResponseHelper implements Serializable { public class ResponseHelper implements Serializable {
private JSONObject data; private JSONObject data;
private boolean status; private boolean status;
private String message; private String message;
public ResponseHelper() { public ResponseHelper() {
}
}
public ResponseHelper(JSONObject data, boolean status, String message) {
public JSONObject getData() { this.data = data;
return data; this.status = status;
} this.message = message;
}
public boolean isStatus() {
return status; public JSONObject getData() {
} return data;
}
public String getMessage() {
return message; public boolean isStatus() {
} return status;
}
public void setData(JSONObject data) {
this.data = data; public String getMessage() {
} return message;
}
public void setStatus(boolean status) {
this.status = status; public void setData(JSONObject data) {
} this.data = data;
}
public void setMessage(String message) {
this.message = message; public void setStatus(boolean status) {
} this.status = status;
}
public void setMessage(String message) {
this.message = message;
}
} }
/** /**
* Facilita el uso de fetch
* @method fetchSo
* @param {String} url nombre de objeto
* @param {object} object mensaje a mostrar
* @returns {Promise} Promise retorna status, msg
*/
let fetchSo = (url, object) => {
return new Promise(
(resolve, reject) => {
let header = {
'Accept': 'application/json, text/plain, */*',
'Content-Type': 'application/json; charset=utf-8'
}
let requestInfo = {
method: 'post',
headers: header,
body: JSON.stringify({json: object})
}
fetch(url, requestInfo)
.then((res) => {
return res.json()
})
.then((res) => {
if (res.status) {
resolve(res)
} else {
reject(res)
}
})
.catch((error) => {
reject(error)
})
}
)
}
/**
* Crea los elementos option del array que se pase como parametro * Crea los elementos option del array que se pase como parametro
* @method createSelectOptions * @method createSelectOptions
* @param {JSONArray} obj array de objetos * @param {JSONArray} obj array de objetos
...@@ -44,32 +7,32 @@ let fetchSo = (url, object) => { ...@@ -44,32 +7,32 @@ let fetchSo = (url, object) => {
* @returns {Promise} Promise retorna status, msg * @returns {Promise} Promise retorna status, msg
*/ */
let createSelectOptions = (obj, valueName, textName) => { let createSelectOptions = (obj, valueName, textName) => {
let options = '' let options = ''
obj.forEach((data) => { obj.forEach((data) => {
options += `<option value="${data[valueName]}">${data[textName]}</option>` options += `<option value="${data[valueName]}">${data[textName]}</option>`
}) })
return options return options
} }
let customSwal = { let customSwal = {
alert (title, text, type) { alert(title, text, type) {
let colors = { let colors = {
success: '#66BB6A', success: '#66BB6A',
error: '#EF5350', error: '#EF5350',
warning: '#FF7043' warning: '#FF7043'
}
let btnColor = colors[type]
return new Promise((resolve, reject) => {
swal({
title: title,
text: text,
confirmButtonColor: btnColor,
type: type
}, (isConfirm) => {
resolve()
})
})
} }
let btnColor = colors[type]
return new Promise((resolve, reject) => {
swal({
title: title,
text: text,
confirmButtonColor: btnColor,
type: type
}, (isConfirm) => {
resolve()
})
})
}
} }
/** /**
...@@ -81,46 +44,26 @@ let customSwal = { ...@@ -81,46 +44,26 @@ let customSwal = {
*/ */
let getClosest = (elem, selector) => { let getClosest = (elem, selector) => {
// Element.matches() polyfill // Element.matches() polyfill
if (!Element.prototype.matches) { if (!Element.prototype.matches) {
Element.prototype.matches = Element.prototype.matches =
Element.prototype.matchesSelector || Element.prototype.matchesSelector ||
Element.prototype.mozMatchesSelector || Element.prototype.mozMatchesSelector ||
Element.prototype.msMatchesSelector || Element.prototype.msMatchesSelector ||
Element.prototype.oMatchesSelector || Element.prototype.oMatchesSelector ||
Element.prototype.webkitMatchesSelector || Element.prototype.webkitMatchesSelector ||
function (s) { function (s) {
var matches = (this.document || this.ownerDocument).querySelectorAll(s), var matches = (this.document || this.ownerDocument).querySelectorAll(s),
i = matches.length i = matches.length
while (--i >= 0 && matches.item(i) !== this) {} while (--i >= 0 && matches.item(i) !== this) {
return i > -1 }
} return i > -1
} }
// Get closest match }
for (; elem && elem !== document; elem = elem.parentNode) { // Get closest match
if (elem.matches(selector)) return elem for (; elem && elem !== document; elem = elem.parentNode) {
} if (elem.matches(selector))
return null return elem
}
return null
} }
// function imprimirAlerta (title, text, type) {
// var s_col =
// var e_col = '#EF5350'
// var w_col = '#FF7043'
// var btnCol
//
// if (type === 'error') {
// btnCol = e_col
// } else if (type === 'warning') {
// btnCol = w_col
// } else {
// btnCol = s_col
// }
//
// swal({
// title: title,
// text: text,
// confirmButtonColor: btnCol,
// type: type
// })
//
// }
\ No newline at end of file
let ubigeo = { let ubigeo = {
consultarDepartamento () { consultarDepartamento() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
fetchSo('../UbigeoServlet?accion=listarDepartamento') $.ajax({
.then((data) => { url: '../UbigeoServlet',
resolve(data) dataType: 'json',
}) type: 'POST',
.catch((data) => { data: {
reject(data) accion: 'listarDepartamento'
}) }, beforeSend: function (xhr) {
})
}, }, success: function (data, textStatus, jqXHR) {
consultarProvincia (codigoDepartamento) { resolve(data)
let json = { }, error: function (jqXHR, textStatus, errorThrown) {
codigoDepartamento: codigoDepartamento reject("Error al listar departamentos")
} }
return new Promise((resolve, reject) => { })
fetchSo('../UbigeoServlet?accion=listarProvincia', json) })
.then((data) => { },
resolve(data) consultarProvincia(codigoDepartamento) {
}) let json = {
.catch((data) => { codigoDepartamento: codigoDepartamento
reject(data) }
}) return new Promise((resolve, reject) => {
}) $.ajax({
}, url: '../UbigeoServlet',
consultarDistrito (codigoDepartamento, codigoProvincia) { dataType: 'json',
let json = { type: 'POST',
codigoProvincia: codigoProvincia, data: {
codigoDepartamento: codigoDepartamento accion: 'listarProvincia',
json: JSON.stringify(json)
}, beforeSend: function (xhr) {
}, success: function (data, textStatus, jqXHR) {
resolve(data)
}, error: function (jqXHR, textStatus, errorThrown) {
reject("Error al listar provincias")
} }
return new Promise((resolve, reject) => { })
fetchSo('../UbigeoServlet?accion=listarDistrito', json) })
.then((data) => { },
resolve(data) consultarDistrito(codigoDepartamento, codigoProvincia) {
}) let json = {
.catch((data) => { codigoProvincia: codigoProvincia,
reject(data) codigoDepartamento: codigoDepartamento
})
})
} }
return new Promise((resolve, reject) => {
$.ajax({
url: '../UbigeoServlet',
dataType: 'json',
type: 'POST',
data: {
accion: 'listarDistrito',
json: JSON.stringify(json)
}, beforeSend: function (xhr) {
}, success: function (data, textStatus, jqXHR) {
resolve(data)
}, error: function (jqXHR, textStatus, errorThrown) {
reject("Error al listar distritos")
}
})
})
}
} }
let asignarEventos = () => { let asignarEventos = () => {
let slDepartamento = document.querySelector('#select_departamento') let slDepartamento = document.querySelector('#select_departamento')
let slProvincia = document.querySelector('#select_provincia') let slProvincia = document.querySelector('#select_provincia')
let slDistrito = document.querySelector('#select_distrito') let slDistrito = document.querySelector('#select_distrito')
slDepartamento.addEventListener('change', (e) => { slDepartamento.addEventListener('change', (e) => {
let codigoDepartamento = parseInt(e.target.value) let codigoDepartamento = parseInt(e.target.value)
ubigeo.consultarProvincia(codigoDepartamento) ubigeo.consultarProvincia(codigoDepartamento)
.then((data) => { .then((data) => {
let opt = '<option value="0">[ SELECCIONE ]</option>' let opt = '<option value="0">[ SELECCIONE ]</option>'
opt += createSelectOptions(data.data.provincias, 'codigoProvincia', 'nombreProvincia') opt += createSelectOptions(data.data.provincias, 'codigoProvincia', 'nombreProvincia')
slProvincia.innerHTML = opt slProvincia.innerHTML = opt
}) })
.then(() => { .then(() => {
$('#select_provincia').selectpicker('refresh') slDistrito.innerHTML = '<option value="0">[ SELECCIONE ]</option>'
}) $('#select_distrito').selectpicker('refresh')
})
slProvincia.addEventListener('change', (e) => {
let codigoDepartamento = parseInt(slDepartamento.value)
let codigoProvincia = parseInt(e.target.value)
ubigeo.consultarDistrito(codigoDepartamento, codigoProvincia)
.then((data) => {
let opt = '<option value="0">[ SELECCIONE ]</option>'
opt += createSelectOptions(data.data.distritos, 'codigoDistrito', 'nombreDistrito')
slDistrito.innerHTML = opt
})
.then(() => {
$('#select_distrito').selectpicker('refresh')
})
})
slDepartamento.addEventListener('change', (e) => {
let departamento = parseInt(e.target.value)
if (departamento === 0) {
slProvincia.innerHTML = '<option value="0">[ SELECCIONE ]</option>'
slDistrito.innerHTML = '<option value="0">[ SELECCIONE ]</option>'
} else {
slProvincia.value = 0
slDistrito.value = 0
}
$('#select_provincia').selectpicker('refresh') $('#select_provincia').selectpicker('refresh')
})
})
slProvincia.addEventListener('change', (e) => {
let codigoDepartamento = parseInt(slDepartamento.value)
let codigoProvincia = parseInt(e.target.value)
ubigeo.consultarDistrito(codigoDepartamento, codigoProvincia)
.then((data) => {
let opt = '<option value="0">[ SELECCIONE ]</option>'
opt += createSelectOptions(data.data.distritos, 'codigoDistrito', 'nombreDistrito')
slDistrito.innerHTML = opt
})
.then(() => {
$('#select_distrito').selectpicker('refresh') $('#select_distrito').selectpicker('refresh')
}) })
})
slDepartamento.addEventListener('change', (e) => {
let departamento = parseInt(e.target.value)
if (departamento === 0) {
slProvincia.innerHTML = '<option value="0">[ SELECCIONE ]</option>'
slDistrito.innerHTML = '<option value="0">[ SELECCIONE ]</option>'
} else {
slProvincia.value = 0
slDistrito.value = 0
}
$('#select_provincia').selectpicker('refresh')
$('#select_distrito').selectpicker('refresh')
})
} }
ubigeo ubigeo
.consultarDepartamento() .consultarDepartamento()
.then((data) => { .then((data) => {
let element = document.querySelector('#select_departamento') let element = document.querySelector('#select_departamento')
let opt = '<option value="0">[ SELECCIONE ]</option>' let opt = '<option value="0">[ SELECCIONE ]</option>'
opt += createSelectOptions(data.data.departamentos, 'codigoDepartamento', 'nombreDepartamento') opt += createSelectOptions(data.data.departamentos, 'codigoDepartamento', 'nombreDepartamento')
element.innerHTML = opt element.innerHTML = opt
}) })
.then(() => { .then(() => {
$('#select_departamento').selectpicker('refresh') $('#select_departamento').selectpicker('refresh')
}) })
asignarEventos() asignarEventos()
\ No newline at end of file
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