[ADD] mysqldao

parent db87f819
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.json.JSONObject;
import trismegistoplanilla.beans.AreaBean;
import trismegistoplanilla.beans.CargoBean;
import trismegistoplanilla.dao.AreaCargoDAO;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class AreaCargoMysqlDAO implements AreaCargoDAO {
@Override
public JSONObject obtenerAreaCargo(AreaBean a, CargoBean c) {
System.out.println("AreaCargoSqlserverDAO: obtenerAreaCargo");
JSONObject JOObtenerAreaCargo = null;
ResponseHelper response = new ResponseHelper();
String sql = ""
+ "select "
+ "codigo_area_cargo codigoAreaCargo "
+ "from area_cargo "
+ "where codigo_area = ? and codigo_cargo = ? and estado_registro = 1";
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = conexion.prepareStatement(sql);
ps.setInt(1, a.getCodigoArea());
ps.setInt(2, c.getCodigoCargo());
rs = ps.executeQuery();
rs.next();
int codigoAreaCargo = rs.getInt("codigoAreaCargo");
if (codigoAreaCargo > 0) {
JSONObject objAreaCargo = new JSONObject();
objAreaCargo.put("getResultedKey", codigoAreaCargo);
response.setStatus(true);
response.setMessage("Se encontró el código");
response.setData(objAreaCargo);
} else {
response.setStatus(false);
response.setMessage("Error! no se ha podido encontrar el código area cargo");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
JOObtenerAreaCargo = new JSONObject(response);
return JOObtenerAreaCargo;
}
@Override
public JSONObject asignarAreaCargo(JSONObject datos) {
System.out.println("AreaCargoSqlserverDAO: asignarAreaCargo");
JSONObject jObject = null;
ResponseHelper response = new ResponseHelper();
Connection cnx = null;
PreparedStatement ps = null;
ResultSet rs = null;
String sql = "";
int resultado = 0;
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = cnx.prepareStatement(sql);
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jObject = new JSONObject(response);
return jObject;
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.json.JSONObject;
import trismegistoplanilla.beans.AreaCargoTipoPagoBean;
import trismegistoplanilla.dao.AreaCargoTipoPagoDAO;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class AreaCargoTipoPagoMysqlDAO implements AreaCargoTipoPagoDAO {
@Override
public JSONObject obtenerAreaCargoTipoPago(AreaCargoTipoPagoBean actp) {
System.out.println("AreaCargoTipoPagoSqlserverDAO: obtenerAreaCargoTipoPago");
JSONObject JOObtenerAreaCargoTipoPago = null;
ResponseHelper response = new ResponseHelper();
String sql = ""
+ "select "
+ "codigo_area_cargo_tipo_pago codigoAreaCargoTipoPago "
+ "from area_cargo_tipo_pago "
+ "where codigo_area_cargo = ? and codigo_tipo_pago = ? and estado_registro = 1";
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = conexion.prepareStatement(sql);
ps.setInt(1, actp.getCodigoAreaCargo());
ps.setInt(2, actp.getCodigoTipoPago());
rs = ps.executeQuery();
rs.next();
int codigoAreaCargoTipoPago = rs.getInt("codigoAreaCargoTipoPago");
if (codigoAreaCargoTipoPago > 0) {
JSONObject objAreaCargo = new JSONObject();
objAreaCargo.put("getResultedKey", codigoAreaCargoTipoPago);
response.setStatus(true);
response.setMessage("Se encontró el código");
response.setData(objAreaCargo);
} else {
response.setStatus(false);
response.setMessage("Error! no se ha podido encontrar el código area cargo");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
JOObtenerAreaCargoTipoPago = new JSONObject(response);
return JOObtenerAreaCargoTipoPago;
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.json.JSONArray;
import org.json.JSONObject;
import trismegistoplanilla.beans.AreaBean;
import trismegistoplanilla.beans.SedeBean;
import trismegistoplanilla.dao.AreaDAO;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class AreaMysqlDAO implements AreaDAO {
@Override
public JSONObject listarArea(SedeBean s) {
System.out.println("AreaSqlserverDAO: listarArea");
JSONObject JObjectArea = null;
JSONArray JArrayArea = new JSONArray();
ResponseHelper response = new ResponseHelper();
String sql = ""
+ "SELECT "
+ " sede_area.codigo_area codigoArea, "
+ " area.nombre nombre "
+ "FROM "
+ " sede_area "
+ "INNER JOIN dbo.area ON dbo.area.codigo_area = dbo.sede_area.codigo_area "
+ "WHERE "
+ " sede_area.estado_registro = 1 "
+ "AND area.estado_registro = 1 "
+ "AND sede_area.codigo_sede = ? "
+ "GROUP BY "
+ " sede_area.codigo_area, "
+ " area.nombre";
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = conexion.prepareStatement(sql);
ps.setInt(1, s.getCodigoSede());
rs = ps.executeQuery();
while (rs.next()) {
AreaBean a = new AreaBean();
a.setCodigoArea(rs.getInt("codigoArea"));
a.setNombre(rs.getString("nombre"));
JSONObject objArea = new JSONObject(a);
JArrayArea.put(objArea);
}
JSONObject objArea = new JSONObject();
objArea.put("areas", JArrayArea);
response.setStatus(true);
response.setMessage("Las áreas se listaron correctamente");
response.setData(objArea);
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
JObjectArea = new JSONObject(response);
return JObjectArea;
}
@Override
public JSONObject validarExistenciaArea(SedeBean s, AreaBean a) {
System.out.println("AreaSqlserverDAO: validarExistenciaArea");
JSONObject JObjectValidarExistenciaArea = null;
ResponseHelper response = new ResponseHelper();
String sql = ""
+ "select "
+ "count(1) existeArea "
+ "from sede_area "
+ "where sede_area.estado_registro = 1 and sede_area.codigo_sede = ? and sede_area.codigo_area = ?";
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = conexion.prepareStatement(sql);
ps.setInt(1, s.getCodigoSede());
ps.setInt(2, a.getCodigoArea());
rs = ps.executeQuery();
rs.next();
int existeArea = 0;
existeArea = rs.getInt("existeArea");
if (existeArea > 0) {
response.setStatus(true);
response.setMessage("La área seleccionada existe");
} else {
response.setStatus(false);
response.setMessage("Error! La área seleccionada no existe");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
JObjectValidarExistenciaArea = new JSONObject(response);
return JObjectValidarExistenciaArea;
}
@Override
public JSONObject registrar(JSONObject datos) {
System.out.println("AreaSqlserverDAO: registrar");
JSONObject jObject = null;
ResponseHelper response = new ResponseHelper();
Connection cnx = null;
PreparedStatement ps = null;
ResultSet rs = null;
String sql = "insert into area (nombre, estado_registro) values (?, 1)";
int resultado;
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
cnx.setAutoCommit(false);
ps = cnx.prepareStatement(sql);
ps.setString(1, datos.getString("area"));
resultado = ps.executeUpdate();
if (resultado == 1) {
cnx.commit();
response.setStatus(true);
response.setMessage("Se registro el área correctamente!");
} else {
cnx.rollback();
response.setStatus(false);
response.setMessage("No se puedo registrar el área");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jObject = new JSONObject(response);
return jObject;
}
@Override
public JSONObject editar(JSONObject datos) {
System.out.println("AreaSqlserverDAO: editar");
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public JSONObject estado(JSONObject datos) {
System.out.println("AreaSqlserverDAO: estado");
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public JSONObject validarNombreAdd(JSONObject datos) {
System.out.println("AreaSqlserverDAO: validarNombreAdd");
JSONObject jObject;
ResponseHelper response = new ResponseHelper();
Connection cnx = null;
PreparedStatement ps = null;
ResultSet rs = null;
String sql = "select count(1) cantidad "
+ "FROM area "
+ "where area.nombre = ?";
int resultado;
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = cnx.prepareStatement(sql);
ps.setString(1, datos.getString("area"));
rs = ps.executeQuery();
if (rs.next()) {
resultado = rs.getInt("cantidad");
if (resultado == 1) {
response.setStatus(false);
response.setMessage("Ya existe un área con ese nombre");
} else {
response.setStatus(true);
response.setMessage("Puede proceder a registrar el área");
}
} else {
response.setStatus(false);
response.setMessage("No se pudo encontrar el área");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jObject = new JSONObject(response);
return jObject;
}
@Override
public JSONObject validarNombreEdit(JSONObject datos) {
System.out.println("AreaSqlserverDAO: validarNombreEdit");
JSONObject jObject;
ResponseHelper response = new ResponseHelper();
Connection cnx = null;
PreparedStatement ps = null;
ResultSet rs = null;
String sql = "select count(1) "
+ "FROM area "
+ "where area.nombre = ? "
+ "and area.codigo_area not in (?)";
int resultado;
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = cnx.prepareStatement(sql);
ps.setString(1, datos.getString("area"));
ps.setInt(2, datos.getInt("codigoArea"));
rs = ps.executeQuery();
if (rs.next()) {
resultado = rs.getInt("cantidad");
if (resultado == 1) {
response.setStatus(false);
response.setMessage("Ya existe un área con ese nombre");
} else {
response.setStatus(true);
response.setMessage("Puede proceder a actualizar el área");
}
} else {
response.setStatus(false);
response.setMessage("No se pudo encontrar el área");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jObject = new JSONObject(response);
return jObject;
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.json.JSONArray;
import org.json.JSONObject;
import trismegistoplanilla.beans.CargaFamiliarBean;
import trismegistoplanilla.beans.PersonaBean;
import trismegistoplanilla.dao.CargaFamiliarDAO;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class CargaFamiliarMysqlDAO implements CargaFamiliarDAO {
@Override
public JSONObject validarExistenciaNumeroDocumento(CargaFamiliarBean cargaFamiliar) {
System.out.println("CargaFamiliarSqlserverDAO: validarExistenciaNumeroDocumento");
JSONObject jsonValidarExistenciaNumeroDocumento = null;
Connection connection = null;
PreparedStatement ps = null;
ResultSet rs = null;
ResponseHelper response = new ResponseHelper();
int existeNumeroDocumentoFamiliar = 0;
try {
connection = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
String sql
= "select count(1) existeNumeroDocumentoFamiliar "
+ "from carga_familiar "
+ "where numero_documento = ? and estado_registro = 1";
ps = connection.prepareStatement(sql);
ps.setString(1, cargaFamiliar.getNumeroDocumento());
rs = ps.executeQuery();
rs.next();
existeNumeroDocumentoFamiliar = rs.getInt("existeNumeroDocumentoFamiliar");
if (existeNumeroDocumentoFamiliar > 0) {
response.setStatus(false);
response.setMessage("Error, el número de documento que acaba de ingresar, ya se encuentra registrado en el sistema.");
} else if (existeNumeroDocumentoFamiliar == 0) {
response.setStatus(true);
response.setMessage("El número de documento puede ser registrado.");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonValidarExistenciaNumeroDocumento = new JSONObject(response);
return jsonValidarExistenciaNumeroDocumento;
}
@Override
public JSONObject obtenerCargaFamiliarPorPersona(PersonaBean persona) {
System.out.println("CargaFamiliarSqlserverDAO: obtenerCargaFamiliarPorPersona");
JSONObject jsonObjObtenerCargaFamiliarPorPersona = null;
JSONArray jsonArrayObtenerCargaFamiliarPorPersona = new JSONArray();
ResponseHelper response = new ResponseHelper();
PreparedStatement ps = null;
ResultSet rs = null;
Connection cnx = null;
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
String sql
= "SELECT "
+ "cargafamiliar.apellido_paterno apellidoPaterno , "
+ "cargafamiliar.apellido_materno apellidoMaterno , "
+ "cargafamiliar.nombre nombre, "
+ "parentesco.nombre parentesco, "
+ "Format(cargafamiliar.fecha_nacimiento, 'dd/MM/yyyy') fechaNacimiento , "
+ "(cast(datediff(dd,cargafamiliar.fecha_nacimiento,getdate()) / 365.25 as int)) edad, "
+ "tipodocumento.descripcion_larga tipoDocumentoDescripcionLarga, "
+ "tipodocumento.descripcion_corta tipoDocumentoDescripcionCorta, "
+ "cargafamiliar.numero_documento numeroDocumento , "
+ "cargafamiliar.sexo sexo, "
+ "Isnull(cargafamiliar.telefono, '-') telefono "
+ "FROM carga_familiar cargafamiliar "
+ "INNER JOIN parentesco parentesco ON parentesco.codigo_parentesco = cargafamiliar.codigo_parentesco "
+ "INNER JOIN tipo_documento tipodocumento ON tipodocumento.codigo_tipo_documento = cargafamiliar.codigo_tipo_documento "
+ "WHERE cargafamiliar.codigo_persona = ?";
ps = cnx.prepareStatement(sql);
ps.setInt(1, persona.getCodigoPersona());
rs = ps.executeQuery();
while (rs.next()) {
CargaFamiliarBean cargaFamiliar = new CargaFamiliarBean();
cargaFamiliar.setApellidoPaterno(rs.getString("apellidoPaterno"));
cargaFamiliar.setApellidoMaterno(rs.getString("apellidoMaterno"));
cargaFamiliar.setNombre(rs.getString("nombre"));
cargaFamiliar.setNombreParentesco(rs.getString("parentesco"));
cargaFamiliar.setFechaNacimiento(rs.getString("fechaNacimiento"));
cargaFamiliar.setEdad(rs.getString("edad"));
cargaFamiliar.setNombreTipoDocumentoDescripcionLarga(rs.getString("tipoDocumentoDescripcionLarga"));
cargaFamiliar.setNombreTipoDocumentoDescripcionCorta(rs.getString("tipoDocumentoDescripcionCorta"));
cargaFamiliar.setNumeroDocumento(rs.getString("numeroDocumento"));
cargaFamiliar.setSexo(rs.getString("sexo"));
cargaFamiliar.setTelefono(rs.getString("telefono"));
JSONObject jsonObjCargaFamiliar = new JSONObject(cargaFamiliar);
jsonArrayObtenerCargaFamiliarPorPersona.put(jsonObjCargaFamiliar);
}
JSONObject jsonObjCargaFamiliar = new JSONObject();
jsonObjCargaFamiliar.put("cargafamiliar", jsonArrayObtenerCargaFamiliarPorPersona);
response.setStatus(true);
response.setMessage("Se ha listado la carga familiar correctamente");
response.setData(jsonObjCargaFamiliar);
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonObjObtenerCargaFamiliarPorPersona = new JSONObject(response);
return jsonObjObtenerCargaFamiliarPorPersona;
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.json.JSONArray;
import org.json.JSONObject;
import trismegistoplanilla.beans.AreaBean;
import trismegistoplanilla.beans.CargoBean;
import trismegistoplanilla.dao.CargoDAO;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class CargoMysqlDAO implements CargoDAO {
@Override
public JSONObject listarCargo(AreaBean a) {
System.out.println("CargoSqlserverDAO: listarCargo");
JSONObject JOListarCargo = null;
JSONArray JArrayCargo = new JSONArray();
ResponseHelper response = new ResponseHelper();
String sql = ""
+ "select "
+ "area_cargo.codigo_cargo codigoCargo, "
+ "cargo.nombre "
+ "from area_cargo "
+ "inner join dbo.cargo ON dbo.cargo.codigo_cargo = dbo.area_cargo.codigo_cargo "
+ "where area_cargo.estado_registro = 1 and area_cargo.codigo_area = ?";
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = conexion.prepareStatement(sql);
ps.setInt(1, a.getCodigoArea());
rs = ps.executeQuery();
while (rs.next()) {
CargoBean c = new CargoBean();
c.setCodigoCargo(rs.getInt("codigoCargo"));
c.setNombre(rs.getString("nombre"));
JSONObject objCargo = new JSONObject(c);
JArrayCargo.put(objCargo);
}
JSONObject objCargo = new JSONObject();
objCargo.put("cargos", JArrayCargo);
response.setStatus(true);
response.setMessage("Los cargos se listaron correctamente");
response.setData(objCargo);
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
JOListarCargo = new JSONObject(response);
return JOListarCargo;
}
@Override
public JSONObject validarExistenciaCargo(AreaBean a, CargoBean c) {
System.out.println("CargoSqlserverDAO: validarExistenciaCargo");
JSONObject JOValidarExistenciaCargo = null;
ResponseHelper response = new ResponseHelper();
String sql = ""
+ "select "
+ "count(1) existeCargo "
+ "from area_cargo "
+ "where area_cargo.estado_registro = 1 and area_cargo.codigo_area = ? and area_cargo.codigo_cargo = ?";
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = conexion.prepareStatement(sql);
ps.setInt(1, a.getCodigoArea());
ps.setInt(2, c.getCodigoCargo());
rs = ps.executeQuery();
rs.next();
int existeCargo = 0;
existeCargo = rs.getInt("existeCargo");
if (existeCargo > 0) {
response.setStatus(true);
response.setMessage("El cargo seleccionada existe");
} else {
response.setStatus(false);
response.setMessage("Error! El cargo seleccionada no existe");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
JOValidarExistenciaCargo = new JSONObject(response);
return JOValidarExistenciaCargo;
}
@Override
public JSONObject registrar(JSONObject datos) {
System.out.println("CargoSqlserverDAO: registrar");
JSONObject jObject = null;
ResponseHelper response = new ResponseHelper();
Connection cnx = null;
PreparedStatement ps = null;
ResultSet rs = null;
String sql = "insert into cargo (nombre, estado_registro) values (?, 1)";
int resultado;
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
cnx.setAutoCommit(false);
ps = cnx.prepareStatement(sql);
ps.setString(1, datos.getString("cargo"));
resultado = ps.executeUpdate();
if (resultado == 1) {
cnx.commit();
response.setStatus(true);
response.setMessage("Se registró el cargo correctamente!");
} else {
cnx.rollback();
response.setStatus(false);
response.setMessage("No se pudo registrar el cargo.");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jObject = new JSONObject(response);
return jObject;
}
@Override
public JSONObject editar(JSONObject datos) {
System.out.println("CargoSqlserverDAO: editar");
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public JSONObject estado(JSONObject datos) {
System.out.println("CargoSqlserverDAO: estado");
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public JSONObject validarNombreAdd(JSONObject datos) {
System.out.println("CargoSqlserverDAO: validarNombreAdd");
JSONObject jObject;
ResponseHelper response = new ResponseHelper();
Connection cnx = null;
PreparedStatement ps = null;
ResultSet rs = null;
String sql = "select count(1) cantidad "
+ "FROM cargo "
+ "where cargo.nombre = ?";
int resultado;
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = cnx.prepareStatement(sql);
ps.setString(1, datos.getString("cargo"));
rs = ps.executeQuery();
if (rs.next()) {
resultado = rs.getInt("cantidad");
if (resultado == 1) {
response.setStatus(false);
response.setMessage("Ya existe un cargo con ese nombre");
} else {
response.setStatus(true);
response.setMessage("Puede proceder a registrar el cargo");
}
} else {
response.setStatus(false);
response.setMessage("No se pudo encontrar el cargo");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jObject = new JSONObject(response);
return jObject;
}
@Override
public JSONObject validarNombreEdit(JSONObject datos) {
System.out.println("CargoSqlserverDAO: validarNombreEdit");
JSONObject jObject;
ResponseHelper response = new ResponseHelper();
Connection cnx = null;
PreparedStatement ps = null;
ResultSet rs = null;
String sql = "select count(1) "
+ "FROM area "
+ "where cargo.nombre = ? "
+ "and cargo.codigo_cargo not in (?)";
int resultado;
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = cnx.prepareStatement(sql);
ps.setString(1, datos.getString("cargo"));
ps.setInt(2, datos.getInt("codigoCargo"));
rs = ps.executeQuery();
if (rs.next()) {
resultado = rs.getInt("cantidad");
if (resultado == 1) {
response.setStatus(false);
response.setMessage("Ya existe un cargo con ese nombre");
} else {
response.setStatus(true);
response.setMessage("Puede proceder a actualizar el cargo");
}
} else {
response.setStatus(false);
response.setMessage("No se pudo encontrar el cargo");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jObject = new JSONObject(response);
return jObject;
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.json.JSONArray;
import org.json.JSONObject;
import trismegistoplanilla.beans.CarreraProfesionalBean;
import trismegistoplanilla.dao.CarreraProfesionalDAO;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class CarreraProfesionalMysqlDAO implements CarreraProfesionalDAO {
@Override
public JSONObject listarCarreraProfesional(String carrera) {
System.out.println("CarreraProfesionalSqlserverDAO: listarCarreraProfesional");
JSONObject jsonListarCarreraProfesional = new JSONObject();
JSONArray jsonArrayListarCarreraProfesional = new JSONArray();
PreparedStatement ps = null, psCount = null;
ResultSet rs = null, rsCount = null;
Connection connection = null;
int total_count = 0;
try {
connection = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
String sql
= "select "
+ "codigo_carrera_profesional codigoCarreraProfesional, "
+ "nombre nombre, "
+ "estado_registro estadoRegistro "
+ "FROM carrera_profesional "
+ "where estado_registro = 1 and codigo_carrera_profesional != 404 and nombre like ?";
ps = connection.prepareStatement(sql);
ps.setString(1, carrera + "%");
rs = ps.executeQuery();
while (rs.next()) {
CarreraProfesionalBean carreraProfesional = new CarreraProfesionalBean();
carreraProfesional.setId(rs.getInt("codigoCarreraProfesional"));
carreraProfesional.setCodigoCarreraProfesional(rs.getInt("codigoCarreraProfesional"));
carreraProfesional.setNombre(rs.getString("nombre"));
carreraProfesional.setEstado_registro(rs.getInt("estadoRegistro"));
JSONObject jsonObjCarreraProfesional = new JSONObject(carreraProfesional);
jsonArrayListarCarreraProfesional.put(jsonObjCarreraProfesional);
}
// count result search
String sqlCount = ""
+ "select "
+ "count(1) total_count "
+ "from carrera_profesional "
+ "where estado_registro = 1 and nombre like ?";
psCount = connection.prepareStatement(sqlCount);
psCount.setString(1, carrera + "%");
rsCount = psCount.executeQuery();
rsCount.next();
total_count = rsCount.getInt("total_count");
} catch (SQLException e) {
e.printStackTrace();
jsonListarCarreraProfesional.put("status", false);
jsonListarCarreraProfesional.put("message", "Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (rsCount != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (psCount != null) {
psCount.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonListarCarreraProfesional.put("total_count", total_count);
jsonListarCarreraProfesional.put("incomplete_results", false);
jsonListarCarreraProfesional.put("items", jsonArrayListarCarreraProfesional);
return jsonListarCarreraProfesional;
}
@Override
public JSONObject validarExistenciaCarreraProfesional(CarreraProfesionalBean carreraProfesional) {
System.out.println("CarreraProfesionalSqlserverDAO: validarExistenciaCarreraProfesional");
JSONObject jsonValidarExistenciaCarreraProfesional = null;
ResponseHelper response = new ResponseHelper();
int existeCarreraProfesional = 0;
Connection connection = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
connection = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
String sql
= "select "
+ "count(1) as existeCarreraProfesional "
+ "from carrera_profesional "
+ "where codigo_carrera_profesional = ? and estado_registro = 1";
ps = connection.prepareStatement(sql);
ps.setInt(1, carreraProfesional.getCodigoCarreraProfesional());
rs = ps.executeQuery();
rs.next();
existeCarreraProfesional = rs.getInt("existeCarreraProfesional");
if (existeCarreraProfesional > 0) {
response.setStatus(true);
response.setMessage("La carrera profesional seleccionada existe.");
} else {
response.setStatus(false);
response.setMessage("La carrera profesional seleccionada no existe.");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonValidarExistenciaCarreraProfesional = new JSONObject(response);
return jsonValidarExistenciaCarreraProfesional;
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.json.JSONObject;
import trismegistoplanilla.dao.ConfiguracionFichaDAO;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class ConfiguracionFichaMysqlDAO implements ConfiguracionFichaDAO {
@Override
public JSONObject getDefaultMail() {
System.out.println("ConfiguracionFichaSqlserverDAO: getDefaultMail");
JSONObject JOmail = null;
ResponseHelper response = new ResponseHelper();
String sql = ""
+ "select "
+ "correo "
+ "from configuracion_ficha "
+ "where estado = 1";
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = conexion.prepareStatement(sql);
rs = ps.executeQuery();
rs.next();
JSONObject obj = new JSONObject();
obj.put("mail", rs.getString("correo"));
response.setData(obj);
response.setStatus(true);
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
JOmail = new JSONObject(response);
return JOmail;
}
}
package trismegistoplanilla.mysqldao;
import java.io.UnsupportedEncodingException;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import trismegistoplanilla.beans.Correo;
import trismegistoplanilla.dao.CorreoDAO;
public class CorreoMysqlDAO implements CorreoDAO {
@Override
public boolean enviarCorreo(Correo c) {
System.out.println("CorreoSqlserverDAO: enviarCorreo");
boolean envio;
try {
Properties p = new Properties();
p.put("mail.smtp.host", "smtp.gmail.com");
p.setProperty("mail.smtp.starttls.enable", "true");
p.setProperty("mail.smtp.port", "587");
p.setProperty("mail.smtp.user", "tplanilla@gmail.com");
p.setProperty("mail.smtp.auth", "true");
Session session = Session.getInstance(p, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("tplanilla@gmail.com", "aylffncgufqnockh");
}
});
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("tplanilla@gmail.com", "TRISMEGISTO - PLANILLA"));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(c.getDestino()));
message.setSubject(c.getAsunto());
message.setContent(c.getMensaje(), "text/html; chartset=utf-8");
Transport.send(message, message.getAllRecipients());
envio = true;
} catch (UnsupportedEncodingException | MessagingException e) {
e.printStackTrace();
envio = false;
}
return envio;
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.json.JSONArray;
import org.json.JSONObject;
import trismegistoplanilla.beans.DetalleLoteFichaDocenteBean;
import trismegistoplanilla.beans.LoteFichaBean;
import trismegistoplanilla.dao.DetalleLoteFichaDocenteDAO;
import trismegistoplanilla.utilities.CurrencyFormat;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.StringUtils;
import trismegistoplanilla.utilities.Variables;
public class DetalleLoteFichaDocenteMysqlDAO implements DetalleLoteFichaDocenteDAO {
@Override
public JSONObject listarDetalleLoteFichaDocenteDT(LoteFichaBean loteFicha) {
System.out.println("DetalleLoteFichaDocenteSqlserverDAO: listarDetalleLoteFichaDocenteDT");
JSONObject jsonObjListar = null;
JSONArray jsonArrayListar = new JSONArray();
Connection cnx = null;
PreparedStatement ps = null;
ResultSet rs = null;
ResponseHelper response = new ResponseHelper();
try {
String sql
= "select "
+ "persona.codigo_persona codigoPersona, "
+ "ficha.codigo_ficha codigoFicha, "
+ "persona.apellido_paterno apellidoPaterno, "
+ "persona.apellido_materno apellidoMaterno, "
+ "persona.nombre nombre, "
+ "persona.numero_documento numeroDocumento, "
+ "tipo_documento.descripcion_corta tipodocumento, "
+ "format(ficha_laboral.fecha_ingreso,'dd/MM/yyyy') fechaInicio, "
+ "upper(datename(mm, ficha_laboral.fecha_ingreso)) mes, "
+ "sueldo_docente.codigo_area_cargo_tipo_pago as tipoPago, "
+ "isnull(sueldo_docente.costo_a,'') costoADocente, "
+ "isnull(sueldo_docente.costo_b,'') costoBDocente, "
+ "isnull(sueldo_docente.costo_c,'') costoCDocente, "
+ "isnull(sueldo_docente.costo_mensual,'') costoMensualDocente "
+ "FROM detalle_ficha_lote "
+ "inner join ficha_laboral ON ficha_laboral.codigo_ficha = detalle_ficha_lote.codigo_ficha "
+ "inner join ficha ON ficha.codigo_ficha = ficha_laboral.codigo_ficha "
+ "inner join persona ON persona.codigo_persona = ficha.codigo_persona "
+ "inner join dbo.tipo_documento ON dbo.tipo_documento.codigo_tipo_documento = dbo.persona.codigo_tipo_documento "
+ "left join sueldo_docente ON sueldo_docente.codigo_ficha = ficha_laboral.codigo_ficha "
+ "where detalle_ficha_lote.estado_registro = 1 "
+ "and detalle_ficha_lote.codigo_ficha_lote = ?";
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = cnx.prepareStatement(sql);
ps.setInt(1, loteFicha.getCodigoFichaLote());
rs = ps.executeQuery();
while (rs.next()) {
DetalleLoteFichaDocenteBean detalleLoteFichaDocente = new DetalleLoteFichaDocenteBean();
detalleLoteFichaDocente.setCodigoFicha(rs.getInt("codigoFicha"));
detalleLoteFichaDocente.setApellidoPaterno(rs.getString("apellidoPaterno"));
detalleLoteFichaDocente.setApellidoMaterno(rs.getString("apellidoMaterno"));
detalleLoteFichaDocente.setNombre(rs.getString("nombre"));
detalleLoteFichaDocente.setNumeroDocumento(rs.getString("numeroDocumento"));
detalleLoteFichaDocente.setTipoDocumento(rs.getString("tipodocumento"));
detalleLoteFichaDocente.setFechaInicio(rs.getString("fechaInicio"));
detalleLoteFichaDocente.setCodigoPago(rs.getInt("tipoPago"));
detalleLoteFichaDocente.setMes(rs.getString("mes"));
detalleLoteFichaDocente.setCostoa(CurrencyFormat.getCustomCurrency(rs.getDouble("costoADocente")));
detalleLoteFichaDocente.setCostob(CurrencyFormat.getCustomCurrency(rs.getDouble("costoBDocente")));
detalleLoteFichaDocente.setCostoc(CurrencyFormat.getCustomCurrency(rs.getDouble("costoCDocente")));
detalleLoteFichaDocente.setCostoMensual(CurrencyFormat.getCustomCurrency(rs.getDouble("costoMensualDocente")));
JSONObject jsonObjDetalleLoteFichaDocente = new JSONObject(detalleLoteFichaDocente);
jsonObjDetalleLoteFichaDocente.put("codigoPersona", rs.getInt("codigoPersona"));
jsonArrayListar.put(jsonObjDetalleLoteFichaDocente);
}
JSONObject jsonObjDetalleLoteFichaDocente = new JSONObject();
jsonObjDetalleLoteFichaDocente.put("fichas", jsonArrayListar);
response.setStatus(true);
response.setMessage("Se ha listado las fichas de docentes correctamente!");
response.setData(jsonObjDetalleLoteFichaDocente);
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonObjListar = new JSONObject(response);
return jsonObjListar;
}
@Override
public JSONObject registrarSueldosPresidenciaLoteDocente(JSONObject data) {
System.out.println("DetalleLoteFichaDocenteSqlserverDAO: registrarSueldosPresidenciaLoteDocente");
JSONObject jsonObjRegistrarSueldoPresidencia = null;
Connection cnx = null;
PreparedStatement psDesactivarEstadoSueldoDocente = null,
psInsertarSueldoDocente = null,
psDesactivarEstadoLote = null,
psInsertarEstadoLote = null,
psDesactivarEstadoFicha = null,
psInsertarEstadoFicha = null;
ResponseHelper response = new ResponseHelper();
String sql = "";
JSONArray jsonArrayFichas = data.getJSONArray("fichas");
int longitudJsonArrayFichas = jsonArrayFichas.length();
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
cnx.setAutoCommit(false);
sql
= "update sueldo_docente "
+ "set estado_registro = 0 "
+ "where sueldo_docente.estado_registro = 1 "
+ "and codigo_ficha = ?";
psDesactivarEstadoSueldoDocente = cnx.prepareStatement(sql);
for (int i = 0; i < longitudJsonArrayFichas; i++) {
psDesactivarEstadoSueldoDocente.setInt(1, jsonArrayFichas.getJSONObject(i).getInt("codigoFicha"));
psDesactivarEstadoSueldoDocente.addBatch();
}
int resultadoDesactivarEstadoSueldoDocente[] = psDesactivarEstadoSueldoDocente.executeBatch();
int totalFilasDesactivarEstadoSueldoDocente = resultadoDesactivarEstadoSueldoDocente.length;
if (totalFilasDesactivarEstadoSueldoDocente != 0) {
sql
= "insert into sueldo_docente "
+ "(codigo_ficha, codigo_area_cargo_tipo_pago, "
+ "costo_mensual, costo_a, costo_b, costo_c, "
+ "observacion, fecha_registro, estado_registro) "
+ "values (?, ?, ?, ?, ?, ?, LTRIM(RTRIM(UPPER(?))), getdate(), 1)";
psInsertarSueldoDocente = cnx.prepareStatement(sql);
for (int i = 0; i < longitudJsonArrayFichas; i++) {
int tipoPago = jsonArrayFichas.getJSONObject(i).getInt("codigoPago");
psInsertarSueldoDocente.setInt(1, jsonArrayFichas.getJSONObject(i).getInt("codigoFicha"));
psInsertarSueldoDocente.setInt(2, tipoPago);
if (tipoPago == 5) { // Si el pago es horas, costo mensual es null
psInsertarSueldoDocente.setObject(3, null);
} else {
psInsertarSueldoDocente.setString(3, jsonArrayFichas.getJSONObject(i).getString("costoMensual"));
}
if (tipoPago == 6) { // Si el pago es mensual, costo por secciones es null
psInsertarSueldoDocente.setObject(4, null);
psInsertarSueldoDocente.setObject(5, null);
psInsertarSueldoDocente.setObject(6, null);
} else {
psInsertarSueldoDocente.setString(4, jsonArrayFichas.getJSONObject(i).getString("costoa"));
psInsertarSueldoDocente.setString(5, jsonArrayFichas.getJSONObject(i).getString("costob"));
psInsertarSueldoDocente.setString(6, jsonArrayFichas.getJSONObject(i).getString("costoc"));
}
psInsertarSueldoDocente.setString(7, jsonArrayFichas.getJSONObject(i).getString("observacion"));
psInsertarSueldoDocente.addBatch();
}
int resultadoInsertarSueldoDocente[] = psInsertarSueldoDocente.executeBatch();
int totalFilasInsetarSueldoDocente = resultadoInsertarSueldoDocente.length;
if (totalFilasInsetarSueldoDocente != 0) {
sql
= "update estado_ficha_lote "
+ "set estado_registro = 0 "
+ "where codigo_ficha_lote = ? "
+ "and estado_ficha_lote.estado_registro = 1";
psDesactivarEstadoLote = cnx.prepareStatement(sql);
psDesactivarEstadoLote.setInt(1, data.getInt("codigoLote"));
int resultadoDesactivarEstadoLote = psDesactivarEstadoLote.executeUpdate();
if (resultadoDesactivarEstadoLote != 0) {
sql
= "insert into estado_ficha_lote "
+ "(codigo_ficha_lote, "
+ "codigo_tipo_estado_ficha_lote, "
+ "fecha_registro, "
+ "codigo_usuario, "
+ "estado_registro) "
+ "VALUES (?,?,getdate(),?,1)";
psInsertarEstadoLote = cnx.prepareStatement(sql);
psInsertarEstadoLote.setInt(1, data.getInt("codigoLote"));
if (!data.getBoolean("estadoLote")) { // No cambio los sueldos
psInsertarEstadoLote.setInt(2, 2); // Estado completado!
} else { // Si cambio los sueldos
psInsertarEstadoLote.setInt(2, 3); // Completado con obs
}
psInsertarEstadoLote.setInt(3, data.getInt("usuario"));
int resultadoInsertarEstadoLote = psInsertarEstadoLote.executeUpdate();
if (resultadoInsertarEstadoLote != 0) {
sql
= "update estado_ficha "
+ "set estado_registro = 0 "
+ "where estado_ficha.estado_registro = 1 "
+ "and estado_ficha.codigo_ficha = ?";
psDesactivarEstadoFicha = cnx.prepareStatement(sql);
for (int i = 0; i < longitudJsonArrayFichas; i++) {
psDesactivarEstadoFicha.setInt(1, jsonArrayFichas.getJSONObject(i).getInt("codigoFicha"));
psDesactivarEstadoFicha.addBatch();
}
int resultadoDesactivarEstadoFicha[] = psDesactivarEstadoFicha.executeBatch();
int totalFilasDesactivarEstadoFicha = resultadoDesactivarEstadoFicha.length;
if (totalFilasDesactivarEstadoFicha != 0) {
sql
= "insert into estado_ficha "
+ "(codigo_ficha, "
+ "codigo_tipo_estado_ficha, "
+ "fecha_registro, "
+ "codigo_usuario, "
+ "estado_registro) "
+ "VALUES (?, ? ,getdate() ,? ,1)";
psInsertarEstadoFicha = cnx.prepareStatement(sql);
for (int i = 0; i < longitudJsonArrayFichas; i++) {
psInsertarEstadoFicha.setInt(1, jsonArrayFichas.getJSONObject(i).getInt("codigoFicha"));
if (!jsonArrayFichas.getJSONObject(i).getBoolean("estadoFicha")) { // NO cambio el sueldo de la ficha
psInsertarEstadoFicha.setInt(2, 7); // Estado: Sueldo aprobado por presidencia
} else { // Si cambio el sueldo de la ficha
psInsertarEstadoFicha.setInt(2, 8); // Estado: Observado por presidencia: Por evaluar.
}
psInsertarEstadoFicha.setInt(3, data.getInt("usuario"));
psInsertarEstadoFicha.addBatch();
}
int resultadoInsertarEstadoFicha[] = psInsertarEstadoFicha.executeBatch();
int totalFilasInsertarEstadoFicha = resultadoInsertarEstadoFicha.length;
if (totalFilasInsertarEstadoFicha != 0) {
response.setStatus(true);
response.setMessage("Se actualizó correctamente el lote!");
cnx.commit();
} else {
response.setStatus(false);
response.setMessage("Lo sentimos, no se pudo insertar el estado de la ficha");
cnx.rollback();
}
} else {
response.setStatus(false);
response.setMessage("Lo sentimos, no se pudo desactivar los estados de la ficha");
cnx.rollback();
}
} else {
response.setStatus(false);
response.setMessage("Lo sentimos, no se pudo insertar el estado del lote");
cnx.rollback();
}
} else {
response.setStatus(false);
response.setMessage("Lo sentimos, no se pudo desactivar el estado del lote");
cnx.rollback();
}
} else {
response.setStatus(false);
response.setMessage("Lo sentimos, no se pudo insertar los estados de los sueldos");
cnx.rollback();
}
} else {
response.setStatus(false);
response.setMessage("Lo sentimos, no se pudo desactivar los estados de los sueldos");
cnx.rollback();
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (psInsertarEstadoFicha != null) {
psInsertarEstadoFicha.close();
}
if (psDesactivarEstadoFicha != null) {
psDesactivarEstadoFicha.close();
}
if (psInsertarEstadoLote != null) {
psInsertarEstadoLote.close();
}
if (psDesactivarEstadoLote != null) {
psDesactivarEstadoLote.close();
}
if (psInsertarSueldoDocente != null) {
psInsertarSueldoDocente.close();
}
if (psDesactivarEstadoSueldoDocente != null) {
psDesactivarEstadoSueldoDocente.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonObjRegistrarSueldoPresidencia = new JSONObject(response);
return jsonObjRegistrarSueldoPresidencia;
}
@Override
public JSONObject listarDetalleLoteFichaAdministrativoDT(JSONObject data) {
System.out.println("DetalleLoteFichaDocenteSqlserverDAO: listarDetalleLoteFichaAdministrativoDT");
JSONObject jsonReturn = null;
JSONArray jsonArray = new JSONArray();
Connection cnx = null;
PreparedStatement ps = null;
ResultSet rs = null;
ResponseHelper response = new ResponseHelper();
String sql;
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
sql = ""
+ "select "
+ "persona.codigo_persona codigoPersona, "
+ "ficha.codigo_ficha codigoFicha, "
+ "persona.apellido_paterno apellidoPaterno, "
+ "persona.apellido_materno apellidoMaterno, "
+ "persona.nombre nombre, "
+ "persona.numero_documento numeroDocumento, "
+ "sueldo_administrativo.sueldo_escalafon escalafon, "
+ "sueldo_administrativo.sueldo_mensual costoMensual, "
+ "tipo_documento.descripcion_corta tipodocumento, "
+ "format(ficha_laboral.fecha_ingreso,'dd/MM/yyyy') fechaInicio, "
+ "upper(datename(mm, ficha_laboral.fecha_ingreso)) mes, "
+ "sueldo_administrativo.codigo_area_cargo_tipo_pago codigoAreaCargoTipoPago "
+ "FROM detalle_ficha_lote "
+ "inner join ficha_laboral ON ficha_laboral.codigo_ficha = detalle_ficha_lote.codigo_ficha "
+ "inner join ficha ON ficha.codigo_ficha = ficha_laboral.codigo_ficha "
+ "inner join persona ON persona.codigo_persona = ficha.codigo_persona "
+ "inner join dbo.tipo_documento ON dbo.tipo_documento.codigo_tipo_documento = dbo.persona.codigo_tipo_documento "
+ "left join sueldo_administrativo ON sueldo_administrativo.codigo_ficha = ficha_laboral.codigo_ficha "
+ "where detalle_ficha_lote.estado_registro = 1 "
+ "and detalle_ficha_lote.codigo_ficha_lote = ? "
+ "and sueldo_administrativo.estado_registro = 1;";
ps = cnx.prepareStatement(sql);
ps.setString(1, data.getString("codigoFichaLote"));
rs = ps.executeQuery();
while (rs.next()) {
DetalleLoteFichaDocenteBean detalleLote = new DetalleLoteFichaDocenteBean();
detalleLote.setCodigoFicha(rs.getInt("codigoFicha"));
detalleLote.setApellidoPaterno(rs.getString("apellidoPaterno"));
detalleLote.setApellidoMaterno(rs.getString("apellidoMaterno"));
detalleLote.setNombre(rs.getString("nombre"));
detalleLote.setNumeroDocumento(rs.getString("numeroDocumento"));
detalleLote.setTipoDocumento(rs.getString("tipodocumento"));
detalleLote.setFechaInicio(rs.getString("fechaInicio"));
detalleLote.setMes(rs.getString("mes"));
JSONObject jsonObj = new JSONObject(detalleLote);
jsonObj.put("sueldoEscalafon", CurrencyFormat.getCustomCurrency(rs.getDouble("escalafon")));
jsonObj.put("sueldoMensual", CurrencyFormat.getCustomCurrency(rs.getDouble("costoMensual")));
jsonObj.put("codigoAreaCargoTipoPago", rs.getInt("codigoAreaCargoTipoPago"));
jsonObj.put("codigoPersona", rs.getInt("codigoPersona"));
jsonArray.put(jsonObj);
}
JSONObject jsonObj = new JSONObject();
jsonObj.put("fichas", jsonArray);
response.setStatus(true);
response.setMessage("Se ha listado las fichas administrativas correctamente");
response.setData(jsonObj);
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonReturn = new JSONObject(response);
return jsonReturn;
}
@Override
public JSONObject registrarSueldosPresidenciaLoteAdministrativo(JSONObject data) {
System.out.println("DetalleLoteFichaDocenteSqlserverDAO: registrarSueldosPresidenciaLoteAdministrativo");
JSONObject jsonObjRegistrarSueldoPresidencia = null;
Connection cnx = null;
PreparedStatement ps = null;
ResponseHelper response = new ResponseHelper();
String sql = "";
JSONArray jsonArrayFichas = data.getJSONArray("fichas");
int longitudJsonArrayFichas = jsonArrayFichas.length();
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
cnx.setAutoCommit(false);
sql
= "update sueldo_administrativo "
+ "set estado_registro = 0 "
+ "where estado_registro = 1 "
+ "and codigo_ficha = ?";
ps = cnx.prepareStatement(sql);
for (int i = 0; i < longitudJsonArrayFichas; i++) {
ps.setInt(1, jsonArrayFichas.getJSONObject(i).getInt("codigoFicha"));
ps.addBatch();
}
int resultadoDesactivarEstadoSueldoAdministrativo[] = ps.executeBatch();
int totalFilasDesactivarEstadoSueldoAdministrativo = resultadoDesactivarEstadoSueldoAdministrativo.length;
if (totalFilasDesactivarEstadoSueldoAdministrativo != 0) {
sql
= "insert into sueldo_administrativo "
+ "(codigo_ficha, codigo_area_cargo_tipo_pago, "
+ "sueldo_escalafon, sueldo_mensual, sueldo_presidencia, observacion, "
+ "fecha_registro, estado_registro) "
+ "values (?,?,?,?,?,UPPER(RTRIM(LTRIM(?))), getdate(),1)";
ps = cnx.prepareStatement(sql);
for (int i = 0; i < longitudJsonArrayFichas; i++) {
int c = 1;
ps.setInt(c++, jsonArrayFichas.getJSONObject(i).getInt("codigoFicha"));
ps.setInt(c++, jsonArrayFichas.getJSONObject(i).getInt("codigoAreaCargoTipoPago"));
ps.setString(c++, jsonArrayFichas.getJSONObject(i).getString("sueldoEscalafon"));
ps.setString(c++, jsonArrayFichas.getJSONObject(i).getString("sueldoMensual"));
ps.setString(c++, jsonArrayFichas.getJSONObject(i).getString("sueldoPresidencia"));
if (jsonArrayFichas.getJSONObject(i).getBoolean("estadoFicha")) {
ps.setString(c++, jsonArrayFichas.getJSONObject(i).getString("observacion"));
} else {
ps.setObject(c++, null);
}
ps.addBatch();
}
int resultadoInsertarSueldoAdministrativo[] = ps.executeBatch();
int totalFilasInsetarSueldoAdministrativo = resultadoInsertarSueldoAdministrativo.length;
if (totalFilasInsetarSueldoAdministrativo != 0) {
sql
= "update estado_ficha_lote "
+ "set estado_registro = 0 "
+ "where codigo_ficha_lote = ? "
+ "and estado_ficha_lote.estado_registro = 1";
ps = cnx.prepareStatement(sql);
ps.setInt(1, data.getInt("codigoLote"));
int resultadoDesactivarEstadoLote = ps.executeUpdate();
if (resultadoDesactivarEstadoLote != 0) {
sql
= "insert into estado_ficha_lote "
+ "(codigo_ficha_lote, "
+ "codigo_tipo_estado_ficha_lote, "
+ "fecha_registro, "
+ "codigo_usuario, "
+ "estado_registro) "
+ "VALUES (?,?,getdate(),?,1)";
ps = cnx.prepareStatement(sql);
ps.setInt(1, data.getInt("codigoLote"));
if (!data.getBoolean("estadoLote")) { // No cambio los sueldos
ps.setInt(2, 2); // Estado completado!
} else { // Si cambio los sueldos
ps.setInt(2, 3); // Completado con obs
}
ps.setInt(3, data.getInt("usuario"));
int resultadoInsertarEstadoLote = ps.executeUpdate();
if (resultadoInsertarEstadoLote != 0) {
sql
= "update estado_ficha "
+ "set estado_registro = 0 "
+ "where estado_ficha.estado_registro = 1 "
+ "and estado_ficha.codigo_ficha = ?";
ps = cnx.prepareStatement(sql);
for (int i = 0; i < longitudJsonArrayFichas; i++) {
ps.setInt(1, jsonArrayFichas.getJSONObject(i).getInt("codigoFicha"));
ps.addBatch();
}
int resultadoDesactivarEstadoFicha[] = ps.executeBatch();
int totalFilasDesactivarEstadoFicha = resultadoDesactivarEstadoFicha.length;
if (totalFilasDesactivarEstadoFicha != 0) {
sql
= "insert into estado_ficha "
+ "(codigo_ficha, "
+ "codigo_tipo_estado_ficha, "
+ "fecha_registro, "
+ "codigo_usuario, "
+ "estado_registro) "
+ "VALUES (?, ? ,getdate() ,? ,1)";
ps = cnx.prepareStatement(sql);
for (int i = 0; i < longitudJsonArrayFichas; i++) {
ps.setInt(1, jsonArrayFichas.getJSONObject(i).getInt("codigoFicha"));
if (!jsonArrayFichas.getJSONObject(i).getBoolean("estadoFicha")) { // NO cambio el sueldo de la ficha
ps.setInt(2, 7); // Estado: Sueldo aprobado por presidencia
} else { // Si cambio el sueldo de la ficha
ps.setInt(2, 8); // Estado: Observado por presidencia: Por evaluar.
}
ps.setInt(3, data.getInt("usuario"));
ps.addBatch();
}
int resultadoInsertarEstadoFicha[] = ps.executeBatch();
int totalFilasInsertarEstadoFicha = resultadoInsertarEstadoFicha.length;
if (totalFilasInsertarEstadoFicha != 0) {
response.setStatus(true);
response.setMessage("Se actualizó correctamente el lote!");
cnx.commit();
} else {
response.setStatus(false);
response.setMessage("Lo sentimos, no se pudo insertar el estado de la ficha");
cnx.rollback();
}
} else {
response.setStatus(false);
response.setMessage("Lo sentimos, no se pudo desactivar los estados de la ficha");
cnx.rollback();
}
} else {
response.setStatus(false);
response.setMessage("Lo sentimos, no se pudo insertar el estado del lote");
cnx.rollback();
}
} else {
response.setStatus(false);
response.setMessage("Lo sentimos, no se pudo desactivar el estado del lote");
cnx.rollback();
}
} else {
response.setStatus(false);
response.setMessage("Lo sentimos, no se pudo insertar los estados de los sueldos");
cnx.rollback();
}
} else {
response.setStatus(false);
response.setMessage("Lo sentimos, no se pudo desactivar los estados de los sueldos");
cnx.rollback();
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonObjRegistrarSueldoPresidencia = new JSONObject(response);
return jsonObjRegistrarSueldoPresidencia;
}
@Override
public JSONObject obtenerDetalleFicha(JSONObject data) {
System.out.println("DetalleLoteFichaDocenteSqlserverDAO: obtenerDetalleFicha");
JSONObject jsonReturn = null;
ResponseHelper response = new ResponseHelper();
Connection cnx = null;
PreparedStatement ps = null;
ResultSet rs = null;
String sql, columns, inners;
if (data.getString("tipoFicha").equals("A")) {
columns = "sueldo_administrativo.sueldo_escalafon sueldoEscalafon, "
+ "sueldo_administrativo.sueldo_mensual sueldoMensual, "
+ "sueldo_administrativo.observacion observacion, ";
inners = "inner join sueldo_administrativo ON sueldo_administrativo.codigo_ficha = ficha_laboral.codigo_ficha "
+ "inner join area_cargo_tipo_pago ON area_cargo_tipo_pago.codigo_area_cargo_tipo_pago = sueldo_administrativo.codigo_area_cargo_tipo_pago ";
} else {
columns = "sueldo_docente.costo_mensual costoMensual, "
+ "sueldo_docente.costo_a costoa, "
+ "sueldo_docente.costo_b costob, "
+ "sueldo_docente.costo_c costoc, "
+ "sueldo_docente.observacion observacion, ";
inners = "inner join sueldo_docente ON sueldo_docente.codigo_ficha = ficha_laboral.codigo_ficha "
+ "inner join area_cargo_tipo_pago ON area_cargo_tipo_pago.codigo_area_cargo_tipo_pago = sueldo_docente.codigo_area_cargo_tipo_pago ";
}
try {
sql
= "select "
+ "ficha_laboral.codigo_ficha codigoFicha, "
+ "format(ficha_laboral.fecha_ingreso,'dd/MM/yyyy') fechaIngreso, "
+ "format(ficha_laboral.fecha_fin,'dd/MM/yyyy') fechaTermino, "
+ columns
+ "tipo_pago.nombre tipoPago, "
+ "sede.nombre sede, "
+ "area.nombre area, "
+ "cargo.nombre cargo "
+ "FROM ficha_laboral "
+ "inner join sede_area ON sede_area.codigo_sede_area = ficha_laboral.codigo_sede_area "
+ "inner join sede ON sede.codigo_sede = sede_area.codigo_sede "
+ "inner join area_cargo ON area_cargo.codigo_area_cargo = ficha_laboral.codigo_area_cargo "
+ "inner join area ON area.codigo_area = area_cargo.codigo_area "
+ "inner join cargo ON cargo.codigo_cargo = area_cargo.codigo_cargo "
+ inners
+ "inner join tipo_pago ON tipo_pago.codigo_tipo_pago = area_cargo_tipo_pago.codigo_tipo_pago "
+ "where ficha_laboral.codigo_ficha = ?";
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = cnx.prepareStatement(sql);
ps.setInt(1, data.getInt("codigoFicha"));
rs = ps.executeQuery();
if (rs.next()) {
JSONObject jsonObj = new JSONObject();
jsonObj.put("codigoFicha", rs.getInt("codigoFicha"));
jsonObj.put("fechaIngreso", rs.getString("fechaIngreso"));
jsonObj.put("fechaTermino", rs.getString("fechaTermino"));
if (data.getString("tipoFicha").equals("A")) {
jsonObj.put("sueldoEscalafon", StringUtils.isNullOrEmpty(rs.getString("sueldoEscalafon")) ? "0.00" : CurrencyFormat.getCustomCurrency(rs.getDouble("sueldoEscalafon")));
jsonObj.put("sueldoMensual", StringUtils.isNullOrEmpty(rs.getString("sueldoMensual")) ? "0.00" : CurrencyFormat.getCustomCurrency(rs.getDouble("sueldoMensual")));
} else {
jsonObj.put("costoMensual", StringUtils.isNullOrEmpty(rs.getString("costoMensual")) ? "0.00" : CurrencyFormat.getCustomCurrency(rs.getDouble("costoMensual")));
jsonObj.put("costoa", StringUtils.isNullOrEmpty(rs.getString("costoa")) ? "0.00" : CurrencyFormat.getCustomCurrency(rs.getDouble("costoa")));
jsonObj.put("costob", StringUtils.isNullOrEmpty(rs.getString("costob")) ? "0.00" : CurrencyFormat.getCustomCurrency(rs.getDouble("costob")));
jsonObj.put("costoc", StringUtils.isNullOrEmpty(rs.getString("costoc")) ? "0.00" : CurrencyFormat.getCustomCurrency(rs.getDouble("costoc")));
}
jsonObj.put("observacion", StringUtils.isNullOrEmpty(rs.getString("observacion")) ? "" : rs.getString("observacion"));
jsonObj.put("tipoPago", rs.getString("tipoPago"));
jsonObj.put("sede", rs.getString("sede"));
jsonObj.put("area", rs.getString("area"));
jsonObj.put("cargo", rs.getString("cargo"));
response.setStatus(true);
response.setMessage("Se obtuvo los datos administrativos correctamente");
response.setData(jsonObj);
} else {
response.setStatus(false);
response.setMessage("No se encontraron datos administrativos.");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonReturn = new JSONObject(response);
return jsonReturn;
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.json.JSONObject;
import trismegistoplanilla.beans.AreaCargoTipoPagoBean;
import trismegistoplanilla.dao.EscalafonDAO;
import static trismegistoplanilla.utilities.CurrencyFormat.getCustomCurrency;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class EscalafonMysqlDAO implements EscalafonDAO {
@Override
public JSONObject obtenerEscalafonAreaCargoTipoPago(AreaCargoTipoPagoBean actp) {
System.out.println("EscalafonSqlserverDAO: obtenerEscalafonAreaCargoTipoPago");
JSONObject jsonObtenerEscalafonAreaCargo = null;
ResponseHelper response = new ResponseHelper();
String sql = ""
+ "select "
+ "sueldo "
+ "from escalafon "
+ "where codigo_area_cargo_tipo_pago = ? and estado_registro = 1";
Connection cnx = null;
PreparedStatement ps = null;
ResultSet rs = null;
String sueldo = "";
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = cnx.prepareStatement(sql);
ps.setInt(1, actp.getCodigoAreaCargoTipoPago());
rs = ps.executeQuery();
if (rs.next()) {
sueldo = getCustomCurrency(rs.getDouble("sueldo"));
response.setStatus(true);
JSONObject jsonObjSueldo = new JSONObject();
jsonObjSueldo.put("sueldo", sueldo);
response.setData(jsonObjSueldo);
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonObtenerEscalafonAreaCargo = new JSONObject(response);
return jsonObtenerEscalafonAreaCargo;
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.json.JSONArray;
import org.json.JSONObject;
import trismegistoplanilla.beans.EstadoCivilBean;
import trismegistoplanilla.dao.EstadoCivilDAO;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class EstadoCivilMysqlDAO implements EstadoCivilDAO {
@Override
public JSONObject listarEstadoCivil() {
System.out.println("EstadoCivilSqlserverDAO: listarEstadoCivil");
JSONObject jsonListarEstadoCivil = null;
JSONArray jsonArrayListarEstadoCivil = new JSONArray();
PreparedStatement ps = null;
ResultSet rs = null;
Connection connection = null;
ResponseHelper response = new ResponseHelper();
try {
connection = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
String sql
= "select "
+ "codigo_estado_civil estadoCivil, "
+ "nombre nombre, "
+ "estado_registro estadoRegistro "
+ "FROM estado_civil "
+ "where estado_registro = 1";
ps = connection.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
EstadoCivilBean estadoCivil = new EstadoCivilBean();
estadoCivil.setCodigoEstadoCivil(rs.getInt("estadoCivil"));
estadoCivil.setNombre(rs.getString("nombre"));
estadoCivil.setEstado_registro(rs.getInt("estadoRegistro"));
JSONObject jsonObjEstadoCivil = new JSONObject(estadoCivil);
jsonArrayListarEstadoCivil.put(jsonObjEstadoCivil);
}
JSONObject jsonObjEstadoCivil = new JSONObject();
jsonObjEstadoCivil.put("EstadosCiviles", jsonArrayListarEstadoCivil);
response.setStatus(true);
response.setMessage("Los estados civiles se han listado correctamente");
response.setData(jsonObjEstadoCivil);
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonListarEstadoCivil = new JSONObject(response);
return jsonListarEstadoCivil;
}
@Override
public JSONObject validarExistenciaEstadoCivil(EstadoCivilBean estadoCivil) {
System.out.println("EstadoCivilSqlserverDAO: validarExistenciaEstadoCivil");
JSONObject jsonValidarExistenciaEstadoCivil = null;
ResponseHelper response = new ResponseHelper();
int existeEstadoCivil = 0;
Connection connection = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
connection = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
String sql
= "select "
+ "count(1) as existeEstadoCivil "
+ "from estado_civil "
+ "where codigo_estado_civil = ? and estado_registro = 1";
ps = connection.prepareStatement(sql);
ps.setInt(1, estadoCivil.getCodigoEstadoCivil());
rs = ps.executeQuery();
rs.next();
existeEstadoCivil = rs.getInt("existeEstadoCivil");
if (existeEstadoCivil > 0) {
response.setStatus(true);
response.setMessage("El estado civil seleccionado existe.");
} else {
response.setStatus(false);
response.setMessage("El estado civil seleccionado no existe.");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonValidarExistenciaEstadoCivil = new JSONObject(response);
return jsonValidarExistenciaEstadoCivil;
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.json.JSONArray;
import org.json.JSONObject;
import trismegistoplanilla.beans.EstadoEstudioBean;
import trismegistoplanilla.dao.EstadoEstudioDAO;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class EstadoEstudioMysqlDAO implements EstadoEstudioDAO {
@Override
public JSONObject validarExistenciaEstadoEstudio(EstadoEstudioBean estadoEstudio) {
System.out.println("EstadoEstudioSqlserverDAO: validarExistenciaEstadoEstudio");
JSONObject jsonValidarExistenciaEstadoEstudio = null;
ResponseHelper response = new ResponseHelper();
int existeEstadoEstudio = 0;
Connection connection = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
connection = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
String sql
= "select "
+ "count (1) existeEstadoEstudio "
+ "from nivel_estado "
+ "inner join dbo.nivel_estudio ON dbo.nivel_estudio.codigo_nivel_estudio = dbo.nivel_estado.codigo_nivel_estudio "
+ "inner join dbo.estado_estudio ON dbo.estado_estudio.codigo_estado_estudio = dbo.nivel_estado.codigo_estado_estudio "
+ "where nivel_estudio.estado_registro = 1 "
+ "and nivel_estado.codigo_nivel_estudio = ? "
+ "and nivel_estado.codigo_estado_estudio = ?";
ps = connection.prepareStatement(sql);
ps.setInt(1, estadoEstudio.getCodigoNivelEstudio());
ps.setInt(2, estadoEstudio.getCodigoEstadoEstudio());
rs = ps.executeQuery();
rs.next();
existeEstadoEstudio = rs.getInt("existeEstadoEstudio");
if (existeEstadoEstudio > 0) {
response.setStatus(true);
response.setMessage("El estado estudio seleccionado existe.");
} else {
response.setStatus(false);
response.setMessage("El estado estudio seleccionado no existe.");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonValidarExistenciaEstadoEstudio = new JSONObject(response);
return jsonValidarExistenciaEstadoEstudio;
}
@Override
public JSONObject listarEstadoEstudio(EstadoEstudioBean estadoEstudio) {
System.out.println("EstadoEstudioSqlserverDAO: listarEstadoEstudio");
JSONObject jsonListarEstadoEstudio = null;
JSONArray jsonArrayListarEstadoEstudio = new JSONArray();
ResponseHelper response = new ResponseHelper();
Connection connection = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
connection = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
String sql
= "select "
+ "estado_estudio.codigo_estado_estudio codigoEstadoEstudio, "
+ "estado_estudio.nombre nombreEstadoEstudio "
+ "from nivel_estado "
+ "inner join dbo.estado_estudio ON dbo.estado_estudio.codigo_estado_estudio = dbo.nivel_estado.codigo_estado_estudio "
+ "where estado_estudio.estado_registro = 1 and nivel_estado.codigo_nivel_estudio = ?";
ps = connection.prepareStatement(sql);
ps.setInt(1, estadoEstudio.getCodigoNivelEstudio());
rs = ps.executeQuery();
while (rs.next()) {
estadoEstudio.setCodigoEstadoEstudio(rs.getInt("codigoEstadoEstudio"));
estadoEstudio.setNombre(rs.getString("nombreEstadoEstudio"));
JSONObject jsonObjEstadoEstudio = new JSONObject(estadoEstudio);
jsonArrayListarEstadoEstudio.put(jsonObjEstadoEstudio);
}
JSONObject jsonObjEstadoEstudio = new JSONObject();
jsonObjEstadoEstudio.put("estadoestudio", jsonArrayListarEstadoEstudio);
response.setStatus(true);
response.setMessage("Los estados de estudio se han listado correctamente");
response.setData(jsonObjEstadoEstudio);
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonListarEstadoEstudio = new JSONObject(response);
return jsonListarEstadoEstudio;
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.json.JSONObject;
import trismegistoplanilla.beans.EstadoFichaBean;
import trismegistoplanilla.dao.EstadoFichaDAO;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class EstadoFichaMysqlDAO implements EstadoFichaDAO {
@Override
public JSONObject obtenerCodigoEstadoFicha(EstadoFichaBean ef) {
System.out.println("EstadoFichaSqlserverDAO: obtenerCodigoEstadoFicha");
JSONObject JOObtenerCodigoEstadoFicha = null;
ResponseHelper response = new ResponseHelper();
String sql = ""
+ "select "
+ "codigo_estado_ficha codigoEstadoFicha "
+ "from estado_ficha "
+ "where codigo_ficha = ? and estado_registro = 1";
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = conexion.prepareStatement(sql);
ps.setInt(1, ef.getCodigoFicha());
rs = ps.executeQuery();
rs.next();
int codigoEstadoFicha = rs.getInt("codigoEstadoFicha");
if (codigoEstadoFicha > 0) {
JSONObject objEstadoFicha = new JSONObject();
objEstadoFicha.put("getResultedKey", codigoEstadoFicha);
response.setStatus(true);
response.setMessage("Se encontró el codigo de estado de ficha");
response.setData(objEstadoFicha);
} else {
response.setStatus(false);
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
JOObtenerCodigoEstadoFicha = new JSONObject(response);
return JOObtenerCodigoEstadoFicha;
}
@Override
public JSONObject desactivarEstadoFicha(EstadoFichaBean ef) {
System.out.println("EstadoFichaSqlserverDAO: desactivarEstadoFicha");
JSONObject JODesactivarEstadoFicha = null;
ResponseHelper response = new ResponseHelper();
String sql = ""
+ "update estado_ficha "
+ "set estado_registro = 0 "
+ "where codigo_estado_ficha = ? and estado_registro = 1";
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
conexion.setAutoCommit(false);
ps = conexion.prepareStatement(sql);
ps.setInt(1, ef.getCodigoEstadoFicha());
int resultadoDesactivar = ps.executeUpdate();
if (resultadoDesactivar > 0) {
response.setStatus(true);
response.setMessage("El estado de ficha [" + ef.getCodigoEstadoFicha() + "] se ha desactivado");
conexion.commit();
} else {
response.setStatus(false);
response.setMessage("Error!, no se ha podido desactivar el estado de ficha");
conexion.rollback();
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
JODesactivarEstadoFicha = new JSONObject(response);
return JODesactivarEstadoFicha;
}
@Override
public JSONObject registrarEstadoFicha(EstadoFichaBean ef) {
System.out.println("EstadoFichaSqlserverDAO: registrarEstadoFicha");
JSONObject JORegistrarEstadoFicha = null;
ResponseHelper response = new ResponseHelper();
String sql = ""
+ "insert into estado_ficha ( "
+ " codigo_ficha "
+ " ,codigo_tipo_estado_ficha "
+ " ,fecha_registro "
+ " ,codigo_usuario "
+ " ,estado_registro "
+ ") values ( "
+ " ? "
+ " ,? "
+ " ,getdate() "
+ " ,? "
+ " ,1 "
+ ")";
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
conexion.setAutoCommit(false);
ps = conexion.prepareStatement(sql);
ps.setInt(1, ef.getCodigoFicha());
ps.setInt(2, ef.getCodigoTipoEstadoFicha());
ps.setInt(3, ef.getCodigoUsuario());
int resultadoRegistro = ps.executeUpdate();
if (resultadoRegistro > 0) {
response.setStatus(true);
response.setMessage("Enhorabuena!, se ha registrado un nuevo estado de ficha");
conexion.commit();
} else {
response.setStatus(false);
response.setMessage("Error!, no se ha podido regsitrar un nuevo estado de ficha");
conexion.rollback();
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
JORegistrarEstadoFicha = new JSONObject(response);
return JORegistrarEstadoFicha;
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.json.JSONArray;
import org.json.JSONObject;
import trismegistoplanilla.beans.ExpedienteBean;
import trismegistoplanilla.beans.PersonaBean;
import trismegistoplanilla.dao.ExpedienteDAO;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class ExpedienteMysqlDAO implements ExpedienteDAO {
@Override
public JSONObject listarTipoExpedientes() {
System.out.println("ExpedienteSqlserverDAO: listarTipoExpedientes");
JSONObject jsonObjListarTipoExpediente = null;
JSONArray jsonArrayListarTipoExpediente = new JSONArray();
Connection cnx = null;
PreparedStatement ps = null;
ResultSet rs = null;
ResponseHelper response = new ResponseHelper();
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
String sql
= "select "
+ "codigo_tipo_expediente codigoTipoExpediente, "
+ "nombre nombreExpediente "
+ "FROM tipo_expediente "
+ "where tipo_expediente.estado_registro = 1";
ps = cnx.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
ExpedienteBean expediente = new ExpedienteBean();
expediente.setCodigoTipoExpediente(rs.getInt("codigoTipoExpediente"));
expediente.setNombreExpediente(rs.getString("nombreExpediente"));
JSONObject jsonObjExpediente = new JSONObject(expediente);
jsonArrayListarTipoExpediente.put(jsonObjExpediente);
}
JSONObject jsonObjExpediente = new JSONObject();
jsonObjExpediente.put("expediente", jsonArrayListarTipoExpediente);
response.setStatus(true);
response.setMessage("Se ha listado los tipos de expediente correctamente.");
response.setData(jsonObjExpediente);
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonObjListarTipoExpediente = new JSONObject(response);
return jsonObjListarTipoExpediente;
}
@Override
public JSONObject obtenerExpedientesPorPersona(PersonaBean persona) {
System.out.println("ExpedienteSqlserverDAO: obtenerExpedientesPorPersona");
JSONObject jsonObjObtenerExpedientesPorPersona = null;
JSONArray jsonArrayObtenerExpedientesPorPersona = new JSONArray();
Connection cnx = null;
PreparedStatement ps = null;
ResultSet rs = null;
ResponseHelper response = new ResponseHelper();
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
String sql
= "select "
+ "tipo_expediente.nombre nombreExpediente "
+ "FROM expediente "
+ "inner join tipo_expediente "
+ "ON tipo_expediente.codigo_tipo_expediente = expediente.codigo_tipo_expediente "
+ "where expediente.estado_registro = 1 "
+ "and expediente.codigo_persona = ? ";
ps = cnx.prepareStatement(sql);
ps.setInt(1, persona.getCodigoPersona());
rs = ps.executeQuery();
while (rs.next()) {
ExpedienteBean expediente = new ExpedienteBean();
expediente.setNombreExpediente(rs.getString("nombreExpediente"));
JSONObject jsonObjExpediente = new JSONObject(expediente);
jsonArrayObtenerExpedientesPorPersona.put(jsonObjExpediente);
}
JSONObject jsonObjExpediente = new JSONObject();
jsonObjExpediente.put("expediente", jsonArrayObtenerExpedientesPorPersona);
response.setStatus(true);
response.setMessage("Se obtuvo los expedientes correctamente.");
response.setData(jsonObjExpediente);
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonObjObtenerExpedientesPorPersona = new JSONObject(response);
return jsonObjObtenerExpedientesPorPersona;
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.json.JSONArray;
import org.json.JSONObject;
import trismegistoplanilla.beans.ExperienciaLaboralBean;
import trismegistoplanilla.beans.PersonaBean;
import trismegistoplanilla.dao.ExperienciaLaboralDAO;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class ExperienciaLaboralMysqlDAO implements ExperienciaLaboralDAO {
@Override
public JSONObject obtenerExperienciaLaboralPorPersona(PersonaBean persona) {
System.out.println("ExperienciaLaboralSqlserverDAO: obtenerExperienciaLaboralPorPersona");
JSONObject jsonObjObtenerExperienciaLaboralPorPersona = null;
JSONArray jsonArrayObtenerExperienciaLaboralPorPersona = new JSONArray();
ResponseHelper response = new ResponseHelper();
PreparedStatement ps = null;
ResultSet rs = null;
Connection cnx = null;
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
String sql
= "SELECT "
+ "experiencialaboral.nombre_empresa nombreEmpresa, "
+ "experiencialaboral.nombre_cargo nombreCargo, "
+ "Format(experiencialaboral.fecha_inicio, 'dd/MM/yyyy') fechaInicio, "
+ "Format(experiencialaboral.fecha_fin, 'dd/MM/yyyy') fechaFin, "
+ "Isnull(experiencialaboral.telefono, '-') telefono "
+ "FROM experiencia_laboral experiencialaboral "
+ "WHERE experiencialaboral.codigo_persona = ?";
ps = cnx.prepareStatement(sql);
ps.setInt(1, persona.getCodigoPersona());
rs = ps.executeQuery();
while (rs.next()) {
ExperienciaLaboralBean experienciaLaboral = new ExperienciaLaboralBean();
experienciaLaboral.setNombreEmpresa(rs.getString("nombreEmpresa"));
experienciaLaboral.setNombreCargo(rs.getString("nombreCargo"));
experienciaLaboral.setFechaInicio(rs.getString("fechaInicio"));
experienciaLaboral.setFechaFin(rs.getString("fechaFin"));
experienciaLaboral.setTelefono(rs.getString("telefono"));
JSONObject jsonObjExperienciaLaboral = new JSONObject(experienciaLaboral);
jsonArrayObtenerExperienciaLaboralPorPersona.put(jsonObjExperienciaLaboral);
}
JSONObject jsonObjExperienciaLaboral = new JSONObject();
jsonObjExperienciaLaboral.put("experiencialaboral", jsonArrayObtenerExperienciaLaboralPorPersona);
response.setStatus(true);
response.setMessage("Se ha listado la experiencia laboral correctamente");
response.setData(jsonObjExperienciaLaboral);
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonObjObtenerExperienciaLaboralPorPersona = new JSONObject(response);
return jsonObjObtenerExperienciaLaboralPorPersona;
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types;
import org.json.JSONArray;
import org.json.JSONObject;
import pe.siso.webservicesseguridad.webservices.UsuarioBean;
import trismegistoplanilla.beans.FichaLaboralBean;
import trismegistoplanilla.beans.PersonaBean;
import trismegistoplanilla.beans.SueldoAdministrativoBean;
import trismegistoplanilla.beans.SueldoDocenteBean;
import trismegistoplanilla.dao.FichaLaboralDAO;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class FichaLaboralMysqlDAO implements FichaLaboralDAO {
@Override
public JSONObject registrarFichaLaboral(FichaLaboralBean fl, PersonaBean p, JSONArray jaExpediente, SueldoAdministrativoBean sa, SueldoDocenteBean sd, UsuarioBean u) {
System.out.println("FichaLaboralSqlserverDAO: registrarFichaLaboral");
JSONObject JORegistrarFichaLaboral = null;
ResponseHelper response = new ResponseHelper();
String sql = "";
Connection conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
PreparedStatement psObtenerCodigoPersona = null,
psRegistrarEnlace = null,
psRegistrarExpediente = null,
psRegistrarFichaLaboral = null,
psRegistrarSueldoAdministrativo = null,
psRegistrarSueldoDocente = null,
psObtenerUltimoEstadoFicha = null,
psDesactivarEstadoFicha = null,
psRegistrarEstadoFicha = null;
ResultSet rsObtenerCodigoPersona = null,
rsObtenerUltimoEstadoFicha = null;
try {
/* ========= ACTIVIDADES ==============
1- OBTENER CODIGO PERSONA
2- REGISTRAR ENLACE ALFRESCO
3- REGISTRAR TIPOS DE EXPEDIENTE SELECCIONADO (ANTES VALIDAR EXISTENCIAS)
4- REGISTRAR FICHA LABORAL
||=> A = REGISTRAR SUELDO ADMINISTRATIVO
5- TIPO FICHA:||
||=> B = REGISTRAR SUELDO DOCENTE
5.1- TIPO FICHA (D):
- HORAS || - MENSUAL || -ADMINISTRATIVO
===============||====================||=======================
COSTO A || COSTO MENSUAL || COSTO A
COSTO B || || COSTO B
COSTO C || || COSTO C
|| || COSTO MENSUAL
6- OBTENER ULTIMO CODIGO DE ESTADO FICHA
7- DESACTIVAR ESTADO FICHA
8- REGISTRA NUEVO ESTADO FICHA (COMPLETADO)
*/
conexion.setAutoCommit(false);
// ACTIVIDAD N° 1
sql = "select codigo_persona codigoPersona from ficha where codigo_ficha = ? and estado_registro = 1";
psObtenerCodigoPersona = conexion.prepareStatement(sql);
psObtenerCodigoPersona.setInt(1, fl.getCodigoFicha());
rsObtenerCodigoPersona = psObtenerCodigoPersona.executeQuery();
rsObtenerCodigoPersona.next();
int codigoPersona = rsObtenerCodigoPersona.getInt("codigoPersona");
// ACTIVIDAD N° 2
sql = "update persona set enlace_alfresco = upper(?) where codigo_persona = ? and estado_registro = 1";
psRegistrarEnlace = conexion.prepareStatement(sql);
psRegistrarEnlace.setString(1, p.getEnlaceAlfresco());
psRegistrarEnlace.setInt(2, codigoPersona);
int resultadoRegistrarEnlace = psRegistrarEnlace.executeUpdate();
if (resultadoRegistrarEnlace > 0) {
// ACTIVIDAD N° 3
TipoExpedienteMysqlDAO expediente = new TipoExpedienteMysqlDAO();
JSONObject validarExpediente = expediente.validarTipoExpedienteSeleccionadoByID(jaExpediente);
if (validarExpediente.getBoolean("status")) {
sql = ""
+ "insert into expediente ( "
+ " codigo_persona "
+ " ,codigo_tipo_expediente "
+ " ,estado_registro "
+ ") values ( "
+ " ? "
+ " ,? "
+ " ,1 "
+ ")";
psRegistrarExpediente = conexion.prepareStatement(sql);
for (int i = 0; i < jaExpediente.length(); i++) {
JSONObject objExpediente = jaExpediente.getJSONObject(i);
psRegistrarExpediente.setInt(1, codigoPersona);
psRegistrarExpediente.setInt(2, objExpediente.getInt("id"));
psRegistrarExpediente.addBatch();
}
int executeRegistrarExpediente[] = psRegistrarExpediente.executeBatch();
int resultadoRegistrarExpediente = executeRegistrarExpediente.length;
if (resultadoRegistrarExpediente > 0) {
// ACTIVIDAD N° 4
sql = ""
+ "insert into ficha_laboral ( "
+ " codigo_ficha "
+ " ,fecha_ingreso "
+ " ,fecha_fin "
+ " ,codigo_sede_area "
+ " ,codigo_area_cargo "
+ " ,tipo_ficha "
+ " ,fecha_registro "
+ " ,estado_registro "
+ ") values ( "
+ " ? "
+ " ,? "
+ " ,? "
+ " ,? "
+ " ,? "
+ " ,? "
+ " ,getdate() "
+ " ,1 "
+ ")";
psRegistrarFichaLaboral = conexion.prepareStatement(sql);
psRegistrarFichaLaboral.setInt(1, fl.getCodigoFicha());
psRegistrarFichaLaboral.setString(2, fl.getFechaIngreso());
psRegistrarFichaLaboral.setString(3, fl.getFechaFin());
psRegistrarFichaLaboral.setInt(4, fl.getCodigoSedeArea());
psRegistrarFichaLaboral.setInt(5, fl.getCodigoAreaCargo());
psRegistrarFichaLaboral.setString(6, fl.getTipoFicha());
int resultadoRegistrarFichaLaboral = psRegistrarFichaLaboral.executeUpdate();
if (resultadoRegistrarFichaLaboral > 0) {
// ACTIVIDAD N° 5
boolean flagSueldos = false;
if (fl.getTipoFicha().equals("A")) {
sql = ""
+ "insert into sueldo_administrativo ( "
+ " codigo_ficha "
+ " ,codigo_area_cargo_tipo_pago "
+ " ,sueldo_escalafon "
+ " ,sueldo_mensual "
+ " ,sueldo_presidencia "
+ " ,observacion "
+ " ,fecha_registro "
+ " ,estado_registro "
+ ") values ( "
+ " ? "
+ " ,? "
+ " ,? "
+ " ,? "
+ " ,? "
+ " ,? "
+ " ,getdate() "
+ " ,1 "
+ ")";
psRegistrarSueldoAdministrativo = conexion.prepareStatement(sql);
psRegistrarSueldoAdministrativo.setInt(1, sa.getCodigoFicha());
psRegistrarSueldoAdministrativo.setInt(2, sa.getCodigoAreaCargoTipoPago());
psRegistrarSueldoAdministrativo.setString(3, sa.getSueldoEscalafon());
psRegistrarSueldoAdministrativo.setString(4, sa.getSueldoMensual());
psRegistrarSueldoAdministrativo.setNull(5, Types.DOUBLE);
psRegistrarSueldoAdministrativo.setString(6, sa.getObservacion());
int resultadoRegistrarSueldoAdministrativo = psRegistrarSueldoAdministrativo.executeUpdate();
if (resultadoRegistrarSueldoAdministrativo > 0) {
flagSueldos = true;
} else {
response.setStatus(false);
response.setMessage("No se pudo registrar el sueldo administrativo");
conexion.rollback();
}
} else if (fl.getTipoFicha().equals("D")) {
switch (sd.getCodigoAreaCargoTipoPago()) {
case 5: // horas
sql = ""
+ "insert into sueldo_docente (codigo_ficha, codigo_area_cargo_tipo_pago, costo_a, costo_b, costo_c, observacion, fecha_registro, estado_registro) "
+ "values (?, ?, ?, ?, ?, ?, getdate(), 1)";
psRegistrarSueldoDocente = conexion.prepareStatement(sql);
psRegistrarSueldoDocente.setInt(1, sd.getCodigoFicha());
psRegistrarSueldoDocente.setInt(2, sd.getCodigoAreaCargoTipoPago());
psRegistrarSueldoDocente.setString(3, sd.getCostoa());
psRegistrarSueldoDocente.setString(4, sd.getCostob());
psRegistrarSueldoDocente.setString(5, sd.getCostoc());
psRegistrarSueldoDocente.setString(6, sd.getObservacion());
break;
case 6: // mensual
sql = ""
+ "insert into sueldo_docente (codigo_ficha, codigo_area_cargo_tipo_pago, costo_mensual, observacion, fecha_registro, estado_registro) "
+ "values (?, ?, ?, ?, getdate(), 1)";
psRegistrarSueldoDocente = conexion.prepareStatement(sql);
psRegistrarSueldoDocente.setInt(1, sd.getCodigoFicha());
psRegistrarSueldoDocente.setInt(2, sd.getCodigoAreaCargoTipoPago());
psRegistrarSueldoDocente.setString(3, sd.getCostoMensual());
psRegistrarSueldoDocente.setString(4, sd.getObservacion());
break;
case 19: // administrativo
sql = ""
+ "insert into sueldo_docente (codigo_ficha, codigo_area_cargo_tipo_pago, costo_mensual, costo_a, costo_b, costo_c, observacion, fecha_registro, estado_registro) "
+ "values (?, ?, ?, ?, ?, ?, ?, getdate(), 1)";
psRegistrarSueldoDocente = conexion.prepareStatement(sql);
psRegistrarSueldoDocente.setInt(1, sd.getCodigoFicha());
psRegistrarSueldoDocente.setInt(2, sd.getCodigoAreaCargoTipoPago());
psRegistrarSueldoDocente.setString(3, sd.getCostoMensual());
psRegistrarSueldoDocente.setString(4, sd.getCostoa());
psRegistrarSueldoDocente.setString(5, sd.getCostob());
psRegistrarSueldoDocente.setString(6, sd.getCostoc());
psRegistrarSueldoDocente.setString(7, sd.getObservacion());
break;
default:
response.setStatus(false);
response.setMessage("No se encontró un tipo de pago para el docente");
conexion.rollback();
}
int resultadoRegistrarSueldoDocente = psRegistrarSueldoDocente.executeUpdate();
if (resultadoRegistrarSueldoDocente > 0) {
flagSueldos = true;
} else {
response.setStatus(false);
response.setMessage("No se pudo registrar el sueldo del docente");
conexion.rollback();
}
}
if (flagSueldos) {
// ACTIVIDAD N° 6
sql = ""
+ "select "
+ "codigo_estado_ficha codigoEstadoFicha "
+ "from estado_ficha "
+ "where codigo_ficha = ? and estado_registro = 1";
psObtenerUltimoEstadoFicha = conexion.prepareStatement(sql);
psObtenerUltimoEstadoFicha.setInt(1, fl.getCodigoFicha());
rsObtenerUltimoEstadoFicha = psObtenerUltimoEstadoFicha.executeQuery();
rsObtenerUltimoEstadoFicha.next();
int codigoEstadoFicha = rsObtenerUltimoEstadoFicha.getInt("codigoEstadoFicha");
if (codigoEstadoFicha > 0) {
// ACTIVIDAD N° 7
sql = ""
+ "update estado_ficha "
+ "set estado_registro = 0 "
+ "where codigo_estado_ficha = ? and estado_registro = 1";
psDesactivarEstadoFicha = conexion.prepareStatement(sql);
psDesactivarEstadoFicha.setInt(1, codigoEstadoFicha);
int resultadoDesactivarEstadoFicha = psDesactivarEstadoFicha.executeUpdate();
if (resultadoDesactivarEstadoFicha > 0) {
// ACTIVIDAD N° 8
sql = ""
+ "insert into estado_ficha ( "
+ " codigo_ficha "
+ " ,codigo_tipo_estado_ficha "
+ " ,fecha_registro "
+ " ,codigo_usuario "
+ " ,estado_registro "
+ ") values ( "
+ " ? "
+ " ,? "
+ " ,getdate() "
+ " ,? "
+ " ,1 "
+ ")";
psRegistrarEstadoFicha = conexion.prepareStatement(sql);
psRegistrarEstadoFicha.setInt(1, fl.getCodigoFicha());
psRegistrarEstadoFicha.setInt(2, 4);
psRegistrarEstadoFicha.setInt(3, u.getCodigoUsuario());
int resultadoRegistrarEstadoFicha = psRegistrarEstadoFicha.executeUpdate();
if (resultadoRegistrarEstadoFicha > 0) {
response.setStatus(true);
response.setMessage("Enhorabuena!, Los datos administrativos han sido registrados correctamente");
conexion.commit();
} else {
response.setStatus(false);
response.setMessage("No se pudo registrar el nuevo estado de ficha 'COMPLETADO'");
conexion.rollback();
}
} else {
response.setStatus(false);
response.setMessage("No se pudo desactivar el ultimo estado de ficha");
conexion.rollback();
}
} else {
response.setStatus(false);
response.setMessage("No se pudo obtener el código de estado de ficha");
conexion.rollback();
}
} else {
response.setStatus(false);
response.setMessage("Error ocurrió un problema al registrar los sueldos del personal, por favor contactarse con el área de sistemas");
conexion.rollback();
}
} else {
response.setStatus(false);
response.setMessage("No se pudo registrar la ficha laboral");
conexion.rollback();
}
} else {
response.setStatus(false);
response.setMessage("No se pudo registrar los expedientes");
conexion.rollback();
}
} else {
response.setStatus(false);
response.setMessage(validarExpediente.getString("message"));
conexion.rollback();
}
} else {
response.setStatus(false);
response.setMessage("No se pudo registrar el enlace de alfresco");
conexion.rollback();
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rsObtenerCodigoPersona != null) {
rsObtenerCodigoPersona.close();
}
if (rsObtenerUltimoEstadoFicha != null) {
rsObtenerUltimoEstadoFicha.close();
}
if (psObtenerCodigoPersona != null) {
psObtenerCodigoPersona.close();
}
if (psRegistrarEnlace != null) {
psRegistrarEnlace.close();
}
if (psRegistrarExpediente != null) {
psRegistrarExpediente.close();
}
if (psRegistrarFichaLaboral != null) {
psRegistrarFichaLaboral.close();
}
if (psRegistrarSueldoAdministrativo != null) {
psRegistrarSueldoAdministrativo.close();
}
if (psRegistrarSueldoDocente != null) {
psRegistrarSueldoDocente.close();
}
if (psObtenerUltimoEstadoFicha != null) {
psObtenerUltimoEstadoFicha.close();
}
if (psDesactivarEstadoFicha != null) {
psDesactivarEstadoFicha.close();
}
if (psRegistrarEstadoFicha != null) {
psRegistrarEstadoFicha.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
JORegistrarFichaLaboral = new JSONObject(response);
return JORegistrarFichaLaboral;
}
}
This source diff could not be displayed because it is too large. You can view the blob instead.
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.json.JSONArray;
import org.json.JSONObject;
import trismegistoplanilla.beans.FondoPensionBean;
import trismegistoplanilla.dao.FondoPensionDAO;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class FondoPensionMysqlDAO implements FondoPensionDAO {
@Override
public JSONObject listarFondoPension() {
System.out.println("FondoPensionSqlserverDAO: listarFondoPension");
JSONObject jsonListarFondoPension = null;
JSONArray jsonArrayListarFondoPension = new JSONArray();
Connection connection = null;
PreparedStatement ps = null;
ResultSet rs = null;
ResponseHelper response = new ResponseHelper();
try {
connection = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
String sql
= "select "
+ "codigo_fondo_pension codigoFondoPension, "
+ "descripcion_corta descripcionCorta, "
+ "descripcion_larga descripcionLarga, "
+ "estado_registro estadoRegistro "
+ "FROM fondo_pension "
+ "where estado_registro = 1";
ps = connection.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
FondoPensionBean fondoPension = new FondoPensionBean();
fondoPension.setCodigoFondoPension(rs.getInt("codigoFondoPension"));
fondoPension.setDescripcionCorta(rs.getString("descripcionCorta"));
fondoPension.setDescripcionLarga(rs.getString("descripcionLarga").trim());
JSONObject jsonObjFondoPension = new JSONObject(fondoPension);
jsonArrayListarFondoPension.put(jsonObjFondoPension);
}
JSONObject jsonObjFondoPension = new JSONObject();
jsonObjFondoPension.put("fondopension", jsonArrayListarFondoPension);
response.setStatus(true);
response.setMessage("Los fondos de pensiones se han listado correctamente");
response.setData(jsonObjFondoPension);
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonListarFondoPension = new JSONObject(response);
return jsonListarFondoPension;
}
@Override
public JSONObject validarExistenciaFondoPension(FondoPensionBean fondoPension) {
System.out.println("FondoPensionSqlserverDAO: validarExistenciaFondoPension");
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.json.JSONArray;
import org.json.JSONObject;
import trismegistoplanilla.beans.FormacionAcademicaBean;
import trismegistoplanilla.beans.PersonaBean;
import trismegistoplanilla.dao.FormacionAcademicaDAO;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class FormacionAcademicaMysqlDAO implements FormacionAcademicaDAO {
@Override
public JSONObject obtenerFormacionAcademicaPorPersona(PersonaBean persona) {
System.out.println("FormacionAcademicaSqlserverDAO: obtenerFormacionAcademicaPorPersona");
JSONObject jsonObjObtenerFormacionAcademicaPorPersona = null;
JSONArray jsonArrayObtenerFormacionAcademicaPorPersona = new JSONArray();
ResponseHelper response = new ResponseHelper();
PreparedStatement ps = null;
ResultSet rs = null;
Connection cnx = null;
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
String sql
= "SELECT "
+ "formacionacademica.nombre_centro_estudio centroEstudios, "
+ "nivelestudio.nombre nivelEstudio, "
+ "estadoestudio.nombre estadoEstudio, "
+ "Format(formacionacademica.fecha_inicio, 'dd/MM/yyyy') fechaInicio, "
+ "isnull(Format(formacionacademica.fecha_fin, 'dd/MM/yyyy'),'-') fechaFin, "
+ "Isnull(formacionacademica.documento_adjunto, 'NO TIENE DOCUMENTO ADJUNTO') documentoAdjunto,"
+ "IsNull(formacionacademica.carrera_profesional,'-') carreraProfesional, "
+ "formacionacademica.sector_institucion sectorInstitucion, "
+ "Isnull(formacionacademica.numero_colegiatura, '-') numeroColegiatura, "
+ "Isnull(formacionacademica.observacion, '-') observacion "
+ "FROM formacion_academica formacionacademica "
+ "INNER JOIN nivel_estado nivelestado ON nivelestado.codigo_nivel_estado = formacionacademica.codigo_nivel_estado "
+ "INNER JOIN estado_estudio estadoestudio ON estadoestudio.codigo_estado_estudio = nivelestado.codigo_estado_estudio "
+ "INNER JOIN nivel_estudio nivelestudio ON nivelestudio.codigo_nivel_estudio = nivelestado.codigo_nivel_estudio "
+ "where formacionacademica.codigo_persona = ?";
ps = cnx.prepareStatement(sql);
ps.setInt(1, persona.getCodigoPersona());
rs = ps.executeQuery();
while (rs.next()) {
FormacionAcademicaBean formacionAcademica = new FormacionAcademicaBean();
formacionAcademica.setNombreCentroEstudios(rs.getString("centroEstudios"));
formacionAcademica.setNivelEstudio(rs.getString("nivelEstudio"));
formacionAcademica.setEstadoEstudio(rs.getString("estadoEstudio"));
formacionAcademica.setFechaInicio(rs.getString("fechaInicio"));
formacionAcademica.setFechaFin(rs.getString("fechaFin"));
formacionAcademica.setDocumentoAdjunto(rs.getString("documentoAdjunto"));
formacionAcademica.setNombreCarreraProfesional(rs.getString("carreraProfesional"));
formacionAcademica.setSectorInstitucion(rs.getString("sectorInstitucion"));
formacionAcademica.setNumeroColegiatura(rs.getString("numeroColegiatura"));
formacionAcademica.setObservacion(rs.getString("observacion"));
JSONObject jsonObjFormacionAcademica = new JSONObject(formacionAcademica);
jsonArrayObtenerFormacionAcademicaPorPersona.put(jsonObjFormacionAcademica);
}
JSONObject jsonObjFormacionAcademica = new JSONObject();
jsonObjFormacionAcademica.put("formacionacademica", jsonArrayObtenerFormacionAcademicaPorPersona);
response.setStatus(true);
response.setMessage("Se ha listado la formacion academica correctamente");
response.setData(jsonObjFormacionAcademica);
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonObjObtenerFormacionAcademicaPorPersona = new JSONObject(response);
return jsonObjObtenerFormacionAcademicaPorPersona;
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.json.JSONArray;
import org.json.JSONObject;
import pe.siso.webservicesseguridad.webservices.UsuarioBean;
import trismegistoplanilla.beans.LoteFichaBean;
import trismegistoplanilla.beans.ReporteLoteFichaBean;
import trismegistoplanilla.dao.LoteFichaDAO;
import trismegistoplanilla.utilities.CurrencyFormat;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class LoteFichaMysqlDAO implements LoteFichaDAO {
@Override
public JSONObject listarFichasDT(String draw, String length, String start, JSONObject json) {
System.out.println("LoteFichaSqlserverDAO: listarFichasDT");
JSONObject jsonObjListarFichasDT = new JSONObject();
JSONArray jsonArrayListarFichasDT = new JSONArray();
Connection cnx = null;
PreparedStatement ps = null, psCantidadFilas = null;
ResultSet rs = null, rsCantidadFilas = null;
String condicion = jsonCondicion(json);
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
String sql
= "select top " + length + " "
+ "ficha.codigo_ficha codigoFicha, "
+ "ficha.codigo_persona codigoPersona, "
+ "persona.apellido_paterno apellidoPaterno, "
+ "persona.apellido_materno apellidoMaterno, "
+ "persona.nombre nombre, "
+ "persona.numero_documento numeroDocumento, "
+ "ficha_laboral.tipo_ficha tipoFicha, "
+ "sede.nombre nombreSede, "
+ "area.nombre nombreArea, "
+ "cargo.nombre nombreCargo, "
+ "sueldo_administrativo.sueldo_escalafon sueldoEscalafonAdministrativo, "
+ "sueldo_administrativo.sueldo_mensual sueldoMensualAdministrativo, "
+ "isnull(sueldo_administrativo.observacion,'') observacionAdministrativo, "
+ "sueldo_docente.costo_mensual costoMensualDocente, "
+ "sueldo_docente.costo_a costoADocente, "
+ "sueldo_docente.costo_b costoBDocente, "
+ "sueldo_docente.costo_c costoCDocente, "
+ "sueldo_docente.observacion observacionDocente "
+ "FROM ficha "
+ "inner join persona ON persona.codigo_persona = ficha.codigo_persona "
+ "inner join ficha_laboral ON ficha_laboral.codigo_ficha = ficha.codigo_ficha "
+ "inner join sede_area ON sede_area.codigo_sede_area = ficha_laboral.codigo_sede_area "
+ "inner join sede ON sede.codigo_sede = sede_area.codigo_sede "
+ "inner join area ON area.codigo_area = sede_area.codigo_area "
+ "inner join area_cargo ON area_cargo.codigo_area_cargo = ficha_laboral.codigo_area_cargo "
+ "inner join cargo ON cargo.codigo_cargo = area_cargo.codigo_cargo "
+ "left join sueldo_administrativo ON sueldo_administrativo.codigo_ficha = ficha_laboral.codigo_ficha "
+ "left join sueldo_docente ON sueldo_docente.codigo_ficha = ficha_laboral.codigo_ficha "
+ "where ficha.estado_registro = 1 and ficha.codigo_ficha not in "
+ "( "
+ "select top " + start + " "
+ "x.codigo_ficha from ficha x "
+ "inner join estado_ficha ON estado_ficha.codigo_ficha = x.codigo_ficha "
+ "inner join ficha_laboral ON ficha_laboral.codigo_ficha = x.codigo_ficha "
+ "left join sueldo_administrativo ON sueldo_administrativo.codigo_ficha = ficha_laboral.codigo_ficha "
+ "left join sueldo_docente ON sueldo_docente.codigo_ficha = ficha_laboral.codigo_ficha "
+ "where estado_ficha.estado_registro = 1 and estado_ficha.codigo_tipo_estado_ficha = 4 "
+ condicion + " "
+ "order by 1 desc "
+ ") "
+ "and "
+ "( "
+ "select top 1 estado_ficha.codigo_tipo_estado_ficha FROM ficha x "
+ "inner join dbo.estado_ficha ON dbo.estado_ficha.codigo_ficha = x.codigo_ficha "
+ "inner join dbo.tipo_estado_ficha ON dbo.tipo_estado_ficha.codigo_tipo_estado_ficha = dbo.estado_ficha.codigo_tipo_estado_ficha "
+ "where x.codigo_ficha = ficha.codigo_ficha and estado_ficha.estado_registro = 1 "
+ ") = 4 "
+ condicion + " "
+ "order by 1 desc";
ps = cnx.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
ReporteLoteFichaBean reporteLoteFicha = new ReporteLoteFichaBean();
reporteLoteFicha.setCodigoFicha(rs.getInt("codigoFicha"));
reporteLoteFicha.setCodigoPersona(rs.getInt("codigoPersona"));
reporteLoteFicha.setApellidoPaterno(rs.getString("apellidoPaterno"));
reporteLoteFicha.setApellidoMaterno(rs.getString("apellidoMaterno"));
reporteLoteFicha.setNombre(rs.getString("nombre"));
reporteLoteFicha.setNumeroDocumento(rs.getString("numeroDocumento"));
reporteLoteFicha.setTipoFicha(rs.getString("tipoFicha"));
reporteLoteFicha.setNombreSede(rs.getString("nombreSede"));
reporteLoteFicha.setNombreArea(rs.getString("nombreArea"));
reporteLoteFicha.setNombreCargo(rs.getString("nombreCargo"));
reporteLoteFicha.setSueldoEscalafonAdministrativo(CurrencyFormat.getCustomCurrency(rs.getDouble("sueldoEscalafonAdministrativo")));
reporteLoteFicha.setSueldoMensualAdministrativo(CurrencyFormat.getCustomCurrency(rs.getDouble("sueldoMensualAdministrativo")));
reporteLoteFicha.setObservacionAdministrativo(rs.getString("observacionAdministrativo"));
reporteLoteFicha.setCostoMensualDocente(CurrencyFormat.getCustomCurrency(rs.getDouble("costoMensualDocente")));
reporteLoteFicha.setCostoADocente(CurrencyFormat.getCustomCurrency(rs.getDouble("costoADocente")));
reporteLoteFicha.setCostoBDocente(CurrencyFormat.getCustomCurrency(rs.getDouble("costoBDocente")));
reporteLoteFicha.setCostoCDocente(CurrencyFormat.getCustomCurrency(rs.getDouble("costoCDocente")));
reporteLoteFicha.setObservacionDocente(rs.getString("observacionDocente"));
JSONObject jsonObjReporteLoteFicha = new JSONObject(reporteLoteFicha);
jsonArrayListarFichasDT.put(jsonObjReporteLoteFicha);
}
int cantidadFilas = 0;
String sqlCantidadFilas
= "select "
+ "count(1) as cantidadFilas "
+ "FROM ficha "
+ "inner join ficha_laboral ON ficha_laboral.codigo_ficha = ficha.codigo_ficha "
+ "left join sueldo_administrativo ON sueldo_administrativo.codigo_ficha = ficha_laboral.codigo_ficha "
+ "left join sueldo_docente ON sueldo_docente.codigo_ficha = ficha_laboral.codigo_ficha "
+ "where ficha.estado_registro = 1 "
+ "and (select top 1 estado_ficha.codigo_tipo_estado_ficha FROM ficha x "
+ "inner join dbo.estado_ficha ON dbo.estado_ficha.codigo_ficha = x.codigo_ficha "
+ "inner join dbo.tipo_estado_ficha ON dbo.tipo_estado_ficha.codigo_tipo_estado_ficha = dbo.estado_ficha.codigo_tipo_estado_ficha "
+ "where x.codigo_ficha = ficha.codigo_ficha and estado_ficha.estado_registro = 1) = 4 "
+ condicion + " "
+ "order by 1 desc";
psCantidadFilas = cnx.prepareStatement(sqlCantidadFilas);
rsCantidadFilas = psCantidadFilas.executeQuery();
rsCantidadFilas.next();
cantidadFilas = rsCantidadFilas.getInt("cantidadFilas");
jsonObjListarFichasDT.put("data", jsonArrayListarFichasDT);
jsonObjListarFichasDT.put("recordsFiltered", cantidadFilas);
jsonObjListarFichasDT.put("recordsTotal", cantidadFilas);
jsonObjListarFichasDT.put("draw", draw);
} catch (SQLException e) {
e.printStackTrace();
jsonObjListarFichasDT.put("status", false);
jsonObjListarFichasDT.put("Mensaje", "Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rsCantidadFilas != null) {
rsCantidadFilas.close();
}
if (psCantidadFilas != null) {
psCantidadFilas.close();
}
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
return jsonObjListarFichasDT;
}
private String jsonCondicion(JSONObject json) {
System.out.println("LoteFichaSqlserverDAO: jsonCondicion");
if (json.getInt("criterio") == 1) { // administrativo
return " and sueldo_administrativo.codigo_sueldo_administrativo is not null ";
}
if (json.getInt("criterio") == 2) { // docente de secundaria
return " and sueldo_docente.codigo_sueldo_docente is not null ";
}
return "";
}
@Override
public JSONObject registrarLote(JSONObject data, UsuarioBean usuario) {
System.out.println("LoteFichaSqlserverDAO: registrarLote");
JSONObject jsonObjRegistrarLote = null;
Connection cnx = null;
PreparedStatement psInsertarLote = null,
psInsertarEstadoLote = null,
psCantidadLotes = null,
psInsertarDetalleLote = null,
psDesactivarUltimoEstadoFicha = null,
psRegistrarEstadoFicha = null;
ResultSet rsInsertarLote = null,
rsCantidadLotes = null;
ResponseHelper response = new ResponseHelper();
int cantidadLotes;
int codigoLoteGenerado;
String numeroGenerado;
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
cnx.setAutoCommit(false);
String sqlCantidadLote = "select count(1) as cantidad FROM ficha_lote";
psCantidadLotes = cnx.prepareStatement(sqlCantidadLote);
rsCantidadLotes = psCantidadLotes.executeQuery();
rsCantidadLotes.next();
cantidadLotes = rsCantidadLotes.getInt("cantidad");
numeroGenerado = numeroGenerado(cantidadLotes);
String sql
= "insert into ficha_lote "
+ "(numero_lote, estado_registro, tipo_lote) "
+ "VALUES (?,1,?)";
psInsertarLote = cnx.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
psInsertarLote.setString(1, numeroGenerado);
psInsertarLote.setString(2, data.getString("tipoLote"));
int resultadoInsertarLote = psInsertarLote.executeUpdate();
if (resultadoInsertarLote != 0) {
rsInsertarLote = psInsertarLote.getGeneratedKeys();
rsInsertarLote.next();
codigoLoteGenerado = rsInsertarLote.getInt(1);
String sqlInsertarDetalleLote
= "insert into detalle_ficha_lote (codigo_ficha_lote,codigo_ficha,estado_registro) "
+ "VALUES (?,?,1)";
psInsertarDetalleLote = cnx.prepareStatement(sqlInsertarDetalleLote);
JSONArray jsonArrayDetalleLote = data.getJSONArray("detallelote");
int longitudDetalleLote = data.getJSONArray("detallelote").length();
for (int i = 0; i < longitudDetalleLote; i++) {
psInsertarDetalleLote.setInt(1, codigoLoteGenerado);
psInsertarDetalleLote.setInt(2, jsonArrayDetalleLote.getJSONObject(i).getInt("codigoFicha"));
psInsertarDetalleLote.addBatch();
}
int resultadoInsertarDetalleLote[] = psInsertarDetalleLote.executeBatch();
int totalFilasDetalle = resultadoInsertarDetalleLote.length;
if (totalFilasDetalle != 0) {
String sqlInsertarEstadoLote
= "insert into estado_ficha_lote "
+ "(codigo_ficha_lote,codigo_tipo_estado_ficha_lote,fecha_registro,codigo_usuario,estado_registro) "
+ "VALUES (?,?,getdate(),?,1)";
psInsertarEstadoLote = cnx.prepareStatement(sqlInsertarEstadoLote);
psInsertarEstadoLote.setInt(1, codigoLoteGenerado);
psInsertarEstadoLote.setInt(2, 1);
psInsertarEstadoLote.setInt(3, usuario.getCodigoUsuario());
int resultadoInsertarEstadoLote = psInsertarEstadoLote.executeUpdate();
if (resultadoInsertarEstadoLote != 0) {
String sqlDesactivarUltimoEstadoFicha
= "update estado_ficha "
+ "set estado_registro = 0 "
+ "where codigo_ficha = ? and estado_registro = 1 ";
psDesactivarUltimoEstadoFicha = cnx.prepareStatement(sqlDesactivarUltimoEstadoFicha);
for (int i = 0; i < longitudDetalleLote; i++) {
psDesactivarUltimoEstadoFicha.setInt(1, jsonArrayDetalleLote.getJSONObject(i).getInt("codigoFicha"));
psDesactivarUltimoEstadoFicha.addBatch();
}
int resultadoDesactivarUltimoEstadoFicha[] = psDesactivarUltimoEstadoFicha.executeBatch();
int totalFilasDesactivarUltimoEstadoFicha = resultadoDesactivarUltimoEstadoFicha.length;
if (totalFilasDesactivarUltimoEstadoFicha != 0) {
String sqlRegistrarEstadoFicha
= "insert into estado_ficha "
+ "(codigo_ficha,codigo_tipo_estado_ficha,fecha_registro,codigo_usuario,estado_registro) "
+ "VALUES (?,6 ,getdate() ,? ,1)";
psRegistrarEstadoFicha = cnx.prepareStatement(sqlRegistrarEstadoFicha);
for (int i = 0; i < longitudDetalleLote; i++) {
psRegistrarEstadoFicha.setInt(1, jsonArrayDetalleLote.getJSONObject(i).getInt("codigoFicha"));
psRegistrarEstadoFicha.setInt(2, usuario.getCodigoUsuario());
psRegistrarEstadoFicha.addBatch();
}
int resultadoRegistrarEstadoFicha[] = psRegistrarEstadoFicha.executeBatch();
int totalFilasRegistrarEstadoFicha = resultadoRegistrarEstadoFicha.length;
if (totalFilasRegistrarEstadoFicha != 0) {
JSONObject jsonObjResultedKey = new JSONObject();
jsonObjResultedKey.put("getResultedKey", numeroGenerado);
response.setStatus(true);
response.setMessage("Se generó lote correctamente!");
response.setData(jsonObjResultedKey);
cnx.commit();
} else {
response.setStatus(false);
response.setMessage("No se pudo registrar los estados a la ficha");
cnx.rollback();
}
} else {
response.setStatus(false);
response.setMessage("Lo sentimos, no se pudo desactivar los estados de las fichas");
cnx.rollback();
}
} else {
response.setStatus(false);
response.setMessage("No se pudo registrar el estado de lote");
cnx.rollback();
}
} else {
response.setStatus(false);
response.setMessage("No se pudo registrar el detalle de lote");
cnx.rollback();
}
} else {
response.setStatus(false);
response.setMessage("Lo sentimos, no se pudo generar lote");
cnx.rollback();
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rsCantidadLotes != null) {
rsCantidadLotes.close();
}
if (rsInsertarLote != null) {
rsInsertarLote.close();
}
if (psRegistrarEstadoFicha != null) {
psRegistrarEstadoFicha.close();
}
if (psDesactivarUltimoEstadoFicha != null) {
psDesactivarUltimoEstadoFicha.close();
}
if (psInsertarDetalleLote != null) {
psInsertarDetalleLote.close();
}
if (psCantidadLotes != null) {
psCantidadLotes.close();
}
if (psInsertarLote != null) {
psInsertarLote.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonObjRegistrarLote = new JSONObject(response);
return jsonObjRegistrarLote;
}
private String numeroGenerado(int cantidad) {
System.out.println("LoteFichaSqlserverDAO: numeroGenerado");
int numeroLotes = cantidad + 1;
String x_numeroLotes = String.format("%05d", numeroLotes);
String fechaActual = CurrencyFormat.getActualDate("dd/MM/yyyy");
String dia = fechaActual.split("/")[0];
String mes = fechaActual.split("/")[1];
String anio = fechaActual.split("/")[2].substring(2);
return dia + mes + anio + x_numeroLotes;
}
@Override
public JSONObject listarLoteDT(String draw, String length, String start, String search) {
System.out.println("LoteFichaSqlserverDAO: listarLoteDT");
JSONObject jsonObjListarLoteDT = new JSONObject();
JSONArray jsonArrayListarLoteDT = new JSONArray();
Connection cnx = null;
PreparedStatement ps = null,
psCantidadLotes = null;
ResultSet rs = null,
rsCantidadLotes = null;
int cantidadLotes = 0;
String condicion = "";
if (!search.equals("")) {
condicion = " and ficha_lote.numero_lote = '" + search + "' ";
}
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
String sql
= "select top " + length + " "
+ "ficha_lote.codigo_ficha_lote codigoLote, "
+ "ficha_lote.numero_lote numeroLote, "
+ "ficha_lote.tipo_lote tipoLote, "
+ "format(estado_ficha_lote.fecha_registro,'dd/MM/yyyy') fechaRegistro, "
+ "upper(datename(mm, estado_ficha_lote.fecha_registro)) mes, "
+ "(select count(1) cantidadFichas "
+ "from detalle_ficha_lote x "
+ "where x.codigo_ficha_lote = ficha_lote.codigo_ficha_lote ) cantidadFichas, "
+ "tipo_estado_ficha_lote.nombre estadoActual, "
+ "'<span class=\"'+tipo_estado_ficha_lote.estilo+'\">'+tipo_estado_ficha_lote.nombre+'</span>' estilo "
+ "FROM ficha_lote "
+ "inner join estado_ficha_lote ON estado_ficha_lote.codigo_ficha_lote = ficha_lote.codigo_ficha_lote "
+ "inner join tipo_estado_ficha_lote ON tipo_estado_ficha_lote.codigo_tipo_estado_ficha_lote = estado_ficha_lote.codigo_tipo_estado_ficha_lote "
+ "where estado_ficha_lote.estado_registro = 1 "
+ "and ficha_lote.estado_registro = 1 "
+ "and ficha_lote.codigo_ficha_lote not in (select top " + start + " "
+ "x.codigo_ficha_lote "
+ "from ficha_lote x where x.codigo_ficha_lote = ficha_lote.codigo_ficha_lote order by 1 desc) "
+ "and estado_ficha_lote.codigo_tipo_estado_ficha_lote = 1"
+ condicion
+ "order by 1 desc";
ps = cnx.prepareStatement(sql);
rs = ps.executeQuery();
int numeroFilas = Integer.parseInt(start) + 1;
while (rs.next()) {
LoteFichaBean loteFicha = new LoteFichaBean();
loteFicha.setItem(numeroFilas++);
loteFicha.setCodigoFichaLote(rs.getInt("codigoLote"));
loteFicha.setNumeroLote(rs.getString("numeroLote"));
loteFicha.setTipoLote(rs.getString("tipoLote"));
loteFicha.setFechaRegistro(rs.getString("fechaRegistro"));
loteFicha.setNumeroFichas(rs.getInt("cantidadFichas"));
loteFicha.setEstadoLote(rs.getString("estadoActual"));
loteFicha.setEstilo(rs.getString("estilo"));
loteFicha.setMes(rs.getString("mes"));
JSONObject jsonObjLoteFicha = new JSONObject(loteFicha);
jsonArrayListarLoteDT.put(jsonObjLoteFicha);
}
String sqlCantidadLotes
= "select count(1) cantidadLotes "
+ "FROM ficha_lote "
+ "inner join dbo.estado_ficha_lote ON dbo.estado_ficha_lote.codigo_ficha_lote = dbo.ficha_lote.codigo_ficha_lote "
+ "where ficha_lote.estado_registro = 1 "
+ "and estado_ficha_lote.estado_registro = 1 "
+ "and estado_ficha_lote.codigo_tipo_estado_ficha_lote = 1 "
+ condicion;
psCantidadLotes = cnx.prepareStatement(sqlCantidadLotes);
rsCantidadLotes = psCantidadLotes.executeQuery();
rsCantidadLotes.next();
cantidadLotes = rsCantidadLotes.getInt("cantidadLotes");
jsonObjListarLoteDT.put("data", jsonArrayListarLoteDT);
jsonObjListarLoteDT.put("recordsFiltered", cantidadLotes);
jsonObjListarLoteDT.put("recordsTotal", cantidadLotes);
jsonObjListarLoteDT.put("draw", draw);
} catch (SQLException e) {
e.printStackTrace();
jsonObjListarLoteDT.put("status", false);
jsonObjListarLoteDT.put("message", "Error: " + e.getMessage() + " Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rsCantidadLotes != null) {
rsCantidadLotes.close();
}
if (rs != null) {
rs.close();
}
if (psCantidadLotes != null) {
psCantidadLotes.close();
}
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
return jsonObjListarLoteDT;
}
@Override
public JSONObject listarLoteGeneralDT(JSONObject json) {
System.out.println("LoteFichaSqlserverDAO: listarLoteGeneralDT");
JSONObject jsonObjListarLoteGeneral = new JSONObject();
JSONArray jsonArrayListarLoteGeneral = new JSONArray();
Connection cnx = null;
PreparedStatement ps = null, psCount = null;
ResultSet rs = null, rsCount = null;
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
String sql
= "select top " + json.getString("length") + " "
+ "ficha_lote.codigo_ficha_lote codigoLote, "
+ "ficha_lote.numero_lote numeroLote, "
+ "format(estado_ficha_lote.fecha_registro,'dd/MM/yyyy') fechaRegistro, "
+ "upper(datename(mm, estado_ficha_lote.fecha_registro)) mes, "
+ "(select count(1) cantidadFichas "
+ "from detalle_ficha_lote x "
+ "where x.codigo_ficha_lote = ficha_lote.codigo_ficha_lote ) cantidadFichas, "
+ "estado_ficha_lote.codigo_tipo_estado_ficha_lote codigoEstadoLote, "
+ "tipo_estado_ficha_lote.nombre estadoActual, "
+ "tipo_estado_ficha_lote.estilo estilo, "
+ "ficha_lote.tipo_lote tipoLote "
+ "FROM ficha_lote "
+ "inner join estado_ficha_lote "
+ "ON estado_ficha_lote.codigo_ficha_lote = ficha_lote.codigo_ficha_lote "
+ "inner join tipo_estado_ficha_lote "
+ "ON tipo_estado_ficha_lote.codigo_tipo_estado_ficha_lote = estado_ficha_lote.codigo_tipo_estado_ficha_lote "
+ "where estado_ficha_lote.estado_registro = 1 "
+ "and ficha_lote.estado_registro = 1 "
+ "and ficha_lote.codigo_ficha_lote not in "
+ "( "
+ "select top " + json.getString("start") + " "
+ "fl.codigo_ficha_lote "
+ "from ficha_lote fl "
+ "inner join estado_ficha_lote efl ON efl.codigo_ficha_lote = fl.codigo_ficha_lote "
+ "where efl.estado_registro = 1 "
+ condicionListarLoteGeneral(json.getJSONObject("data")) + " "
+ "order by 1 desc "
+ ") "
+ condicionListarLoteGeneral(json.getJSONObject("data")) + " "
+ "order by 1 desc;";
ps = cnx.prepareStatement(sql);
rs = ps.executeQuery();
int item = Integer.parseInt(json.getString("start")) + 1;
while (rs.next()) {
LoteFichaBean fichas = new LoteFichaBean();
fichas.setCodigoFichaLote(rs.getInt("codigoLote"));
fichas.setNumeroLote(rs.getString("numeroLote"));
fichas.setFechaRegistro(rs.getString("fechaRegistro"));
fichas.setMes(rs.getString("mes"));
fichas.setNumeroFichas(rs.getInt("cantidadFichas"));
fichas.setEstadoLote(rs.getString("estadoActual"));
fichas.setEstilo(rs.getString("estilo"));
fichas.setTipoLote(rs.getString("tipoLote"));
fichas.setItem(item++);
JSONObject jsonObjFichas = new JSONObject(fichas);
jsonObjFichas.put("codigoEstadoLote", rs.getInt("codigoEstadoLote"));
jsonArrayListarLoteGeneral.put(jsonObjFichas);
}
String sqlCount
= "select count(1) cantidad "
+ "FROM ficha_lote "
+ "inner join dbo.estado_ficha_lote ON dbo.estado_ficha_lote.codigo_ficha_lote = dbo.ficha_lote.codigo_ficha_lote "
+ "where ficha_lote.estado_registro = 1 "
+ "and estado_ficha_lote.estado_registro = 1 "
+ condicionListarLoteGeneral(json.getJSONObject("data"));
int count;
psCount = cnx.prepareStatement(sqlCount);
rsCount = psCount.executeQuery();
rsCount.next();
count = rsCount.getInt("cantidad");
jsonObjListarLoteGeneral.put("data", jsonArrayListarLoteGeneral);
jsonObjListarLoteGeneral.put("recordsFiltered", count);
jsonObjListarLoteGeneral.put("recordsTotal", count);
jsonObjListarLoteGeneral.put("draw", json.getString("draw"));
} catch (SQLException e) {
e.printStackTrace();
jsonObjListarLoteGeneral.put("status", false);
jsonObjListarLoteGeneral.put("message", "Error: " + e.getMessage() + " Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rsCount != null) {
rsCount.close();
}
if (rs != null) {
rs.close();
}
if (psCount != null) {
psCount.close();
}
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
return jsonObjListarLoteGeneral;
}
private String condicionListarLoteGeneral(JSONObject json) {
System.out.println("LoteFichaSqlserverDAO: condicionListarLoteGeneral");
int criterio = json.getInt("criterio");
int filtro = json.getInt("filtro");
String search = json.getString("search");
String search2 = json.getString("search2");
if (criterio == 1) {
return " and ficha_lote.numero_lote = '" + search + "' ";
}
if (criterio == 2) {
if (filtro == 1) {
return " and format(estado_ficha_lote.fecha_registro,'dd/MM/yyyy') >= '" + search + "' ";
}
if (filtro == 2) {
return " and format(estado_ficha_lote.fecha_registro,'dd/MM/yyyy') <= '" + search + "' ";
}
if (filtro == 3) {
return " and format(estado_ficha_lote.fecha_registro,'dd/MM/yyyy') = '" + search + "' ";
}
if (filtro == 4) {
return " and format(estado_ficha_lote.fecha_registro,'dd/MM/yyyy') between '" + search + "' and '" + search2 + "' ";
}
}
if (criterio == 3) {
if (filtro == 1) {
return " and (select count(1) from detalle_ficha_lote x where x.codigo_ficha_lote = ficha_lote.codigo_ficha_lote) >= " + search + " ";
}
if (filtro == 2) {
return " and (select count(1) from detalle_ficha_lote x where x.codigo_ficha_lote = ficha_lote.codigo_ficha_lote) <= " + search + " ";
}
if (filtro == 3) {
return " and (select count(1) from detalle_ficha_lote x where x.codigo_ficha_lote = ficha_lote.codigo_ficha_lote) = " + search + " ";
}
}
return "";
}
@Override
public JSONObject listarFichasGeneral(JSONObject json) {
System.out.println("LoteFichaSqlserverDAO: listarFichasGeneral");
JSONObject jsonObjListarFichasGeneral = null;
JSONArray jsonArrListarFichasGeneral = new JSONArray();
ResponseHelper response = new ResponseHelper();
String sueldo = "", inner = "", where = "";
PreparedStatement ps = null;
ResultSet rs = null;
Connection cnx = null;
if (json.getString("tipoLote").equals("A")) {
sueldo = "sueldo_administrativo.sueldo_escalafon sueldoEscalafon, "
+ "sueldo_administrativo.sueldo_mensual sueldoMensual,"
+ "sueldo_administrativo.sueldo_presidencia sueldoPresidencia ";
inner = "inner join sueldo_administrativo ON sueldo_administrativo.codigo_ficha = ficha_laboral.codigo_ficha ";
where = "sueldo_administrativo.estado_registro = 1";
} else if (json.getString("tipoLote").equals("D")) {
sueldo = "sueldo_docente.costo_mensual costoMensualDocente, "
+ "sueldo_docente.costo_a costoaDocente, "
+ "sueldo_docente.costo_b costobDocente, "
+ "sueldo_docente.costo_c costocDocente ";
inner = "inner join sueldo_docente ON sueldo_docente.codigo_ficha = ficha_laboral.codigo_ficha ";
where = "sueldo_docente.estado_registro = 1 ";
}
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
String sql
= "select "
+ "persona.codigo_persona codigoPersona, "
+ "detalle_ficha_lote.codigo_ficha_lote codigoFichaLote, "
+ "detalle_ficha_lote.codigo_ficha codigoFicha, "
+ "persona.apellido_paterno apellidoPaterno, "
+ "persona.apellido_materno apellidoMaterno, "
+ "persona.nombre nombre, "
+ "tipo_documento.descripcion_corta tipoDocumento, "
+ "persona.numero_documento numeroDocumento, "
+ "format(ficha_laboral.fecha_ingreso,'dd/MM/yyyy') fechaIngreso, "
+ sueldo + " "
+ "FROM detalle_ficha_lote "
+ "inner join ficha_laboral ON ficha_laboral.codigo_ficha = detalle_ficha_lote.codigo_ficha "
+ "inner join ficha ON ficha.codigo_ficha = ficha_laboral.codigo_ficha "
+ "inner join persona ON persona.codigo_persona = ficha.codigo_persona "
+ "inner join tipo_documento ON tipo_documento.codigo_tipo_documento = persona.codigo_tipo_documento "
+ "inner join estado_ficha ON estado_ficha.codigo_ficha = ficha.codigo_ficha "
+ inner + " "
+ "where " + where + " "
+ "and estado_ficha.estado_registro = 1 "
+ "and detalle_ficha_lote.codigo_ficha_lote = ? ";
ps = cnx.prepareStatement(sql);
ps.setInt(1, json.getInt("codigoLote"));
rs = ps.executeQuery();
while (rs.next()) {
JSONObject jsonObj = new JSONObject();
jsonObj.put("codigoPersona", isNullOrEmpty(rs.getString("codigoPersona")) ? rs.getInt("codigoPersona") : 0);
jsonObj.put("codigoLote", isNullOrEmpty(rs.getString("codigoFichaLote")) ? rs.getInt("codigoFichaLote") : 0);
jsonObj.put("codigoFicha", isNullOrEmpty(rs.getString("codigoFicha")) ? rs.getInt("codigoFicha") : 0);
jsonObj.put("apellidoPaterno", isNullOrEmpty(rs.getString("apellidoPaterno")) ? rs.getString("apellidoPaterno") : "");
jsonObj.put("apellidoMaterno", isNullOrEmpty(rs.getString("apellidoMaterno")) ? rs.getString("apellidoMaterno") : "");
jsonObj.put("nombre", isNullOrEmpty(rs.getString("nombre")) ? rs.getString("nombre") : "");
jsonObj.put("tipoDocumento", isNullOrEmpty(rs.getString("tipoDocumento")) ? rs.getString("tipoDocumento") : "");
jsonObj.put("numeroDocumento", isNullOrEmpty(rs.getString("numeroDocumento")) ? rs.getString("numeroDocumento") : "");
jsonObj.put("fechaIngreso", isNullOrEmpty(rs.getString("fechaIngreso")) ? rs.getString("fechaIngreso") : "");
if (json.getString("tipoLote").equals("A")) {
jsonObj.put("sueldoEscalafon", isNullOrEmpty(rs.getString("sueldoEscalafon")) ? CurrencyFormat.getCustomCurrency(rs.getDouble("sueldoEscalafon")) : "0.00");
jsonObj.put("sueldoMensual", isNullOrEmpty(rs.getString("sueldoMensual")) ? CurrencyFormat.getCustomCurrency(rs.getDouble("sueldoMensual")) : "0.00");
jsonObj.put("sueldoPresidencia", isNullOrEmpty(rs.getString("sueldoPresidencia")) ? CurrencyFormat.getCustomCurrency(rs.getDouble("sueldoPresidencia")) : "0.00");
} else if (json.getString("tipoLote").equals("D")) {
jsonObj.put("costoMensualDocente", isNullOrEmpty(rs.getString("costoMensualDocente")) ? CurrencyFormat.getCustomCurrency(rs.getDouble("costoMensualDocente")) : "0.00");
jsonObj.put("costoaDocente", isNullOrEmpty(rs.getString("costoaDocente")) ? CurrencyFormat.getCustomCurrency(rs.getDouble("costoaDocente")) : "0.00");
jsonObj.put("costobDocente", isNullOrEmpty(rs.getString("costobDocente")) ? CurrencyFormat.getCustomCurrency(rs.getDouble("costobDocente")) : "0.00");
jsonObj.put("costocDocente", isNullOrEmpty(rs.getString("costocDocente")) ? CurrencyFormat.getCustomCurrency(rs.getDouble("costocDocente")) : "0.00");
}
jsonArrListarFichasGeneral.put(jsonObj);
}
JSONObject jsonObj = new JSONObject();
jsonObj.put("fichas", jsonArrListarFichasGeneral);
jsonObj.put("count", jsonArrListarFichasGeneral.length());
response.setStatus(true);
response.setMessage("Se listo correctamente los datos de la ficha.");
response.setData(jsonObj);
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonObjListarFichasGeneral = new JSONObject(response);
return jsonObjListarFichasGeneral;
}
private static boolean isNullOrEmpty(String param) {
System.out.println("LoteFichaSqlserverDAO: isNullOrEmpty");
if (param == null) {
return false;
}
if (param.trim().length() == 0) {
return false;
}
return true;
}
@Override
public JSONObject listarDetalleFicha(JSONObject json) {
System.out.println("LoteFichaSqlserverDAO: listarDetalleFicha");
JSONObject jsonObj = new JSONObject();
PreparedStatement ps = null;
ResultSet rs = null;
Connection cnx = null;
ResponseHelper response = new ResponseHelper();
String base = "planillabd";
try {
cnx = MysqlDAOFactory.obtenerConexion(base);
} catch (Exception e) {
}
return jsonObj;
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import trismegistoplanilla.dao.AreaCargoDAO;
import trismegistoplanilla.dao.AreaCargoTipoPagoDAO;
import trismegistoplanilla.dao.AreaDAO;
import trismegistoplanilla.dao.CargaFamiliarDAO;
import trismegistoplanilla.dao.CargoDAO;
import trismegistoplanilla.dao.CarreraProfesionalDAO;
import trismegistoplanilla.dao.ConfiguracionFichaDAO;
import trismegistoplanilla.dao.DAOFactory;
import trismegistoplanilla.dao.DetalleLoteFichaDocenteDAO;
import trismegistoplanilla.dao.EscalafonDAO;
import trismegistoplanilla.dao.EstadoCivilDAO;
import trismegistoplanilla.dao.EstadoEstudioDAO;
import trismegistoplanilla.dao.EstadoFichaDAO;
import trismegistoplanilla.dao.ExpedienteDAO;
import trismegistoplanilla.dao.ExperienciaLaboralDAO;
import trismegistoplanilla.dao.FichaDAO;
import trismegistoplanilla.dao.FichaLaboralDAO;
import trismegistoplanilla.dao.FondoPensionDAO;
import trismegistoplanilla.dao.FormacionAcademicaDAO;
import trismegistoplanilla.dao.LoteFichaDAO;
import trismegistoplanilla.dao.NacionalidadDAO;
import trismegistoplanilla.dao.NivelEstadoDAO;
import trismegistoplanilla.dao.NivelEstudioDAO;
import trismegistoplanilla.dao.ParentescoDAO;
import trismegistoplanilla.dao.PersonaDAO;
import trismegistoplanilla.dao.ReportePersonalDAO;
import trismegistoplanilla.dao.SedeAreaDAO;
import trismegistoplanilla.dao.SedeDAO;
import trismegistoplanilla.dao.TipoDocumentoDAO;
import trismegistoplanilla.dao.TipoEstadoFichaDAO;
import trismegistoplanilla.dao.TipoExpedienteDAO;
import trismegistoplanilla.dao.TipoPagoDAO;
import trismegistoplanilla.dao.TokenFichaDAO;
import trismegistoplanilla.dao.TrabajadorResponsableDAO;
import trismegistoplanilla.dao.UbigeoDAO;
import trismegistoplanilla.dao.VacanteDAO;
public class MysqlDAOFactory extends DAOFactory {
static {
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
}
public static Connection obtenerConexion(String base) {
Connection conexion = null;
String user;
String pwd;
String url;
if (base.equalsIgnoreCase("planillabd")) {
user = "sa";
url = "jdbc:sqlserver://172.16.0.5:1433;databaseName=planillabd";
pwd = "Saco1357$";
try {
conexion = DriverManager.getConnection(url, user, pwd);
} catch (SQLException e) {
e.printStackTrace();
}
}
return conexion;
}
@Override
public TipoDocumentoDAO getTipoDocumentoDAO() {
return new TipoDocumentoMysqlDAO();
}
@Override
public PersonaDAO getPersonaDAO() {
return new PersonaMysqlDAO();
}
@Override
public FichaDAO getFichaDAO() {
return new FichaMysqlDAO();
}
@Override
public TokenFichaDAO getTokenFichaDAO() {
return new TokenFichaMysqlDAO();
}
@Override
public EstadoCivilDAO getEstadoCivilDAO() {
return new EstadoCivilMysqlDAO();
}
@Override
public NacionalidadDAO getNacionalidadDAO() {
return new NacionalidadMysqlDAO();
}
@Override
public UbigeoDAO getUbigeoDAO() {
return new UbigeoMysqlDAO();
}
@Override
public ParentescoDAO getParentescoDAO() {
return new ParentescoMysqlDAO();
}
@Override
public CargaFamiliarDAO getCargaFamiliarDAO() {
return new CargaFamiliarMysqlDAO();
}
@Override
public CarreraProfesionalDAO getCarreraProfesionalDAO() {
return new CarreraProfesionalMysqlDAO();
}
@Override
public NivelEstudioDAO getNivelEstudioDAO() {
return new NivelEstudioMysqlDAO();
}
@Override
public EstadoEstudioDAO getEstadoEstudioDAO() {
return new EstadoEstudioMysqlDAO();
}
@Override
public NivelEstadoDAO getNivelEstadoDAO() {
return new NivelEstadoMysqlDAO();
}
@Override
public FondoPensionDAO getFondoPensionDAO() {
return new FondoPensionMysqlDAO();
}
@Override
public ExperienciaLaboralDAO getExperienciaLaboralDAO() {
return new ExperienciaLaboralMysqlDAO();
}
@Override
public FormacionAcademicaDAO getFormacionAcademicaDAO() {
return new FormacionAcademicaMysqlDAO();
}
@Override
public SedeDAO getSedeDAO() {
return new SedeMysqlDAO();
}
@Override
public AreaDAO getAreaDAO() {
return new AreaMysqlDAO();
}
@Override
public SedeAreaDAO getSedeAreaDAO() {
return new SedeAreaMysqlDAO();
}
@Override
public TrabajadorResponsableDAO getTrabajadorResponsableDAO() {
return new TrabajadorResponsableMysqlDAO();
}
@Override
public CargoDAO getCargoDAO() {
return new CargoMysqlDAO();
}
@Override
public EscalafonDAO getEscalafonDAO() {
return new EscalafonMysqlDAO();
}
@Override
public EstadoFichaDAO getEstadoFichaDAO() {
return new EstadoFichaMysqlDAO();
}
@Override
public FichaLaboralDAO getFichaLaboralDAO() {
return new FichaLaboralMysqlDAO();
}
@Override
public AreaCargoDAO getAreaCargoDAO() {
return new AreaCargoMysqlDAO();
}
@Override
public TipoPagoDAO getTipoPagoDAO() {
return new TipoPagoMysqlDAO();
}
@Override
public AreaCargoTipoPagoDAO getAreaCargoTipoPagoDAO() {
return new AreaCargoTipoPagoMysqlDAO();
}
@Override
public LoteFichaDAO getLoteFichaDAO() {
return new LoteFichaMysqlDAO();
}
@Override
public TipoEstadoFichaDAO getTipoEstadoFichaDAO() {
return new TipoEstadoFichaMysqlDAO();
}
@Override
public DetalleLoteFichaDocenteDAO getDetalleLoteFichaDocenteDAO() {
return new DetalleLoteFichaDocenteMysqlDAO();
}
@Override
public ExpedienteDAO getExpedienteDAO() {
return new ExpedienteMysqlDAO();
}
@Override
public TipoExpedienteDAO getTipoExpedienteDAO() {
return new TipoExpedienteMysqlDAO();
}
@Override
public ConfiguracionFichaDAO getConfiguracionFichaDAO() {
return new ConfiguracionFichaMysqlDAO();
}
@Override
public ReportePersonalDAO getReportePersonalDAO() {
return new ReportePersonalMysqlDAO();
}
@Override
public VacanteDAO getVacanteDAO() {
return new VacanteMysqlDAO();
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.json.JSONArray;
import org.json.JSONObject;
import trismegistoplanilla.beans.NacionalidadBean;
import trismegistoplanilla.dao.NacionalidadDAO;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class NacionalidadMysqlDAO implements NacionalidadDAO {
@Override
public JSONObject listarNacionalidad() {
System.out.println("NacionalidadSqlserverDAO: listarNacionalidad");
JSONObject jsonListarNacionalidad = null;
JSONArray jsonArrayListarNacionalidad = new JSONArray();
Connection connection = null;
PreparedStatement ps = null;
ResultSet rs = null;
ResponseHelper response = new ResponseHelper();
try {
connection = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
String sql
= "select codigo_nacionalidad codigoNacionalidad, "
+ "pais pais, "
+ "gentilicio gentilicio, "
+ "iso iso, "
+ "estado_registro estadoRegistro "
+ "FROM nacionalidad where estado_registro = 1";
ps = connection.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
NacionalidadBean nacionalidad = new NacionalidadBean();
nacionalidad.setCodigoNacionalidad(rs.getInt("codigoNacionalidad"));
nacionalidad.setPais(rs.getString("pais"));
nacionalidad.setGentilicio(rs.getString("gentilicio"));
nacionalidad.setIso(rs.getString("iso"));
nacionalidad.setEstadoRegistro(rs.getInt("estadoRegistro"));
JSONObject jsonObjListarNacionalidad = new JSONObject(nacionalidad);
jsonArrayListarNacionalidad.put(jsonObjListarNacionalidad);
}
JSONObject jsonObjListarNacionalidad = new JSONObject();
jsonObjListarNacionalidad.put("Nacionalidades", jsonArrayListarNacionalidad);
response.setStatus(true);
response.setMessage("Las nacionalidades se han listado correctamente");
response.setData(jsonObjListarNacionalidad);
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonListarNacionalidad = new JSONObject(response);
return jsonListarNacionalidad;
}
@Override
public JSONObject validarExistenciaNacionalidad(NacionalidadBean nacionalidad) {
System.out.println("NacionalidadSqlserverDAO: validarExistenciaNacionalidad");
JSONObject jsonvalidadExistenciaNacionalidad = null;
ResponseHelper response = new ResponseHelper();
int existeEstadoCivil = 0;
Connection connection = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
connection = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
String sql
= "select "
+ "count(1) as existeNacionalidad "
+ "from nacionalidad "
+ "where codigo_nacionalidad = ? and estado_registro = 1";
ps = connection.prepareStatement(sql);
ps.setInt(1, nacionalidad.getCodigoNacionalidad());
rs = ps.executeQuery();
rs.next();
existeEstadoCivil = rs.getInt("existeNacionalidad");
if (existeEstadoCivil > 0) {
response.setStatus(true);
response.setMessage("La nacionalidad seleccionada existe.");
} else {
response.setStatus(false);
response.setMessage("La nacionalidad seleccionada no existe.");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonvalidadExistenciaNacionalidad = new JSONObject(response);
return jsonvalidadExistenciaNacionalidad;
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.json.JSONObject;
import trismegistoplanilla.beans.NivelEstadoBean;
import trismegistoplanilla.dao.NivelEstadoDAO;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class NivelEstadoMysqlDAO implements NivelEstadoDAO {
@Override
public JSONObject obtenerNivelEstado(NivelEstadoBean nivelEstado) {
System.out.println("NivelEstadoSqlserverDAO: obtenerNivelEstado");
JSONObject jsonObtenerNivelEstado = null;
PreparedStatement ps = null;
ResultSet rs = null;
Connection connection = null;
int codigoNivelEstado = 0;
ResponseHelper response = new ResponseHelper();
try {
connection = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
String sql
= "select "
+ "nivel_estado.codigo_nivel_estado as codigoNivelEstado "
+ "from nivel_estado "
+ "where nivel_estado.codigo_nivel_estudio = ? "
+ "and nivel_estado.codigo_estado_estudio = ? "
+ "and nivel_estado.estado_registro = 1";
ps = connection.prepareStatement(sql);
ps.setInt(1, nivelEstado.getCodigoNivelEstudio());
ps.setInt(2, nivelEstado.getCodigoEstadoEstudio());
rs = ps.executeQuery();
rs.next();
codigoNivelEstado = rs.getInt("codigoNivelEstado");
if (codigoNivelEstado > 0) {
JSONObject getResultedKey = new JSONObject();
getResultedKey.put("getResultedKey", codigoNivelEstado);
response.setStatus(true);
response.setData(getResultedKey);
response.setMessage("Se obtuvo el código correctamente");
} else {
response.setStatus(false);
response.setMessage("No se pudo obtener el código");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonObtenerNivelEstado = new JSONObject(response);
return jsonObtenerNivelEstado;
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.json.JSONArray;
import org.json.JSONObject;
import trismegistoplanilla.beans.NivelEstudioBean;
import trismegistoplanilla.dao.NivelEstudioDAO;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class NivelEstudioMysqlDAO implements NivelEstudioDAO {
@Override
public JSONObject validarExistenciaNivelEstudio(NivelEstudioBean nivelEstudio) {
System.out.println("NivelEstudioSqlserverDAO: validarExistenciaNivelEstudio");
JSONObject jsonValidarExistenciaNivelEstudio = null;
ResponseHelper response = new ResponseHelper();
int existeNivelEstudio = 0;
Connection connection = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
connection = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
String sql
= "select "
+ "count (1) as existeNivelEstudio "
+ "from nivel_estado "
+ "inner join dbo.nivel_estudio ON dbo.nivel_estudio.codigo_nivel_estudio = dbo.nivel_estado.codigo_nivel_estudio "
+ "where nivel_estudio.estado_registro = 1 and nivel_estado.codigo_nivel_estudio = ?";
ps = connection.prepareStatement(sql);
ps.setInt(1, nivelEstudio.getCodigoNivelEstudio());
rs = ps.executeQuery();
rs.next();
existeNivelEstudio = rs.getInt("existeNivelEstudio");
if (existeNivelEstudio > 0) {
response.setStatus(true);
response.setMessage("El nivel estudio seleccionado existe.");
} else {
response.setStatus(false);
response.setMessage("El nivel estudio seleccionado no existe.");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonValidarExistenciaNivelEstudio = new JSONObject(response);
return jsonValidarExistenciaNivelEstudio;
}
@Override
public JSONObject listarNivelEstudio() {
System.out.println("NivelEstudioSqlserverDAO: listarNivelEstudio");
JSONObject jsonListarNivelEstudio = null;
JSONArray jsonArrayListarNivelEstudio = new JSONArray();
ResponseHelper response = new ResponseHelper();
Connection connection = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
connection = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
String sql
= "select "
+ "nivel_estudio.codigo_nivel_estudio codigoNivelEstudio, "
+ "nivel_estudio.nombre nombreNivelEstudio "
+ "from nivel_estado "
+ "inner join dbo.nivel_estudio ON dbo.nivel_estudio.codigo_nivel_estudio = dbo.nivel_estado.codigo_nivel_estudio "
+ "where nivel_estudio.estado_registro = 1 "
+ "group by nivel_estudio.codigo_nivel_estudio, nivel_estudio.nombre";
ps = connection.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
NivelEstudioBean nivelEstudio = new NivelEstudioBean();
nivelEstudio.setCodigoNivelEstudio(rs.getInt("codigoNivelEstudio"));
nivelEstudio.setNombre(rs.getString("nombreNivelEstudio"));
JSONObject jsonObjNivelEstudio = new JSONObject(nivelEstudio);
jsonArrayListarNivelEstudio.put(jsonObjNivelEstudio);
}
JSONObject jsonObjEstadoEstudio = new JSONObject();
jsonObjEstadoEstudio.put("nivelestudio", jsonArrayListarNivelEstudio);
response.setStatus(true);
response.setMessage("Los niveles de estudio se han listado correctamente");
response.setData(jsonObjEstadoEstudio);
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonListarNivelEstudio = new JSONObject(response);
return jsonListarNivelEstudio;
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.json.JSONArray;
import org.json.JSONObject;
import trismegistoplanilla.beans.ParentescoBean;
import trismegistoplanilla.dao.ParentescoDAO;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class ParentescoMysqlDAO implements ParentescoDAO {
@Override
public JSONObject listarParentesco() {
System.out.println("ParentescoSqlserverDAO: listarParentesco");
JSONObject jsonListarParentesco = null;
JSONArray jsonArrayListarParentesco = new JSONArray();
PreparedStatement ps = null;
ResultSet rs = null;
Connection connection = null;
ResponseHelper response = new ResponseHelper();
try {
connection = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
String sql
= "select "
+ "codigo_parentesco codigoParentesco, "
+ "nombre nombre, "
+ "estado_registro estadoRegistro "
+ "FROM parentesco "
+ "where estado_registro = 1";
ps = connection.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
ParentescoBean parentesco = new ParentescoBean();
parentesco.setCodigoParentesco(rs.getInt("codigoParentesco"));
parentesco.setNombre(rs.getString("nombre"));
parentesco.setEstado_registro(rs.getInt("estadoRegistro"));
JSONObject jsonObjParentesco = new JSONObject(parentesco);
jsonArrayListarParentesco.put(jsonObjParentesco);
}
JSONObject jsonObjParentesco = new JSONObject();
jsonObjParentesco.put("parentescos", jsonArrayListarParentesco);
response.setStatus(true);
response.setMessage("Los parentescos se han listado correctamente");
response.setData(jsonObjParentesco);
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonListarParentesco = new JSONObject(response);
return jsonListarParentesco;
}
@Override
public JSONObject validarExistenciaParentesco(ParentescoBean parentesco) {
System.out.println("ParentescoSqlserverDAO: validarExistenciaParentesco");
JSONObject jsonValidarExistenciaParentesco = null;
ResponseHelper response = new ResponseHelper();
int existeParentesco = 0;
Connection connection = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
connection = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
String sql
= "select "
+ "count(1) as existeParentesco "
+ "from parentesco "
+ "where codigo_parentesco = ? and estado_registro = 1";
ps = connection.prepareStatement(sql);
ps.setInt(1, parentesco.getCodigoParentesco());
rs = ps.executeQuery();
rs.next();
existeParentesco = rs.getInt("existeParentesco");
if (existeParentesco > 0) {
response.setStatus(true);
response.setMessage("El parentesco seleccionado existe.");
} else {
response.setStatus(false);
response.setMessage("El parentesco seleccionado no existe.");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonValidarExistenciaParentesco = new JSONObject(response);
return jsonValidarExistenciaParentesco;
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.json.JSONArray;
import org.json.JSONObject;
import trismegistoplanilla.beans.Correo;
import trismegistoplanilla.beans.EstadoFichaBean;
import trismegistoplanilla.beans.PersonaBean;
import trismegistoplanilla.beans.TokenFichaBean;
import trismegistoplanilla.dao.PersonaDAO;
import trismegistoplanilla.utilities.EmailDesign;
import trismegistoplanilla.utilities.Encriptar;
import trismegistoplanilla.utilities.EncryptAction;
import trismegistoplanilla.utilities.GenerateCodeVerification;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class PersonaMysqlDAO implements PersonaDAO {
@Override
public JSONObject validarExistenciaNumeroDocumento(PersonaBean p) {
System.out.println("PersonaSqlserverDAO: validarExistenciaNumeroDocumento");
JSONObject jsonObjValidarExistenciaNumeroDocumento = null;
ResponseHelper response = new ResponseHelper();
int existeNumeroDocumento = 0;
String sql = ""
+ "select "
+ "count(1) existeNumeroDocumento "
+ "from persona "
+ "where estado_registro = 1 and codigo_tipo_documento = ? and numero_documento = ?";
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = conexion.prepareStatement(sql);
ps.setInt(1, p.getCodigoTipoDocumento());
ps.setString(2, p.getNumeroDocumento());
rs = ps.executeQuery();
rs.next();
existeNumeroDocumento = rs.getInt("existeNumeroDocumento");
if (existeNumeroDocumento > 0) {
response.setStatus(false);
response.setMessage("Error, el número de documento que acaba de ingresar, ya se encuentra registrado en el sistema.");
} else if (existeNumeroDocumento == 0) {
response.setStatus(true);
response.setMessage("El número de documento puede ser registrado.");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonObjValidarExistenciaNumeroDocumento = new JSONObject(response);
return jsonObjValidarExistenciaNumeroDocumento;
}
@Override
public JSONObject validarExistenciaCorreoElectronico(PersonaBean p) {
System.out.println("PersonaSqlserverDAO: validarExistenciaCorreoElectronico");
JSONObject jsonObjValidarExistenciaCorreoElectronico = null;
ResponseHelper response = new ResponseHelper();
int existeCorreoElectronico = 0;
String sql = ""
+ "select "
+ "count(1) existeCorreoElectronico "
+ "from persona "
+ "where estado_registro = 1 and correo = ?";
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = conexion.prepareStatement(sql);
ps.setString(1, p.getCorreo());
rs = ps.executeQuery();
rs.next();
existeCorreoElectronico = rs.getInt("existeCorreoElectronico");
if (existeCorreoElectronico > 0) {
response.setStatus(false);
response.setMessage("Error, el correo electrónico que acaba de ingresar, ya se encuentra registrado en el sistema.");
} else if (existeCorreoElectronico == 0) {
response.setStatus(true);
response.setMessage("El correo electrónico puede ser registrado.");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonObjValidarExistenciaCorreoElectronico = new JSONObject(response);
return jsonObjValidarExistenciaCorreoElectronico;
}
@Override
public JSONObject registrarPersona(PersonaBean p, EstadoFichaBean ef, TokenFichaBean tf) {
System.out.println("PersonaSqlserverDAO: registrarPersona");
JSONObject jsonObjRegistrarPersona = null;
ResponseHelper response = new ResponseHelper();
String sqlPersona = ""
+ "insert into persona "
+ "(apellido_paterno, "
+ "apellido_materno, "
+ "nombre, "
+ "codigo_tipo_documento, "
+ "numero_documento, "
+ "correo, "
+ "is_default_mail, "
+ "estado_registro) "
+ "values "
+ "("
+ "upper(rtrim(ltrim(?))), "
+ "upper(rtrim(ltrim(?))), "
+ "upper(rtrim(ltrim(?))), "
+ "upper(rtrim(ltrim(?))), "
+ "upper(rtrim(ltrim(?))), "
+ "upper(rtrim(ltrim(?))), "
+ "upper(rtrim(ltrim(?))), "
+ "1)";
Connection conexion = null;
PreparedStatement psPersona = null, psFicha = null, psEstadoFicha = null, psTokenFicha = null, psObtenerToken = null, psObtenerCodigoFicha = null;
ResultSet rsPersona = null, rsFicha = null, rsEstadoFicha = null, rsTokenFicha = null, rsObtenerToken = null, rsObtenerCodigoFicha = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
conexion.setAutoCommit(false);
psPersona = conexion.prepareStatement(sqlPersona, Statement.RETURN_GENERATED_KEYS);
psPersona.setString(1, p.getApellidoPaterno());
psPersona.setString(2, p.getApellidoMaterno());
psPersona.setString(3, p.getNombre());
psPersona.setInt(4, p.getCodigoTipoDocumento());
psPersona.setString(5, p.getNumeroDocumento());
psPersona.setString(6, p.getCorreo());
psPersona.setInt(7, p.getIsDefaultMail());
int resultRegistrarPersona = psPersona.executeUpdate();
if (resultRegistrarPersona > 0) {
rsPersona = psPersona.getGeneratedKeys();
rsPersona.next();
int codigoPersona = rsPersona.getInt(1);
/*-************ REGISTRAR FICHA **************-*/
String sqlFicha = ""
+ "insert into ficha ( "
+ "codigo_persona "
+ ",estado_registro "
+ ") "
+ "values ( "
+ "? "
+ ",1 "
+ ")";
conexion.setAutoCommit(false);
psFicha = conexion.prepareStatement(sqlFicha, Statement.RETURN_GENERATED_KEYS);
psFicha.setInt(1, codigoPersona);
int resultRegistrarFicha = psFicha.executeUpdate();
if (resultRegistrarFicha > 0) {
rsFicha = psFicha.getGeneratedKeys();
rsFicha.next();
int codigoFicha = rsFicha.getInt(1);
/*-************ REGISTRAR ESTADO DE FICHA **************-*/
String sqlEstadoFicha = ""
+ "insert into estado_ficha ( "
+ "codigo_ficha "
+ ",codigo_tipo_estado_ficha "
+ ",fecha_registro "
+ ",codigo_usuario "
+ ",estado_registro "
+ ") VALUES ( "
+ "?, "
+ "1, "
+ "getdate(), "
+ "?, "
+ "1 "
+ ")";
conexion.setAutoCommit(false);
psEstadoFicha = conexion.prepareStatement(sqlEstadoFicha);
psEstadoFicha.setInt(1, codigoFicha);
psEstadoFicha.setInt(2, ef.getCodigoUsuario());
int resultRegistrarEstadoFicha = psEstadoFicha.executeUpdate();
if (resultRegistrarEstadoFicha > 0) {
/*-************ REGISTRAR TOKEN DE FICHA **************-*/
String sqlTokenFicha = ""
+ "insert into token_ficha "
+ " ( "
+ "codigo_ficha "
+ ",codigo_verificacion "
+ ",fecha_creacion "
+ ",fecha_expiracion "
+ ",token "
+ ",codigo_sede_area"
+ ",codigo_area_cargo"
+ ",estado_registro "
+ ") "
+ "values ( "
+ "? "
+ ",? "
+ ",getdate() "
+ ",dateadd(dd, 1, getdate()) "
+ ",lower(newid()) "
+ ",?"
+ ",?"
+ ",1 "
+ ")";
String CodeVerification = GenerateCodeVerification.randomString(6); // almacenar el codigo de verificacion a enviar
conexion.setAutoCommit(false);
psTokenFicha = conexion.prepareStatement(sqlTokenFicha, Statement.RETURN_GENERATED_KEYS);
psTokenFicha.setInt(1, codigoFicha);
psTokenFicha.setString(2, CodeVerification);
psTokenFicha.setInt(3, tf.getCodigoSedeArea());
psTokenFicha.setInt(4, tf.getCodigoAreaCargo());
int resultRegistrarTokenFicha = psTokenFicha.executeUpdate();
if (resultRegistrarTokenFicha > 0) {
rsTokenFicha = psTokenFicha.getGeneratedKeys();
rsTokenFicha.next();
int codigoTokenFicha = rsTokenFicha.getInt(1);
/*-************ OBTENER TOKEN FICHA **************-*/
String sqlGetToken = ""
+ "select "
+ "token "
+ "from token_ficha "
+ "where codigo_token_ficha = ? and estado_registro = 1";
conexion.setAutoCommit(false);
psObtenerToken = conexion.prepareStatement(sqlGetToken);
psObtenerToken.setInt(1, codigoTokenFicha);
rsObtenerToken = psObtenerToken.executeQuery();
rsObtenerToken.next();
String token = rsObtenerToken.getString("token");
/*-************ ENVIAR CORREO ELECT. **************-*/
Correo c = new Correo();
c.setDestino(p.getCorreo());
c.setAsunto("BIENVENIDO A TRISMEGISTO PLANILLA");
String encriptarAccion = Encriptar.encriptar("validar-token-ficha", "TR1SM3G1ST0-PL4N1LL4-SO");
String[] accionArr = Encriptar.reemplazar(encriptarAccion);
String encriptarID = Encriptar.encriptar(String.valueOf(codigoTokenFicha), "TR1SM3G1ST0-ID-PL4N1LL4-SO");
String[] idArr = Encriptar.reemplazar(encriptarID);
// c.setMensaje(EmailDesign.correoDesign(CodeVerification, "http://app8.sacooliveros.edu.pe:8080/TrismegistoPlanilla/TokenFichaServlet?accion=" + EncryptAction.Encriptar("validarTokenFicha", "TR1SM3G1ST0-PL4N1LL4") + "&id=" + EncryptAction.Encriptar(String.valueOf(codigoTokenFicha), "TR1SM3G1ST0-ID-PL4N1LL4") + "&token=" + token));
// c.setMensaje(EmailDesign.correoDesign(CodeVerification, "http://" + Variables.BD_HOST + ":8080/TrismegistoPlanillaFicha/verify?action=" + accionArr[1] + "&id=" + idArr[1] + "&token=" + token + "&file=" + codigoFicha));
// c.setMensaje(EmailDesign.correoDesign(CodeVerification, "http://app8.sacooliveros.edu.pe:8080/TrismegistoPlanilla/TokenFichaServlet?accion=" + EncryptAction.Encriptar("validarTokenFicha", "TR1SM3G1ST0-PL4N1LL4") + "&id=" + EncryptAction.Encriptar(String.valueOf(codigoTokenFicha), "TR1SM3G1ST0-ID-PL4N1LL4") + "&token=" + token));
c.setMensaje(EmailDesign.correoDesign(CodeVerification, "http://172.16.2.91:8080/TrismegistoPlanilla/TokenFichaServlet?accion=" + EncryptAction.Encriptar("validarTokenFicha", "TR1SM3G1ST0-PL4N1LL4") + "&id=" + EncryptAction.Encriptar(String.valueOf(codigoTokenFicha), "TR1SM3G1ST0-ID-PL4N1LL4") + "&token=" + token));
CorreoMysqlDAO correo = new CorreoMysqlDAO();
if (correo.enviarCorreo(c)) {
response.setStatus(true);
response.setMessage("La ficha se ha registrado con éxito. Hemos enviado un correo electrónico el cuál permitirá proceder con el registro, gracias.");
conexion.commit();
} else {
response.setStatus(false);
response.setMessage("Ha ocurrido un error, no se ha podido registrar la ficha. Por favor contactarse con el área de sistemas, gracias.");
conexion.rollback();
}
} else {
conexion.rollback();
}
} else {
conexion.rollback();
}
} else {
conexion.rollback();
}
} else {
conexion.rollback();
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} catch (Exception e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage());
} finally {
try {
if (rsPersona != null) {
rsPersona.close();
}
if (rsFicha != null) {
rsFicha.close();
}
if (rsEstadoFicha != null) {
rsEstadoFicha.close();
}
if (rsTokenFicha != null) {
rsTokenFicha.close();
}
if (rsObtenerCodigoFicha != null) {
rsObtenerCodigoFicha.close();
}
if (psPersona != null) {
psPersona.close();
}
if (psFicha != null) {
psFicha.close();
}
if (psEstadoFicha != null) {
psEstadoFicha.close();
}
if (psTokenFicha != null) {
psTokenFicha.close();
}
if (psObtenerCodigoFicha != null) {
psObtenerCodigoFicha.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonObjRegistrarPersona = new JSONObject(response);
return jsonObjRegistrarPersona;
}
@Override
public JSONObject verificarPersona(TokenFichaBean tf, PersonaBean p) {
System.out.println("PersonaSqlserverDAO: verificarPersona");
JSONObject jsonObjVerificarPersona = null;
ResponseHelper response = new ResponseHelper();
int verificacionPersona = 0;
String sql = ""
+ "select "
+ "count(1) verificacionPersona "
+ "from token_ficha "
+ "inner join dbo.ficha ON dbo.ficha.codigo_ficha = dbo.token_ficha.codigo_ficha "
+ "inner join dbo.persona ON dbo.persona.codigo_persona = dbo.ficha.codigo_persona "
+ "where token_ficha.codigo_token_ficha = ? and "
+ "token_ficha.token = ? and "
+ "token_ficha.codigo_verificacion = ? and "
+ "persona.numero_documento = ? and "
+ "persona.estado_registro = 1 and "
+ "ficha.estado_registro = 1 and "
+ "token_ficha.estado_registro = 1";
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = conexion.prepareStatement(sql);
ps.setInt(1, tf.getCodigoTokenFicha());
ps.setString(2, tf.getToken());
ps.setString(3, tf.getCodigoVerificacion());
ps.setString(4, p.getNumeroDocumento());
rs = ps.executeQuery();
rs.next();
verificacionPersona = rs.getInt("verificacionPersona");
if (verificacionPersona > 0) {
response.setStatus(true);
response.setMessage("Enhorabuena!.");
} else {
response.setStatus(false);
response.setMessage("Error, las credenciales ingresadas son incorrectas, asegúrese de haber escrito bien e intentelo de nuevo.");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonObjVerificarPersona = new JSONObject(response);
return jsonObjVerificarPersona;
}
@Override
public JSONObject modificarCorreoFichaPersona(PersonaBean p) {
System.out.println("PersonaSqlserverDAO: modificarCorreoFichaPersona");
JSONObject jsonObjModificarCorreoFichaPersona = null;
ResponseHelper response = new ResponseHelper();
int actualizaCorreo = 0;
String sql = ""
+ "update persona "
+ "set correo = ? "
+ "where codigo_persona = ? and estado_registro = 1";
Connection conexion = null;
PreparedStatement psUpdatePersona = null;
ResultSet rsUpdatePersona = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
conexion.setAutoCommit(false);
psUpdatePersona = conexion.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
psUpdatePersona.setString(1, p.getCorreo());
psUpdatePersona.setInt(2, p.getCodigoPersona());
actualizaCorreo = psUpdatePersona.executeUpdate();
if (actualizaCorreo > 0) {
response.setStatus(true);
response.setMessage("Enhorabuena!, los datos fueron actualizados con éxito.");
conexion.commit();
} else {
response.setStatus(false);
response.setMessage("Error, no se pudo actualizar el correo.");
conexion.rollback();
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rsUpdatePersona != null) {
rsUpdatePersona.close();
}
if (psUpdatePersona != null) {
psUpdatePersona.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonObjModificarCorreoFichaPersona = new JSONObject(response);
return jsonObjModificarCorreoFichaPersona;
}
@Override
public JSONObject obtenerCodigoPersona(TokenFichaBean tf) {
System.out.println("PersonaSqlserverDAO: obtenerCodigoPersona");
JSONObject jsonObjObtenerCodigoPersona = null;
ResponseHelper response = new ResponseHelper();
String sql = ""
+ "select "
+ "persona.codigo_persona codigoPersona "
+ "from persona "
+ "inner join dbo.ficha ON dbo.ficha.codigo_persona = dbo.persona.codigo_persona "
+ "inner join dbo.token_ficha ON dbo.token_ficha.codigo_ficha = dbo.ficha.codigo_ficha "
+ "where token_ficha.codigo_token_ficha = ? and token_ficha.token = ? and "
+ "persona.estado_registro = 1 and "
+ "ficha.estado_registro = 1 and "
+ "token_ficha.estado_registro = 1";
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = conexion.prepareStatement(sql);
ps.setInt(1, tf.getCodigoTokenFicha());
ps.setString(2, tf.getToken());
rs = ps.executeQuery();
rs.next();
int codigoPersona = rs.getInt("codigoPersona");
JSONObject objPersona = new JSONObject();
objPersona.put("getResultedKey", codigoPersona);
if (codigoPersona > 0) {
response.setStatus(true);
response.setMessage("Enhorabuena!, persona identificada");
response.setData(objPersona);
} else {
response.setStatus(false);
response.setMessage("Error: no se encontró la identificación de la persona");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonObjObtenerCodigoPersona = new JSONObject(response);
return jsonObjObtenerCodigoPersona;
}
@Override
public JSONObject obtenerPersonaSession(PersonaBean p) {
System.out.println("PersonaSqlserverDAO: obtenerPersonaSession");
JSONObject jsonObjObtenerPersonaSession = null;
JSONArray jsonArrObtenerPersonaSession = new JSONArray();
JSONObject objPersona = null;
ResponseHelper response = new ResponseHelper();
String sql = ""
+ "select "
+ "persona.codigo_persona codigoPersona, "
+ "tipo_documento.codigo_tipo_documento codigoTipoDocumento, "
+ "tipo_documento.descripcion_corta nombreTipoDocumento, "
+ "persona.numero_documento numeroDocumento, "
+ "persona.apellido_paterno apellidoPaterno, "
+ "persona.apellido_materno apellidoMaterno, "
+ "persona.nombre nombre, "
+ "persona.correo "
+ "from persona "
+ "inner join dbo.tipo_documento ON dbo.tipo_documento.codigo_tipo_documento = dbo.persona.codigo_tipo_documento "
+ "where persona.codigo_persona = ? and "
+ "persona.estado_registro = 1 and "
+ "tipo_documento.codigo_tipo_documento = ? and "
+ "tipo_documento.estado_registro = 1";
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = conexion.prepareStatement(sql);
ps.setInt(1, p.getCodigoPersona());
ps.setInt(2, p.getCodigoTipoDocumento());
rs = ps.executeQuery();
while (rs.next()) {
p = new PersonaBean();
p.setCodigoPersona(rs.getInt("codigoPersona"));
p.setCodigoTipoDocumento(rs.getInt("codigoTipoDocumento"));
p.setNombreTipoDocumento(rs.getString("nombreTipoDocumento"));
p.setNumeroDocumento(rs.getString("numeroDocumento"));
p.setApellidoPaterno(rs.getString("apellidoPaterno"));
p.setApellidoMaterno(rs.getString("apellidoMaterno"));
p.setNombre(rs.getString("nombre"));
p.setCorreo(rs.getString("correo"));
JSONObject jsonobjPersona = new JSONObject(p);
jsonArrObtenerPersonaSession.put(jsonobjPersona);
}
objPersona = new JSONObject();
objPersona.put("personas", jsonArrObtenerPersonaSession);
response.setStatus(true);
response.setMessage("Enhorabuena!, los datos de la persona se han listado correctamente");
response.setData(objPersona);
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonObjObtenerPersonaSession = new JSONObject(response);
return jsonObjObtenerPersonaSession;
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Iterator;
import org.json.JSONArray;
import org.json.JSONObject;
import trismegistoplanilla.beans.ReportePersonalBean;
import trismegistoplanilla.dao.ReportePersonalDAO;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class ReportePersonalMysqlDAO implements ReportePersonalDAO {
@Override
public JSONObject validarExistenciaFilas(JSONObject jsonResult) {
System.out.println("ReportePersonalSqlserverDAO: validarExistenciaFilas");
JSONObject JOReporte = null;
ResponseHelper response = new ResponseHelper();
String condicion = "";
// get keys jsonResult {"codigoTipoDocumento":1,"id":"c7dda616-83fe-827b-757a-463b8fe29afb","nombreTipoDocumento":"L.E / DNI"}
Iterator<String> keys = jsonResult.keys();
while (keys.hasNext()) {
switch (keys.next()) {
case "tipoDocumento":
int codigoTipoDocumento = jsonResult.getJSONObject("tipoDocumento").getInt("codigoTipoDocumento");
if (condicion.equals("")) {
condicion += " where tipo_documento.codigo_tipo_documento = " + codigoTipoDocumento + " ";
} else {
condicion += " and tipo_documento.codigo_tipo_documento = " + codigoTipoDocumento + " ";
}
break;
case "nacionalidad":
int codigoNacionalidad = jsonResult.getJSONObject("nacionalidad").getInt("codigoNacionalidad");
if (condicion.equals("")) {
condicion += " where nacionalidad.codigo_nacionalidad = " + codigoNacionalidad + " ";
} else {
condicion += " and nacionalidad.codigo_nacionalidad = " + codigoNacionalidad + " ";
}
break;
case "parentesco":
int codigoParentesco = jsonResult.getJSONObject("parentesco").getInt("codigoParentesco");
if (condicion.equals("")) {
condicion += "where (select count(1) from carga_familiar where codigo_parentesco = " + codigoParentesco + " and numero_documento in (select p.numero_documento from persona p where p.numero_documento = persona.numero_documento )) > 0";
} else {
condicion += " and (select count(1) from carga_familiar where codigo_parentesco = " + codigoParentesco + " and numero_documento in (select p.numero_documento from persona p where p.numero_documento = persona.numero_documento )) > 0";
}
break;
case "fechaNacimiento":
int codigoCriterioFechaNacimiento = jsonResult.getJSONObject("fechaNacimiento").getInt("codigoCriterioFecha");
String fechaNacimiento = "";
if (condicion.equals("")) {
switch (codigoCriterioFechaNacimiento) {
case 1: // igual a
fechaNacimiento = jsonResult.getJSONObject("fechaNacimiento").getString("fechaNacimiento");
condicion += "where persona.fecha_nacimiento = '" + fechaNacimiento + "'";
break;
case 2: // mayor igual
fechaNacimiento = jsonResult.getJSONObject("fechaNacimiento").getString("fechaNacimiento");
condicion += "where persona.fecha_nacimiento >= '" + fechaNacimiento + "'";
break;
case 3: // menor igual
fechaNacimiento = jsonResult.getJSONObject("fechaNacimiento").getString("fechaNacimiento");
condicion += "where persona.fecha_nacimiento <= '" + fechaNacimiento + "'";
break;
case 4: // entre
fechaNacimiento = jsonResult.getJSONObject("fechaNacimiento").getString("fechaNacimientoInicio");
String fechaNacimientoFin = jsonResult.getJSONObject("fechaNacimiento").getString("fechaNacimientoFin");
condicion += "where persona.fecha_nacimiento between '" + fechaNacimiento + "' and '" + fechaNacimientoFin + "' ";
break;
default:
condicion += "";
break;
}
} else {
switch (codigoCriterioFechaNacimiento) {
case 1: // igual a
fechaNacimiento = jsonResult.getJSONObject("fechaNacimiento").getString("fechaNacimiento");
condicion += " and persona.fecha_nacimiento = '" + fechaNacimiento + "'";
break;
case 2: // mayor igual
fechaNacimiento = jsonResult.getJSONObject("fechaNacimiento").getString("fechaNacimiento");
condicion += " and persona.fecha_nacimiento >= '" + fechaNacimiento + "'";
break;
case 3: // menor igual
fechaNacimiento = jsonResult.getJSONObject("fechaNacimiento").getString("fechaNacimiento");
condicion += " and persona.fecha_nacimiento <= '" + fechaNacimiento + "'";
break;
case 4: // entre
fechaNacimiento = jsonResult.getJSONObject("fechaNacimiento").getString("fechaNacimientoInicio");
String fechaNacimientoFin = jsonResult.getJSONObject("fechaNacimiento").getString("fechaNacimientoFin");
condicion += " and persona.fecha_nacimiento between '" + fechaNacimiento + "' and '" + fechaNacimientoFin + "' ";
break;
default:
condicion += "";
break;
}
}
break;
case "fechaIngreso":
int codigoCriterioFechaIngreso = jsonResult.getJSONObject("fechaIngreso").getInt("codigoCriterioFecha");
String fechaIngreso = "";
if (condicion.equals("")) {
switch (codigoCriterioFechaIngreso) {
case 1: // igual a
fechaIngreso = jsonResult.getJSONObject("fechaIngreso").getString("fechaIngreso");
condicion += "where ficha_laboral.fecha_ingreso = '" + fechaIngreso + "'";
break;
case 2: // mayor igual a
fechaIngreso = jsonResult.getJSONObject("fechaIngreso").getString("fechaIngreso");
condicion += "where ficha_laboral.fecha_ingreso >= '" + fechaIngreso + "'";
break;
case 3: // menor igual a
fechaIngreso = jsonResult.getJSONObject("fechaIngreso").getString("fechaIngreso");
condicion += "where ficha_laboral.fecha_ingreso <= '" + fechaIngreso + "'";
break;
case 4: // entre
fechaIngreso = jsonResult.getJSONObject("fechaIngreso").getString("fechaIngresoInicio");
String fechaIngresoFin = jsonResult.getJSONObject("fechaIngreso").getString("fechaIngresoFin");
condicion += "where ficha_laboral.fecha_ingreso between '" + fechaIngreso + "' and '" + fechaIngresoFin + "' ";
break;
default:
condicion += "";
break;
}
} else {
switch (codigoCriterioFechaIngreso) {
case 1: // igual a
fechaIngreso = jsonResult.getJSONObject("fechaIngreso").getString("fechaIngreso");
condicion += " and ficha_laboral.fecha_ingreso = '" + fechaIngreso + "'";
break;
case 2: // mayor igual a
fechaIngreso = jsonResult.getJSONObject("fechaIngreso").getString("fechaIngreso");
condicion += " and ficha_laboral.fecha_ingreso >= '" + fechaIngreso + "'";
break;
case 3: // menor igual a
fechaIngreso = jsonResult.getJSONObject("fechaIngreso").getString("fechaIngreso");
condicion += " and ficha_laboral.fecha_ingreso <= '" + fechaIngreso + "'";
break;
case 4: // entre
fechaIngreso = jsonResult.getJSONObject("fechaIngreso").getString("fechaIngresoInicio");
String fechaIngresoFin = jsonResult.getJSONObject("fechaIngreso").getString("fechaIngresoFin");
condicion += " and ficha_laboral.fecha_ingreso between '" + fechaIngreso + "' and '" + fechaIngresoFin + "' ";
break;
default:
condicion += "";
break;
}
}
break;
case "fechaTermino":
int codigoCriterioFechaFin = jsonResult.getJSONObject("fechaTermino").getInt("codigoCriterioFecha");
String fechaTermino = "";
if (condicion.equals("")) {
switch (codigoCriterioFechaFin) {
case 1: // igual a
fechaTermino = jsonResult.getJSONObject("fechaTermino").getString("fechaTermino");
condicion += "where ficha_laboral.fecha_fin = '" + fechaTermino + "'";
break;
case 2: // mayor igual a
fechaTermino = jsonResult.getJSONObject("fechaTermino").getString("fechaTermino");
condicion += "where ficha_laboral.fecha_fin >= '" + fechaTermino + "'";
break;
case 3: // menor igual a
fechaTermino = jsonResult.getJSONObject("fechaTermino").getString("fechaTermino");
condicion += "where ficha_laboral.fecha_fin <= '" + fechaTermino + "'";
break;
case 4: // entre
fechaTermino = jsonResult.getJSONObject("fechaTermino").getString("fechaTerminoInicio");
String fechaTerminoFin = jsonResult.getJSONObject("fechaTermino").getString("fechaTerminoFin");
condicion += "where ficha_laboral.fecha_fin between '" + fechaTermino + "' and '" + fechaTerminoFin + "' ";
break;
default:
condicion += "";
break;
}
} else {
switch (codigoCriterioFechaFin) {
case 1: // igual a
fechaTermino = jsonResult.getJSONObject("fechaTermino").getString("fechaTermino");
condicion += " and ficha_laboral.fecha_fin = '" + fechaTermino + "'";
break;
case 2: // mayor igual a
fechaTermino = jsonResult.getJSONObject("fechaTermino").getString("fechaTermino");
condicion += " and ficha_laboral.fecha_fin >= '" + fechaTermino + "'";
break;
case 3: // menor igual a
fechaTermino = jsonResult.getJSONObject("fechaTermino").getString("fechaTermino");
condicion += " and ficha_laboral.fecha_fin <= '" + fechaTermino + "'";
break;
case 4: // entre
fechaTermino = jsonResult.getJSONObject("fechaTermino").getString("fechaTerminoInicio");
String fechaTerminoFin = jsonResult.getJSONObject("fechaTermino").getString("fechaTerminoFin");
condicion += " and ficha_laboral.fecha_fin between '" + fechaTermino + "' and '" + fechaTerminoFin + "' ";
break;
default:
condicion += "";
break;
}
}
break;
case "sede":
if (condicion.equals("")) {
if (jsonResult.getJSONObject("sede").isNull("codigoSedeArea") && jsonResult.getJSONObject("sede").isNull("codigoAreaCargo")) {
int codigoSede = jsonResult.getJSONObject("sede").getInt("codigoSede");
condicion += " where sede.codigo_sede = " + codigoSede + " ";
} else if (jsonResult.getJSONObject("sede").isNull("codigoAreaCargo")) {
int codigo_sede_area = jsonResult.getJSONObject("sede").getInt("codigoSedeArea");
condicion += " where sede_area.codigo_sede_area = " + codigo_sede_area + " ";
} else if (!(jsonResult.getJSONObject("sede").isNull("codigoSedeArea")) && !(jsonResult.getJSONObject("sede").isNull("codigoAreaCargo"))) {
int codigo_sede_area = jsonResult.getJSONObject("sede").getInt("codigoSedeArea");
int codigo_area_cargo = jsonResult.getJSONObject("sede").getInt("codigoAreaCargo");
condicion += " where sede_area.codigo_sede_area = " + codigo_sede_area + " and area_cargo.codigo_area_cargo = " + codigo_area_cargo + " ";
}
} else {
if (jsonResult.getJSONObject("sede").isNull("codigoSedeArea") && jsonResult.getJSONObject("sede").isNull("codigoAreaCargo")) {
int codigoSede = jsonResult.getJSONObject("sede").getInt("codigoSede");
condicion += " and sede.codigo_sede = " + codigoSede + " ";
} else if (jsonResult.getJSONObject("sede").isNull("codigoAreaCargo")) {
int codigo_sede_area = jsonResult.getJSONObject("sede").getInt("codigoSedeArea");
condicion += " and sede_area.codigo_sede_area = " + codigo_sede_area + " ";
} else if (!(jsonResult.getJSONObject("sede").isNull("codigoSedeArea")) && !(jsonResult.getJSONObject("sede").isNull("codigoAreaCargo"))) {
int codigo_sede_area = jsonResult.getJSONObject("sede").getInt("codigoSedeArea");
int codigo_area_cargo = jsonResult.getJSONObject("sede").getInt("codigoAreaCargo");
condicion += " and sede_area.codigo_sede_area = " + codigo_sede_area + " and area_cargo.codigo_area_cargo = " + codigo_area_cargo + " ";
}
}
break;
case "estado":
break;
default:
condicion = "";
}
}
String sql = ""
+ "select "
+ "count(1) existeFilas "
+ "from persona "
+ "inner join dbo.tipo_documento ON dbo.tipo_documento.codigo_tipo_documento = dbo.persona.codigo_tipo_documento "
+ "left join dbo.estado_civil ON dbo.estado_civil.codigo_estado_civil = dbo.persona.codigo_estado_civil "
+ "left join dbo.nacionalidad ON dbo.nacionalidad.codigo_nacionalidad = dbo.persona.codigo_nacionalidad "
+ "left join dbo.fondo_pension ON dbo.fondo_pension.codigo_fondo_pension = dbo.persona.codigo_fondo_pension "
+ "inner join dbo.ficha ON dbo.ficha.codigo_persona = dbo.persona.codigo_persona "
+ "left join dbo.ficha_laboral ON dbo.ficha_laboral.codigo_ficha = dbo.ficha.codigo_ficha "
+ "left join dbo.sede_area ON dbo.sede_area.codigo_sede_area = dbo.ficha_laboral.codigo_sede_area "
+ "left join dbo.sede ON dbo.sede.codigo_sede = dbo.sede_area.codigo_sede "
+ "left join dbo.area ON dbo.area.codigo_area = dbo.sede_area.codigo_area "
+ "left join dbo.area_cargo ON dbo.area_cargo.codigo_area_cargo = dbo.ficha_laboral.codigo_area_cargo "
+ "left join dbo.cargo ON dbo.cargo.codigo_cargo = dbo.area_cargo.codigo_cargo "
+ condicion;
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = conexion.prepareStatement(sql);
rs = ps.executeQuery();
rs.next();
int existeFilas = rs.getInt("existeFilas");
if (existeFilas > 0) {
JSONObject objReportePersonal = listarReportePersonal(condicion);
response.setStatus(objReportePersonal.getBoolean("status"));
response.setMessage(objReportePersonal.getString("message"));
response.setData(objReportePersonal);
} else {
response.setStatus(false);
response.setMessage("No se ha encontrado registros con el criterio que acaba de ingresar");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
JOReporte = new JSONObject(response);
return JOReporte;
}
@Override
public JSONObject listarReportePersonal(String condicion) {
System.out.println("ReportePersonalSqlserverDAO: listarReportePersonal");
JSONObject JOReporte = null;
JSONArray JAReporte = new JSONArray();
ResponseHelper response = new ResponseHelper();
String sql = ""
+ "select "
+ "persona.codigo_persona codigoPersona, "
+ "isnull(persona.apellido_paterno, '-') apellidoPaterno, "
+ "isnull(persona.apellido_materno, '-') apellidoMaterno, "
+ "isnull(persona.nombre, '-') nombre, "
+ "isnull(tipo_documento.descripcion_corta, '-') tipoDocumento, "
+ "isnull(persona.numero_documento, '-') numeroDocumento, "
+ "isnull(persona.sexo, '-') sexo, "
+ "isnull(estado_civil.nombre, '-') estadoCivil, "
+ "isnull(convert(varchar, persona.fecha_nacimiento, 103), '-') fechaNacimiento, "
+ "isnull(nacionalidad.pais, '-') nacionalidad, "
+ "case when persona.codigo_nacionalidad = 144 then (select ubigeo.nombre_departamento + ' - ' + ubigeo.nombre_provincia + ' - ' + ubigeo.nombre_distrito from ubigeo where ubigeo.codigo_ubigeo = persona.codigo_ubigeo_nacimiento) else '-' end ubigeoNacimiento, "
+ "isnull(persona.direccion_documento, '-') direccionDocumento, "
+ "case when persona.telefono_fijo is null or persona.telefono_fijo = '' then '-' else persona.telefono_fijo end telefonoFijo, "
+ "case when persona.telefono_movil is null or persona.telefono_movil = '' then '-' else persona.telefono_movil end telefonoMovil, "
+ "persona.correo correoPersonal, "
+ "isnull(persona.correo_corporativo, '-') correoCorporativo, "
+ "isnull((select ubigeo.nombre_departamento + ' - ' + ubigeo.nombre_provincia + ' - ' + ubigeo.nombre_distrito from ubigeo where ubigeo.codigo_ubigeo = persona.codigo_ubigeo_residencia), '-') ubigeoResidencia, "
+ "isnull(persona.direccion_residencia, '-') direccionResidencia, "
+ "isnull(persona.latitud_residencia + ' , ' + persona.longitud_residencia, '-') coordenadasDireccionResidencia, "
+ "isnull(persona.foto, '-') foto, "
+ "rtrim(ltrim(isnull(persona.ruc, '-'))) ruc,"
+ "case when persona.fondo_pension_activo = 1 then 'SI' when persona.fondo_pension_activo is null then '-' else 'NO' end tieneFondoPension, "
+ "isnull(fondo_pension.descripcion_corta, '-') fondoPension, "
+ "isnull(persona.enlace_alfresco, '-') enlaceAlfresco, "
+ "case when persona.is_default_mail = 1 then 'NO' when persona.is_default_mail is null then '-' else 'SI' end tieneCorreo, "
+ "isnull(sede.nombre, '-') sede, "
+ "isnull(area.nombre, '-') area, "
+ "isnull(cargo.nombre, '-') cargo, "
+ "isnull(convert(varchar, ficha_laboral.fecha_ingreso, 103), '-') fechaIngreso, "
+ "isnull(convert(varchar, ficha_laboral.fecha_fin, 103), '-') fechaTermino, "
+ "(select count(1) from carga_familiar where numero_documento in (select p.numero_documento from persona p where p.numero_documento = dbo.persona.numero_documento )) cantidadParentesco "
+ "from persona "
+ "inner join dbo.tipo_documento ON dbo.tipo_documento.codigo_tipo_documento = dbo.persona.codigo_tipo_documento "
+ "left join dbo.estado_civil ON dbo.estado_civil.codigo_estado_civil = dbo.persona.codigo_estado_civil "
+ "left join dbo.nacionalidad ON dbo.nacionalidad.codigo_nacionalidad = dbo.persona.codigo_nacionalidad "
+ "left join dbo.fondo_pension ON dbo.fondo_pension.codigo_fondo_pension = dbo.persona.codigo_fondo_pension "
+ "inner join dbo.ficha ON dbo.ficha.codigo_persona = dbo.persona.codigo_persona "
+ "left join dbo.ficha_laboral ON dbo.ficha_laboral.codigo_ficha = dbo.ficha.codigo_ficha "
+ "left join dbo.sede_area ON dbo.sede_area.codigo_sede_area = dbo.ficha_laboral.codigo_sede_area "
+ "left join dbo.sede ON dbo.sede.codigo_sede = dbo.sede_area.codigo_sede "
+ "left join dbo.area ON dbo.area.codigo_area = dbo.sede_area.codigo_area "
+ "left join dbo.area_cargo ON dbo.area_cargo.codigo_area_cargo = dbo.ficha_laboral.codigo_area_cargo "
+ "left join dbo.cargo ON dbo.cargo.codigo_cargo = dbo.area_cargo.codigo_cargo "
+ condicion;
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = conexion.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
ReportePersonalBean rp = new ReportePersonalBean();
rp.setCodigoPersona(rs.getString("codigoPersona"));
rp.setApellidoPaterno(rs.getString("apellidoPaterno"));
rp.setApellidoMaterno(rs.getString("apellidoMaterno"));
rp.setNombre(rs.getString("nombre"));
rp.setTipoDocumento(rs.getString("tipoDocumento"));
rp.setNumeroDocumento(rs.getString("numeroDocumento"));
rp.setSexo(rs.getString("sexo"));
rp.setEstadoCivil(rs.getString("estadoCivil"));
rp.setFechaNacimiento(rs.getString("fechaNacimiento"));
rp.setNacionalidad(rs.getString("nacionalidad"));
rp.setUbigeoNacimiento(rs.getString("ubigeoNacimiento"));
rp.setDireccionDocumento(rs.getString("direccionDocumento"));
rp.setTelefonoFijo(rs.getString("telefonoFijo"));
rp.setTelefonoMovil(rs.getString("telefonoMovil"));
rp.setCorreoPersonal(rs.getString("correoPersonal"));
rp.setCorreoCorporativo(rs.getString("correoCorporativo"));
rp.setUbigeoResidencia(rs.getString("ubigeoResidencia"));
rp.setDireccionResidencia(rs.getString("direccionResidencia"));
rp.setCoordenadasDireccionResidencia(rs.getString("coordenadasDireccionResidencia"));
rp.setFoto(rs.getString("foto"));
rp.setRuc(rs.getString("ruc"));
rp.setTieneFondoPension(rs.getString("tieneFondoPension"));
rp.setFondoPension(rs.getString("fondoPension"));
rp.setEnlaceAlfresco(rs.getString("enlaceAlfresco"));
rp.setTieneCorreo(rs.getString("tieneCorreo"));
rp.setSede(rs.getString("sede"));
rp.setArea(rs.getString("area"));
rp.setCargo(rs.getString("cargo"));
rp.setFechaIngreso(rs.getString("fechaIngreso"));
rp.setFechaTermino(rs.getString("fechaTermino"));
rp.setCantidadParentesco(rs.getString("cantidadParentesco"));
JSONObject objReportePersonal = new JSONObject(rp);
JAReporte.put(objReportePersonal);
}
JSONObject objReportePersonal = new JSONObject();
objReportePersonal.put("reportePersonal", JAReporte);
response.setStatus(true);
response.setMessage("Reporte listado correctamente.");
response.setData(objReportePersonal);
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
JOReporte = new JSONObject(response);
return JOReporte;
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.json.JSONObject;
import trismegistoplanilla.beans.AreaBean;
import trismegistoplanilla.beans.SedeBean;
import trismegistoplanilla.dao.SedeAreaDAO;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class SedeAreaMysqlDAO implements SedeAreaDAO {
@Override
public JSONObject obtenerSedeArea(SedeBean s, AreaBean a) {
System.out.println("SedeAreaSqlserverDAO: obtenerSedeArea");
JSONObject JOObtenerSedeArea = null;
ResponseHelper response = new ResponseHelper();
String sql = ""
+ "select "
+ "sede_area.codigo_sede_area codigoSedeArea "
+ "from sede_area "
+ "where sede_area.codigo_sede = ? and sede_area.codigo_area = ? and sede_area.estado_registro = 1";
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = conexion.prepareStatement(sql);
ps.setInt(1, s.getCodigoSede());
ps.setInt(2, a.getCodigoArea());
rs = ps.executeQuery();
rs.next();
int codigoSedeArea = rs.getInt("codigoSedeArea");
if (codigoSedeArea > 0) {
JSONObject objSedeArea = new JSONObject();
objSedeArea.put("getResultedKey", codigoSedeArea);
response.setStatus(true);
response.setMessage("Se encontró el código");
response.setData(objSedeArea);
} else {
response.setStatus(false);
response.setMessage("Error! no se ha podido encontrar el código sede area");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
JOObtenerSedeArea = new JSONObject(response);
return JOObtenerSedeArea;
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.json.JSONArray;
import org.json.JSONObject;
import trismegistoplanilla.beans.SedeBean;
import trismegistoplanilla.dao.SedeDAO;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class SedeMysqlDAO implements SedeDAO {
@Override
public JSONObject listarSede() {
System.out.println("SedeSqlserverDAO: listarSede");
JSONObject JObjectSede = null;
JSONArray jArraySede = new JSONArray();
ResponseHelper response = new ResponseHelper();
String sql = ""
+ "select "
+ "sede_area.codigo_sede codigoSede, "
+ "sede.nombre nombre, "
+ "sede.direccion direccion, "
+ "razon_social.codigo_razon_social codigoRazonSocial, "
+ "razon_social.abreviatura nombreRazonSocial "
+ "from sede_area "
+ "inner join dbo.sede ON dbo.sede.codigo_sede = dbo.sede_area.codigo_sede "
+ "inner join dbo.razon_social ON dbo.razon_social.codigo_razon_social = dbo.sede.codigo_razon_social "
+ "where sede_area.estado_registro = 1 and sede.estado_registro = 1 "
+ "group by sede_area.codigo_sede, sede.nombre, sede.direccion, razon_social.codigo_razon_social, razon_social.abreviatura, sede.estado_registro";
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = conexion.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
SedeBean s = new SedeBean();
s.setCodigoSede(rs.getInt("codigoSede"));
s.setNombre(rs.getString("nombre"));
s.setDireccion(rs.getString("direccion"));
s.setCodigoRazonSocial(rs.getInt("codigoRazonSocial"));
s.setNombreRazonSocial(rs.getString("nombreRazonSocial"));
JSONObject objSede = new JSONObject(s);
jArraySede.put(objSede);
}
JSONObject objSede = new JSONObject();
objSede.put("sedes", jArraySede);
response.setStatus(true);
response.setMessage("Las sedes se listaron correctamente");
response.setData(objSede);
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
JObjectSede = new JSONObject(response);
return JObjectSede;
}
@Override
public JSONObject validarExistenciaSede(SedeBean s) {
System.out.println("SedeSqlserverDAO: validarExistenciaSede");
JSONObject JObjectValidarExistenciaSede = null;
ResponseHelper response = new ResponseHelper();
String sql = ""
+ "select "
+ "count(1) existeSede "
+ "from sede_area "
+ "where sede_area.estado_registro = 1 and sede_area.codigo_sede = ?";
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = conexion.prepareStatement(sql);
ps.setInt(1, s.getCodigoSede());
rs = ps.executeQuery();
rs.next();
int existeSede = 0;
existeSede = rs.getInt("existeSede");
if (existeSede > 0) {
response.setStatus(true);
response.setMessage("La sede seleccionada existe");
} else {
response.setStatus(false);
response.setMessage("Error! La sede seleccionada no existe");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
JObjectValidarExistenciaSede = new JSONObject(response);
return JObjectValidarExistenciaSede;
}
@Override
public JSONObject registrar(JSONObject datos) {
System.out.println("SedeSqlserverDAO: registrar");
JSONObject jObject = null;
ResponseHelper response = new ResponseHelper();
Connection cnx = null;
PreparedStatement ps = null;
ResultSet rs = null;
String sql = ""
+ "insert into sede (nombre, direccion, codigo_razon_social, 1) "
+ "values (?, ?, ?, 1)";
int resultado = 0;
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
cnx.setAutoCommit(false);
ps = cnx.prepareStatement(sql);
int c = 1;
ps.setString(c++, datos.getString("sede"));
ps.setString(c++, datos.getString("direccion"));
ps.setInt(c++, datos.getInt("codigoRazonSocial"));
resultado = ps.executeUpdate();
if (resultado == 1) {
cnx.commit();
response.setStatus(true);
response.setMessage("Se registro la sede correctamente!");
} else {
cnx.rollback();
response.setStatus(false);
response.setMessage("No se puedo registrar la sede");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jObject = new JSONObject(response);
return jObject;
}
@Override
public JSONObject editar(JSONObject datos) {
System.out.println("SedeSqlserverDAO: editar");
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public JSONObject estado(JSONObject datos) {
System.out.println("SedeSqlserverDAO: estado");
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public JSONObject validarNombreAdd(JSONObject datos) {
System.out.println("SedeSqlserverDAO: validarNombreAdd");
JSONObject jObject;
ResponseHelper response = new ResponseHelper();
Connection cnx = null;
PreparedStatement ps = null;
ResultSet rs = null;
String sql = "select count(1) cantidad "
+ "FROM sede "
+ "where sede.nombre = ?";
int resultado;
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = cnx.prepareStatement(sql);
ps.setString(1, datos.getString("sede"));
rs = ps.executeQuery();
if (rs.next()) {
resultado = rs.getInt("cantidad");
if (resultado == 1) {
response.setStatus(false);
response.setMessage("Ya existe una sede con ese nombre");
} else {
response.setStatus(true);
response.setMessage("Puede proceder a registrar la sede");
}
} else {
response.setStatus(false);
response.setMessage("No se pudo encontrar la sede");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jObject = new JSONObject(response);
return jObject;
}
@Override
public JSONObject validarNombreEdit(JSONObject datos) {
System.out.println("SedeSqlserverDAO: validarNombreEdit");
JSONObject jObject;
ResponseHelper response = new ResponseHelper();
Connection cnx = null;
PreparedStatement ps = null;
ResultSet rs = null;
String sql = "select count(1) "
+ "FROM sede "
+ "where sede.nombre = ? "
+ "and sede.codigo_sede not in (?)";
int resultado;
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = cnx.prepareStatement(sql);
ps.setString(1, datos.getString("sede"));
ps.setInt(2, datos.getInt("codigoSede"));
rs = ps.executeQuery();
if (rs.next()) {
resultado = rs.getInt("cantidad");
if (resultado == 1) {
response.setStatus(false);
response.setMessage("Ya existe una sede con ese nombre");
} else {
response.setStatus(true);
response.setMessage("Puede proceder a actualizar la sede");
}
} else {
response.setStatus(false);
response.setMessage("No se pudo encontrar la sede");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jObject = new JSONObject(response);
return jObject;
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.json.JSONArray;
import org.json.JSONObject;
import trismegistoplanilla.beans.TipoDocumentoBean;
import trismegistoplanilla.beans.TokenFichaBean;
import trismegistoplanilla.dao.TipoDocumentoDAO;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class TipoDocumentoMysqlDAO implements TipoDocumentoDAO {
@Override
public JSONObject listarTipoDocumento() {
System.out.println("TipoDocumentoSqlserverDAO: listarTipoDocumento");
JSONObject jsonObjListarTipoDocumento = null;
JSONArray jsonArrListarTipoDocumento = new JSONArray();
ResponseHelper response = new ResponseHelper();
String sql
= "select "
+ "tipo_documento.codigo_tipo_documento as codigoTipoDocumento, "
+ "tipo_documento.descripcion_larga as descripcionLarga, "
+ "tipo_documento.descripcion_corta as descripcionCorta, "
+ "tipo_documento.longitud, "
+ "tipo_documento.tipo_entrada as tipoEntrada, "
+ "case "
+ " when tipo_documento.estado_registro = 1 then 'ACTIVO' "
+ " when tipo_documento.estado_registro = 0 then 'INACTIVO' "
+ " else 'ERROR' "
+ "end as nombreEstadoRegistro "
+ "from tipo_documento "
+ "where tipo_documento.estado_registro = 1";
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = conexion.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
TipoDocumentoBean tipoDocumento = new TipoDocumentoBean();
tipoDocumento.setCodigoTipoDocumento(rs.getInt("codigoTipoDocumento"));
tipoDocumento.setDescripcionLarga(rs.getString("descripcionLarga"));
tipoDocumento.setDescripcionCorta(rs.getString("descripcionCorta"));
tipoDocumento.setLongitud(rs.getString("longitud"));
tipoDocumento.setTipoEntrada(rs.getString("tipoEntrada"));
tipoDocumento.setTipoEntrada(rs.getString("tipoEntrada"));
JSONObject jsonObjTipoDocumento = new JSONObject(tipoDocumento);
jsonArrListarTipoDocumento.put(jsonObjTipoDocumento);
}
JSONObject jsonObjTipodocumento = new JSONObject();
jsonObjTipodocumento.put("tipodocumentos", jsonArrListarTipoDocumento);
response.setStatus(true);
response.setMessage("Los tipos de documentos se han listado correctamente.");
response.setData(jsonObjTipodocumento);
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonObjListarTipoDocumento = new JSONObject(response);
return jsonObjListarTipoDocumento;
}
@Override
public JSONObject validarExistenciaTipoDocumento(TipoDocumentoBean tipoDocumento) {
System.out.println("TipoDocumentoSqlserverDAO: validarExistenciaTipoDocumento");
JSONObject jsonObjValidarExistenciaTipoDocumento = null;
ResponseHelper response = new ResponseHelper();
int existeTipoDocumento = 0;
String sql = ""
+ "select "
+ "count(1) existeTipoDocumento "
+ "from tipo_documento "
+ "where codigo_tipo_documento = ? and estado_registro = 1";
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = conexion.prepareStatement(sql);
ps.setInt(1, tipoDocumento.getCodigoTipoDocumento());
rs = ps.executeQuery();
rs.next();
existeTipoDocumento = rs.getInt("existeTipoDocumento");
if (existeTipoDocumento > 0) {
response.setStatus(true);
response.setMessage("El tipo documento seleccionado existe.");
} else if (existeTipoDocumento == 0) {
response.setStatus(false);
response.setMessage("El tipo documento seleccionado no existe.");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonObjValidarExistenciaTipoDocumento = new JSONObject(response);
return jsonObjValidarExistenciaTipoDocumento;
}
@Override
public JSONObject obtenerLongitudTipoEntrdadaTipoDocumento(TipoDocumentoBean tipoDocumento) {
System.out.println("TipoDocumentoSqlserverDAO: obtenerLongitudTipoEntrdadaTipoDocumento");
JSONObject jsonObjObtenerLongitudTipoEntrdadaTipoDocumento = null;
JSONArray jsonArrObtenerLongitudTipoEntrdadaTipoDocumento = new JSONArray();
ResponseHelper response = new ResponseHelper();
String sql = ""
+ "select "
+ "longitud, "
+ "tipo_entrada TipoEntrada "
+ "from tipo_documento "
+ "where codigo_tipo_documento = ? and estado_registro = 1";
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = conexion.prepareStatement(sql);
ps.setInt(1, tipoDocumento.getCodigoTipoDocumento());
rs = ps.executeQuery();
while (rs.next()) {
tipoDocumento.setLongitud(rs.getString("longitud"));
tipoDocumento.setTipoEntrada(rs.getString("TipoEntrada"));
JSONObject jsonObjTipoDocumento = new JSONObject(tipoDocumento);
jsonArrObtenerLongitudTipoEntrdadaTipoDocumento.put(jsonObjTipoDocumento);
}
JSONObject jsonObjTipodocumento = new JSONObject();
jsonObjTipodocumento.put("tipodocumentos", jsonArrObtenerLongitudTipoEntrdadaTipoDocumento);
response.setStatus(true);
response.setMessage("La longitud y tipo de entrada se han listado correctamente.");
response.setData(jsonObjTipodocumento);
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonObjObtenerLongitudTipoEntrdadaTipoDocumento = new JSONObject(response);
return jsonObjObtenerLongitudTipoEntrdadaTipoDocumento;
}
@Override
public JSONObject obtenerCodigoTipoDocumento(TokenFichaBean tf) {
System.out.println("TipoDocumentoSqlserverDAO: obtenerCodigoTipoDocumento");
JSONObject jsonObjObtenerCodigoTipoDocumento = null;
ResponseHelper response = new ResponseHelper();
String sql = ""
+ "select "
+ "persona.codigo_tipo_documento codigoTipoDocumento "
+ "from persona "
+ "inner join dbo.ficha ON dbo.ficha.codigo_persona = dbo.persona.codigo_persona "
+ "inner join dbo.token_ficha ON dbo.token_ficha.codigo_ficha = dbo.ficha.codigo_ficha "
+ "where token_ficha.codigo_token_ficha = ? and token_ficha.token = ? and "
+ "persona.estado_registro = 1 and "
+ "ficha.estado_registro = 1 and "
+ "token_ficha.estado_registro = 1";
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = conexion.prepareStatement(sql);
ps.setInt(1, tf.getCodigoTokenFicha());
ps.setString(2, tf.getToken());
rs = ps.executeQuery();
rs.next();
int codigoTipoDocumento = rs.getInt("codigoTipoDocumento");
JSONObject objTipoDocumento = new JSONObject();
objTipoDocumento.put("getResultedKey", codigoTipoDocumento);
if (codigoTipoDocumento > 0) {
response.setStatus(true);
response.setMessage("Enhorabuena!, persona y tipo documento identificado");
response.setData(objTipoDocumento);
} else {
response.setStatus(false);
response.setMessage("Error: no se encontró la identificación de la persona ni el tipo de documento registrado");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonObjObtenerCodigoTipoDocumento = new JSONObject(response);
return jsonObjObtenerCodigoTipoDocumento;
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.json.JSONArray;
import org.json.JSONObject;
import trismegistoplanilla.beans.TipoEstadoFichaBean;
import trismegistoplanilla.dao.TipoEstadoFichaDAO;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class TipoEstadoFichaMysqlDAO implements TipoEstadoFichaDAO {
@Override
public JSONObject listarTipoEstadoFicha() {
System.out.println("TipoEstadoFichaSqlserverDAO: listarTipoEstadoFicha");
JSONObject JOlistarTipoEstadoFicha = null;
JSONArray JAlistarTipoEstadoFicha = new JSONArray();
ResponseHelper response = new ResponseHelper();
String sql = ""
+ "select "
+ "codigo_tipo_estado_ficha codigoTipoEstadoFicha, "
+ "nombre nombre, "
+ "descripcion descripcion "
+ "from tipo_estado_ficha "
+ "where estado_registro = 1 "
+ "order by 1";
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = conexion.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
TipoEstadoFichaBean tef = new TipoEstadoFichaBean();
tef.setCodigoTipoEstadoFicha(rs.getInt("codigoTipoEstadoFicha"));
tef.setNombre(rs.getString("nombre"));
tef.setDescripcion(rs.getString("descripcion"));
JSONObject objTipoEstadoFicha = new JSONObject(tef);
JAlistarTipoEstadoFicha.put(objTipoEstadoFicha);
}
JSONObject objTipoEstadoFicha = new JSONObject();
objTipoEstadoFicha.put("tiposEstadoFicha", JAlistarTipoEstadoFicha);
response.setStatus(true);
response.setMessage("Los tipos de estado de ficha se listaron correctamente");
response.setData(objTipoEstadoFicha);
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
JOlistarTipoEstadoFicha = new JSONObject(response);
return JOlistarTipoEstadoFicha;
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.json.JSONArray;
import org.json.JSONObject;
import trismegistoplanilla.beans.TipoExpedienteBean;
import trismegistoplanilla.dao.TipoExpedienteDAO;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class TipoExpedienteMysqlDAO implements TipoExpedienteDAO {
@Override
public JSONObject listarTipoExpediente() {
System.out.println("TipoExpedienteSqlserverDAO: listarTipoExpediente");
JSONObject JOlistarTipoExpediente = null;
JSONArray JArrayArea = new JSONArray();
ResponseHelper response = new ResponseHelper();
String sql = ""
+ "select "
+ "codigo_tipo_expediente codigoTipoExpediente, "
+ "nombre, "
+ "estado_registro estado "
+ "from tipo_expediente";
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = conexion.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
TipoExpedienteBean te = new TipoExpedienteBean();
te.setCodigoTipoExpediente(rs.getInt("codigoTipoExpediente"));
te.setNombre(rs.getString("nombre"));
JSONObject obj = new JSONObject(te);
JArrayArea.put(obj);
}
JSONObject obj = new JSONObject();
obj.put("tipoexpedientes", JArrayArea);
response.setStatus(true);
response.setMessage("Los tipo de expediente se listaron correctamente");
response.setData(obj);
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
JOlistarTipoExpediente = new JSONObject(response);
return JOlistarTipoExpediente;
}
@Override
public JSONObject registrarTipoExpediente(TipoExpedienteBean te) {
System.out.println("TipoExpedienteSqlserverDAO: registrarTipoExpediente");
JSONObject JOregistrarTipoExpediente = null;
ResponseHelper response = new ResponseHelper();
String sql = "insert into tipo_expediente (nombre, estado_registro) values (upper(?) ,1)";
Connection conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion.setAutoCommit(false);
// validar existencia de tipo de expediente
JSONObject validarExistenciaTipoExpediente = validarExistenciaTipoExpediente(te);
if (validarExistenciaTipoExpediente.getBoolean("status")) {
response.setStatus(false);
response.setMessage("El tipo de expediente ingresado, ya existe en el sistema");
conexion.rollback();
} else {
ps = conexion.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
ps.setString(1, te.getNombre());
int resultadoRegistroTipoExpediente = ps.executeUpdate();
if (resultadoRegistroTipoExpediente > 0) {
rs = ps.getGeneratedKeys();
rs.next();
int codigoTipoExpediente = rs.getInt(1);
JSONObject objTipoExpediente = new JSONObject();
objTipoExpediente.put("id", codigoTipoExpediente);
objTipoExpediente.put("data", te.getNombre());
response.setStatus(true);
response.setMessage("El tipo de expediente ha sido registrado con exito");
response.setData(objTipoExpediente);
conexion.commit();
} else {
response.setStatus(false);
response.setMessage("Error: no se pudo registrar el tipo de expediente ingresado");
conexion.rollback();
}
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
try {
conexion.rollback();
} catch (SQLException ex) {
ex.printStackTrace();
}
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
JOregistrarTipoExpediente = new JSONObject(response);
return JOregistrarTipoExpediente;
}
@Override
public JSONObject validarExistenciaTipoExpediente(TipoExpedienteBean te) {
System.out.println("TipoExpedienteSqlserverDAO: validarExistenciaTipoExpediente");
JSONObject JOvalidarExistenciaTipoExpediente = null;
ResponseHelper response = new ResponseHelper();
String sql = "select count(1) existe from tipo_expediente where nombre = upper(?)";
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = conexion.prepareStatement(sql);
ps.setString(1, te.getNombre());
rs = ps.executeQuery();
rs.next();
int existeTipoExpediente = rs.getInt("existe");
if (existeTipoExpediente > 0) {
response.setStatus(true);
} else {
response.setStatus(false);
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
JOvalidarExistenciaTipoExpediente = new JSONObject(response);
return JOvalidarExistenciaTipoExpediente;
}
@Override
public JSONObject validarTipoExpedienteSeleccionadoByID(JSONArray ja) {
System.out.println("TipoExpedienteSqlserverDAO: validarTipoExpedienteSeleccionadoByID");
JSONObject JOvalidarExistenciaTipoExpediente = null;
ResponseHelper response = new ResponseHelper();
String sql = ""
+ "select "
+ "count(1) existe "
+ "from tipo_expediente "
+ "where codigo_tipo_expediente = ?";
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = conexion.prepareStatement(sql);
int existe = 0;
for (int i = 0; i < ja.length(); i++) {
JSONObject obj = ja.getJSONObject(i);
ps.setInt(1, obj.getInt("id"));
rs = ps.executeQuery();
rs.next();
existe = rs.getInt("existe");
if (existe == 0) {
break;
}
}
if (existe > 0) {
response.setStatus(true);
} else {
response.setStatus(false);
response.setMessage("Al parecer ha seleccionado un tipo de expediente que no se encuentra registrardo, por favor seleccione un elemento correcto y vuelva a intentarlo");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
JOvalidarExistenciaTipoExpediente = new JSONObject(response);
return JOvalidarExistenciaTipoExpediente;
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.json.JSONArray;
import org.json.JSONObject;
import trismegistoplanilla.beans.AreaCargoBean;
import trismegistoplanilla.beans.AreaCargoTipoPagoBean;
import trismegistoplanilla.beans.TipoPagoBean;
import trismegistoplanilla.dao.TipoPagoDAO;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class TipoPagoMysqlDAO implements TipoPagoDAO {
@Override
public JSONObject listarTipoPago(AreaCargoBean ac) {
System.out.println("TipoPagoSqlserverDAO: listarTipoPago");
JSONObject JOListarTipoPago = null;
JSONArray JAListarTipoPago = new JSONArray();
ResponseHelper response = new ResponseHelper();
String sql = ""
+ "select "
+ "tipo_pago.codigo_tipo_pago codigoTipoPago, "
+ "tipo_pago.nombre "
+ "from area_cargo_tipo_pago "
+ "inner join dbo.tipo_pago ON dbo.tipo_pago.codigo_tipo_pago = dbo.area_cargo_tipo_pago.codigo_tipo_pago "
+ "where area_cargo_tipo_pago.codigo_area_cargo = ? and area_cargo_tipo_pago.estado_registro = 1";
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = conexion.prepareStatement(sql);
ps.setInt(1, ac.getCodigoAreaCargo());
rs = ps.executeQuery();
while (rs.next()) {
TipoPagoBean tp = new TipoPagoBean();
tp.setCodigoTipoPago(rs.getInt("codigoTipoPago"));
tp.setNombre(rs.getString("nombre"));
JSONObject objTipoPago = new JSONObject(tp);
JAListarTipoPago.put(objTipoPago);
}
JSONObject objTipoPago = new JSONObject();
objTipoPago.put("tipoPagos", JAListarTipoPago);
response.setStatus(true);
response.setMessage("Los tipos de pagos se listaron correctamente");
response.setData(objTipoPago);
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
JOListarTipoPago = new JSONObject(response);
return JOListarTipoPago;
}
@Override
public JSONObject validarExistenciaTipoPago(AreaCargoTipoPagoBean actp) {
System.out.println("TipoPagoSqlserverDAO: validarExistenciaTipoPago");
JSONObject JObjectValidarExistenciaTipoPago = null;
ResponseHelper response = new ResponseHelper();
String sql = ""
+ "select "
+ "count(1) exiteTipoPago "
+ "from area_cargo_tipo_pago "
+ "inner join dbo.tipo_pago ON dbo.tipo_pago.codigo_tipo_pago = dbo.area_cargo_tipo_pago.codigo_tipo_pago "
+ "where area_cargo_tipo_pago.codigo_area_cargo = ? and area_cargo_tipo_pago.codigo_tipo_pago = ? and area_cargo_tipo_pago.estado_registro = 1;";
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = conexion.prepareStatement(sql);
ps.setInt(1, actp.getCodigoAreaCargo());
ps.setInt(2, actp.getCodigoTipoPago());
rs = ps.executeQuery();
rs.next();
int exiteTipoPago = 0;
exiteTipoPago = rs.getInt("exiteTipoPago");
if (exiteTipoPago > 0) {
response.setStatus(true);
response.setMessage("El tipo de pago seleccionada existe");
} else {
response.setStatus(false);
response.setMessage("Error! El tipo de pago seleccionada no existe");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
JObjectValidarExistenciaTipoPago = new JSONObject(response);
return JObjectValidarExistenciaTipoPago;
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.json.JSONObject;
import trismegistoplanilla.beans.TokenFichaBean;
import trismegistoplanilla.dao.TokenFichaDAO;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class TokenFichaMysqlDAO implements TokenFichaDAO {
@Override
public JSONObject validarTokenURL(TokenFichaBean tf) {
System.out.println("TokenFichaSqlserverDAO: validarTokenURL");
JSONObject jsonObjValidarTokenURL = null;
ResponseHelper response = new ResponseHelper();
int tokenValidoURL = 0;
String sql = ""
+ "select "
+ "count(1) tokenValidoURL "
+ "from token_ficha "
+ "where codigo_token_ficha = ? and "
+ "token = ? ";
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = conexion.prepareStatement(sql);
ps.setInt(1, tf.getCodigoTokenFicha());
ps.setString(2, tf.getToken());
rs = ps.executeQuery();
rs.next();
tokenValidoURL = rs.getInt("tokenValidoURL");
if (tokenValidoURL > 0) {
response.setStatus(true);
response.setMessage("El token es válido");
} else {
response.setStatus(false);
// error token no valido
response.setMessage("El token no existe o ha caducado");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonObjValidarTokenURL = new JSONObject(response);
return jsonObjValidarTokenURL;
}
@Override
public JSONObject validarToken(TokenFichaBean tf) {
System.out.println("TokenFichaSqlserverDAO: validarToken");
JSONObject jsonObjValidarToken = null;
ResponseHelper response = new ResponseHelper();
int tokenValido = 0;
String sql = ""
+ "select "
+ "count(1) tokenValido "
+ "from token_ficha "
+ "where "
+ "codigo_token_ficha = ? and "
+ "token = ? and "
+ "fecha_expiracion >= getdate() and "
+ "estado_registro = 1";
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = conexion.prepareStatement(sql);
ps.setInt(1, tf.getCodigoTokenFicha());
ps.setString(2, tf.getToken());
rs = ps.executeQuery();
rs.next();
tokenValido = rs.getInt("tokenValido");
if (tokenValido > 0) {
response.setStatus(true);
response.setMessage("El token es válido");
} else {
response.setStatus(false);
response.setMessage("Error, el token no existe o esta inhabilitado");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonObjValidarToken = new JSONObject(response);
return jsonObjValidarToken;
}
@Override
public JSONObject desactivarToken(TokenFichaBean tf) {
System.out.println("TokenFichaSqlserverDAO: desactivarToken");
JSONObject jsonObjDesactivarToken = null;
ResponseHelper response = new ResponseHelper();
String sql = ""
+ "update token_ficha "
+ "set estado_registro = 0 "
+ "where codigo_token_ficha = ? and estado_registro = 1";
Connection conexion = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
conexion.setAutoCommit(false);
ps = conexion.prepareStatement(sql);
ps.setInt(1, tf.getCodigoTokenFicha());
int desactivarToken = ps.executeUpdate();
if (desactivarToken > 0) {
conexion.commit();
response.setStatus(true);
response.setMessage("La token se ha desactivado con éxito.");
} else {
response.setStatus(false);
response.setMessage("Error al desactivar el token, no se ha encontrado ningún registro.");
conexion.rollback();
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conexion != null) {
conexion.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonObjDesactivarToken = new JSONObject(response);
return jsonObjDesactivarToken;
}
@Override
public JSONObject obtenerSedeAreaCargo(JSONObject datos) {
System.out.println("TokenFichaSqlserverDAO: obtenerSedeAreaCargo");
JSONObject jObject;
ResponseHelper response = new ResponseHelper();
Connection cnx = null;
PreparedStatement ps = null;
ResultSet rs = null;
String sql = ""
+ "select top 1 "
+ "token_ficha.codigo_sede_area codigoSedeArea, "
+ "token_ficha.codigo_area_cargo codigoAreaCargo, "
+ "sede.nombre nombreSede, "
+ "area.nombre nombreArea, "
+ "cargo.nombre nombreCargo "
+ "FROM token_ficha "
+ "inner join ficha ON ficha.codigo_ficha = token_ficha.codigo_ficha "
+ "inner join persona ON persona.codigo_persona = ficha.codigo_persona "
+ "inner join sede_area on token_ficha.codigo_sede_area = sede_area.codigo_sede_area "
+ "inner join sede ON sede.codigo_sede = sede_area.codigo_sede "
+ "inner join area ON area.codigo_area = sede_area.codigo_area "
+ "inner join area_cargo on token_ficha.codigo_area_cargo = area_cargo.codigo_area_cargo "
+ "inner join cargo ON cargo.codigo_cargo = area_cargo.codigo_cargo "
+ "where persona.codigo_persona = ? "
+ "order by 1 desc";
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = cnx.prepareStatement(sql);
ps.setInt(1, datos.getInt("codigoPersona"));
rs = ps.executeQuery();
if (rs.next()) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("codigoSedeArea", rs.getInt("codigoSedeArea"));
jsonObject.put("codigoAreaCargo", rs.getInt("codigoAreaCargo"));
jsonObject.put("sede", rs.getString("nombreSede"));
jsonObject.put("area", rs.getString("nombreArea"));
jsonObject.put("cargo", rs.getString("nombreCargo"));
response.setStatus(true);
response.setMessage("Se obtuvo la sede, area y cargo del personal");
response.setData(new JSONObject().put("datosAdministrativos", jsonObject));
} else {
response.setStatus(false);
response.setMessage("No se encontraron sede - area - cargos del personal.");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jObject = new JSONObject(response);
return jObject;
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.json.JSONObject;
import trismegistoplanilla.beans.TrabajadorResponsableBean;
import trismegistoplanilla.dao.TrabajadorResponsableDAO;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class TrabajadorResponsableMysqlDAO implements TrabajadorResponsableDAO {
@Override
public JSONObject registrarTrabajadorResponsable(TrabajadorResponsableBean trabajadorResponsable) {
System.out.println("TrabajadorResponsableSqlserverDAO: registrarTrabajadorResponsable");
JSONObject jsonRegistrarTrabajadorResponsable = null;
PreparedStatement ps = null;
Connection cnx = null;
ResponseHelper response = new ResponseHelper();
int resultadoRegistroTrabajadorResponsable;
try {
String sql
= "insert into trabajador_responsable "
+ "(codigo_planilla_real, apellido_paterno, apellido_materno, nombre, dni, codigo_usuario, estado_registro) "
+ "values (?,LTRIM(RTRIM(UPPER(?))),LTRIM(RTRIM(UPPER(?))),LTRIM(RTRIM(UPPER(?))),?,?,1)";
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
cnx.setAutoCommit(false);
ps = cnx.prepareStatement(sql);
ps.setInt(1, trabajadorResponsable.getCodigoPlanillaReal());
ps.setString(2, trabajadorResponsable.getApellidoPaterno());
ps.setString(3, trabajadorResponsable.getApellidoMaterno());
ps.setString(4, trabajadorResponsable.getNombre());
ps.setString(5, trabajadorResponsable.getDni());
ps.setInt(6, trabajadorResponsable.getCodigoUsuario());
resultadoRegistroTrabajadorResponsable = ps.executeUpdate();
if (resultadoRegistroTrabajadorResponsable == 0) {
response.setStatus(false);
cnx.rollback();
} else {
response.setStatus(true);
cnx.commit();
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
} finally {
try {
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonRegistrarTrabajadorResponsable = new JSONObject(response);
return jsonRegistrarTrabajadorResponsable;
}
@Override
public JSONObject validarExistenciaTrabajadorPorDni(TrabajadorResponsableBean trabajadorResponsable) {
System.out.println("TrabajadorResponsableSqlserverDAO: validarExistenciaTrabajadorPorDni");
JSONObject jsonRegistrarTrabajadorResponsable = null;
PreparedStatement ps = null;
ResultSet rs = null;
Connection cnx = null;
ResponseHelper response = new ResponseHelper();
int existeTrabajador;
try {
String sql
= "select count(1) as existeTrabajador "
+ "from trabajador_responsable "
+ "where trabajador_responsable.dni = ? and estado_registro = 1";
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = cnx.prepareStatement(sql);
ps.setString(1, trabajadorResponsable.getDni());
rs = ps.executeQuery();
rs.next();
existeTrabajador = rs.getInt("existeTrabajador");
if (existeTrabajador > 0) {
response.setStatus(true);
response.setMessage("El trabajador existe");
} else if (existeTrabajador == 0) {
response.setStatus(false);
response.setMessage("El trabajador no existe");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonRegistrarTrabajadorResponsable = new JSONObject(response);
return jsonRegistrarTrabajadorResponsable;
}
@Override
public JSONObject obtenerDatosTrabajadorResponsable(int codigoPlanillaReal) {
System.out.println("TrabajadorResponsableSqlserverDAO: obtenerDatosTrabajadorResponsable");
JSONObject jsonObjObtenerSedeAreaCargoPorCodigoPlanilla = null;
PreparedStatement ps = null;
ResultSet rs = null;
Connection cnx = null;
ResponseHelper response = new ResponseHelper();
try {
String sql
= "select "
+ "sede.nombre nombreSede, "
+ "area.nombre nombreArea, "
+ "cargo.nombre nombreCargo, "
+ "isnull(trabajador_responsable.correo,'responsablesacooliveros@yopmail.com') correo "
+ "from trabajador_responsable "
+ "inner join sede_area on trabajador_responsable.codigo_sede_area = sede_area.codigo_sede_area "
+ "inner join sede on sede_area.codigo_sede = sede.codigo_sede "
+ "inner join area on sede_area.codigo_area = area.codigo_area "
+ "inner join area_cargo on trabajador_responsable.codigo_area_cargo = area_cargo.codigo_area_cargo "
+ "inner join cargo on area_cargo.codigo_cargo = cargo.codigo_cargo "
+ "where trabajador_responsable.codigo_planilla_real = ?";
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = cnx.prepareStatement(sql);
ps.setInt(1, codigoPlanillaReal);
rs = ps.executeQuery();
if (rs.next()) {
TrabajadorResponsableBean tResponsable = new TrabajadorResponsableBean();
tResponsable.setNombreSede(rs.getString("nombreSede"));
tResponsable.setNombreArea(rs.getString("nombreArea"));
tResponsable.setNombreCargo(rs.getString("nombreCargo"));
tResponsable.setCorreo(rs.getString("correo"));
JSONObject jsonObjTrabajadorResponsable = new JSONObject(tResponsable);
response.setStatus(true);
response.setData(jsonObjTrabajadorResponsable);
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonObjObtenerSedeAreaCargoPorCodigoPlanilla = new JSONObject(response);
return jsonObjObtenerSedeAreaCargoPorCodigoPlanilla;
}
@Override
public JSONObject obtenerCorreoTrabajadorResponsable(int codigoFicha) {
System.out.println("TrabajadorResponsableSqlserverDAO: obtenerCorreoTrabajadorResponsable");
JSONObject jsonReturn = null;
ResponseHelper response = new ResponseHelper();
Connection cnx = null;
PreparedStatement ps = null;
ResultSet rs = null;
String correo = "", sql = ""
+ "select top 1 "
+ "trabajador_responsable.correo correo "
+ "FROM persona "
+ "inner join ficha ON ficha.codigo_persona = persona.codigo_persona "
+ "inner join estado_ficha ON estado_ficha.codigo_ficha = ficha.codigo_ficha "
+ "inner join trabajador_responsable on estado_ficha.codigo_usuario = trabajador_responsable.codigo_usuario "
+ "where ficha.codigo_ficha = ? "
+ "order by 1 desc";
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = cnx.prepareStatement(sql);
ps.setInt(1, codigoFicha);
rs = ps.executeQuery();
if (rs.next()) {
correo = rs.getString("correo");
}
JSONObject jOCorreo = new JSONObject();
jOCorreo.put("getResult", correo);
response.setStatus(true);
response.setData(jOCorreo);
} catch (SQLException e) {
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
e.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonReturn = new JSONObject(response);
return jsonReturn;
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.json.JSONArray;
import org.json.JSONObject;
import trismegistoplanilla.beans.UbigeoBean;
import trismegistoplanilla.dao.UbigeoDAO;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.Variables;
public class UbigeoMysqlDAO implements UbigeoDAO {
@Override
public JSONObject listarDepartamento() {
System.out.println("UbigeoSqlserverDAO: listarDepartamento");
JSONObject jsonListarDepartamento = null;
JSONArray jsonArrayListarDepartamento = new JSONArray();
PreparedStatement ps = null;
ResultSet rs = null;
Connection connection = null;
ResponseHelper response = new ResponseHelper();
try {
connection = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
String sql
= "select "
+ "codigo_departamento codigoDepartamento, "
+ "nombre_departamento nombreDepartamento "
+ "from ubigeo "
+ "where estado_registro = 1 "
+ "group by codigo_departamento, nombre_departamento "
+ "order by nombre_departamento asc";
ps = connection.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
UbigeoBean ubigeo = new UbigeoBean();
ubigeo.setCodigoDepartamento(rs.getInt("codigoDepartamento"));
ubigeo.setNombreDepartamento(rs.getString("nombreDepartamento"));
JSONObject jsonObjUbigeo = new JSONObject(ubigeo);
jsonArrayListarDepartamento.put(jsonObjUbigeo);
}
JSONObject jsonObjUbigeo = new JSONObject();
jsonObjUbigeo.put("departamentos", jsonArrayListarDepartamento);
response.setStatus(true);
response.setMessage("Los departamentos se han listado correctamente.");
response.setData(jsonObjUbigeo);
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (connection != null) {
connection.close();
}
if (ps != null) {
ps.close();
}
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonListarDepartamento = new JSONObject(response);
return jsonListarDepartamento;
}
@Override
public JSONObject listarProvincia(UbigeoBean ubigeo) {
System.out.println("UbigeoSqlserverDAO: listarProvincia");
JSONObject jsonListarDepartamento = null;
JSONArray jsonArrayListarDepartamento = new JSONArray();
PreparedStatement ps = null;
ResultSet rs = null;
Connection connection = null;
ResponseHelper response = new ResponseHelper();
try {
connection = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
String sql
= "select "
+ "codigo_provincia codigoProvincia, "
+ "nombre_provincia nombreProvincia "
+ "from ubigeo "
+ "where codigo_departamento = ? "
+ "group by codigo_provincia, nombre_provincia "
+ "order by nombre_provincia asc";
ps = connection.prepareStatement(sql);
ps.setInt(1, ubigeo.getCodigoDepartamento());
rs = ps.executeQuery();
while (rs.next()) {
UbigeoBean ubigeoBean = new UbigeoBean();
ubigeoBean.setCodigoProvincia(rs.getInt("codigoProvincia"));
ubigeoBean.setNombreProvincia(rs.getString("nombreProvincia"));
JSONObject jsonObjUbigeo = new JSONObject(ubigeoBean);
jsonArrayListarDepartamento.put(jsonObjUbigeo);
}
JSONObject jsonObjUbigeo = new JSONObject();
jsonObjUbigeo.put("provincias", jsonArrayListarDepartamento);
response.setStatus(true);
response.setMessage("Las provincias se han listado correctamente.");
response.setData(jsonObjUbigeo);
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (connection != null) {
connection.close();
}
if (ps != null) {
ps.close();
}
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonListarDepartamento = new JSONObject(response);
return jsonListarDepartamento;
}
@Override
public JSONObject listarDistrito(UbigeoBean ubigeo) {
System.out.println("UbigeoSqlserverDAO: listarDistrito");
JSONObject jsonListarDepartamento = null;
JSONArray jsonArrayListarDepartamento = new JSONArray();
PreparedStatement ps = null;
ResultSet rs = null;
Connection connection = null;
ResponseHelper response = new ResponseHelper();
try {
connection = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
String sql
= "select "
+ "codigo_distrito codigoDistrito, "
+ "nombre_distrito nombreDistrito "
+ "from ubigeo "
+ "where codigo_departamento = ? and codigo_provincia = ? "
+ "group by codigo_distrito, nombre_distrito "
+ "order by nombre_distrito asc";
ps = connection.prepareStatement(sql);
ps.setInt(1, ubigeo.getCodigoDepartamento());
ps.setInt(2, ubigeo.getCodigoProvincia());
rs = ps.executeQuery();
while (rs.next()) {
UbigeoBean ubigeoBean = new UbigeoBean();
ubigeoBean.setCodigoDistrito(rs.getInt("codigoDistrito"));
ubigeoBean.setNombreDistrito(rs.getString("nombreDistrito"));
JSONObject jsonObjUbigeo = new JSONObject(ubigeoBean);
jsonArrayListarDepartamento.put(jsonObjUbigeo);
}
JSONObject jsonObjUbigeo = new JSONObject();
jsonObjUbigeo.put("distritos", jsonArrayListarDepartamento);
response.setStatus(true);
response.setMessage("Los distritos se han listado correctamente.");
response.setData(jsonObjUbigeo);
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonListarDepartamento = new JSONObject(response);
return jsonListarDepartamento;
}
@Override
public JSONObject validarExistenciaDepartamento(UbigeoBean ubigeo) {
System.out.println("UbigeoSqlserverDAO: validarExistenciaDepartamento");
JSONObject jsonValidarExistenciaDepartamento = null;
ResponseHelper response = new ResponseHelper();
int existeDepartamento = 0;
Connection connection = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
connection = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
String sql
= "select "
+ "count(1) as existeDepartamento "
+ "from ubigeo "
+ "where codigo_departamento = ? and estado_registro = 1";
ps = connection.prepareStatement(sql);
ps.setInt(1, ubigeo.getCodigoDepartamento());
rs = ps.executeQuery();
rs.next();
existeDepartamento = rs.getInt("existeDepartamento");
if (existeDepartamento > 0) {
response.setStatus(true);
response.setMessage("El departamento seleccionado existe.");
} else if (existeDepartamento == 0) {
response.setStatus(false);
response.setMessage("El departamento seleccionado no existe.");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonValidarExistenciaDepartamento = new JSONObject(response);
return jsonValidarExistenciaDepartamento;
}
@Override
public JSONObject validarExistenciaProvincia(UbigeoBean ubigeo) {
System.out.println("UbigeoSqlserverDAO: validarExistenciaProvincia");
JSONObject jsonValidarExistenciaProvincia = null;
ResponseHelper response = new ResponseHelper();
int existeProvincia = 0;
Connection connection = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
connection = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
String sql
= "select "
+ "count(1) as existeProvincia "
+ "from ubigeo "
+ "where codigo_departamento = ? and codigo_provincia = ? and estado_registro = 1";
ps = connection.prepareStatement(sql);
ps.setInt(1, ubigeo.getCodigoDepartamento());
ps.setInt(2, ubigeo.getCodigoProvincia());
rs = ps.executeQuery();
rs.next();
existeProvincia = rs.getInt("existeProvincia");
if (existeProvincia > 0) {
response.setStatus(true);
response.setMessage("La provincia seleccionada existe.");
} else if (existeProvincia == 0) {
response.setStatus(false);
response.setMessage("La provincia seleccionada no existe.");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonValidarExistenciaProvincia = new JSONObject(response);
return jsonValidarExistenciaProvincia;
}
@Override
public JSONObject validarExistenciaDistrito(UbigeoBean ubigeo) {
System.out.println("UbigeoSqlserverDAO: validarExistenciaDistrito");
JSONObject jsonValidarExistenciaDistrito = null;
ResponseHelper response = new ResponseHelper();
int existeDistrito = 0;
Connection connection = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
connection = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
String sql
= "select "
+ "count(codigo_distrito) as existeDistrito "
+ "from ubigeo "
+ "where codigo_departamento = ? and codigo_provincia = ? and codigo_distrito = ? and estado_registro = 1";
ps = connection.prepareStatement(sql);
ps.setInt(1, ubigeo.getCodigoDepartamento());
ps.setInt(2, ubigeo.getCodigoProvincia());
ps.setInt(3, ubigeo.getCodigoDistrito());
rs = ps.executeQuery();
rs.next();
existeDistrito = rs.getInt("existeDistrito");
if (existeDistrito > 0) {
response.setStatus(true);
response.setMessage("El distrito seleccionado existe.");
} else if (existeDistrito == 0) {
response.setStatus(false);
response.setMessage("El distrito seleccionado no existe.");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonValidarExistenciaDistrito = new JSONObject(response);
return jsonValidarExistenciaDistrito;
}
@Override
public JSONObject obtenerCodigoUbigeo(UbigeoBean ubigeo) {
System.out.println("UbigeoSqlserverDAO: obtenerCodigoUbigeo");
JSONObject jsonObtenerCodigoUbigeo = null;
PreparedStatement ps = null;
ResultSet rs = null;
Connection connection = null;
int codigoUbigeo = 0;
ResponseHelper response = new ResponseHelper();
try {
connection = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
String sql
= "select codigo_ubigeo as codigoUbigeo "
+ "from ubigeo "
+ "where codigo_departamento = ? "
+ "and codigo_provincia = ? "
+ "and codigo_distrito = ? "
+ "and estado_registro = 1";
ps = connection.prepareStatement(sql);
ps.setInt(1, ubigeo.getCodigoDepartamento());
ps.setInt(2, ubigeo.getCodigoProvincia());
ps.setInt(3, ubigeo.getCodigoDistrito());
rs = ps.executeQuery();
rs.next();
codigoUbigeo = rs.getInt("codigoUbigeo");
if (codigoUbigeo > 0) {
JSONObject getResultedKey = new JSONObject();
getResultedKey.put("getResultedKey", codigoUbigeo);
response.setStatus(true);
response.setData(getResultedKey);
response.setMessage("Se obtuvo el código correctamente");
} else {
response.setStatus(false);
response.setMessage("No se pudo obtener el código");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jsonObtenerCodigoUbigeo = new JSONObject(response);
return jsonObtenerCodigoUbigeo;
}
}
package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.json.JSONArray;
import org.json.JSONObject;
import trismegistoplanilla.dao.VacanteDAO;
import trismegistoplanilla.utilities.ResponseHelper;
import trismegistoplanilla.utilities.StringUtils;
import trismegistoplanilla.utilities.Variables;
public class VacanteMysqlDAO implements VacanteDAO {
@Override
public JSONObject listarVacanteDT(JSONObject datos) {
System.out.println("VacanteSqlserverDAO: listarVacanteDT");
JSONObject jsonReturn = new JSONObject();
JSONArray jsonArray = new JSONArray();
String sql;
int cantidad;
Connection cnx = null;
PreparedStatement ps = null;
ResultSet rs = null;
int item = Integer.parseInt(datos.getString("start")) + 1;
String filtro = filtroListarVacanteDT(datos.getJSONObject("json"));
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
sql = ""
+ "select top " + datos.getString("length") + " "
+ "vacante.codigo_vacante codigoVacante, "
+ "sede.codigo_sede codigoSede, "
+ "sede.nombre nombreSede, "
+ "area.codigo_area codigoArea, "
+ "area.nombre nombreArea, "
+ "cargo.codigo_cargo codigoCargo, "
+ "cargo.nombre nombreCargo, "
+ "vacante.codigo_sede_area codigoSedeArea, "
+ "vacante.codigo_area_cargo codigoAreaCargo, "
+ "vacante.cantidad vacanteTotal, "
+ "( "
+ "( "
+ "select count(1) from ficha_laboral fl "
+ "where fl.estado_registro = 1 "
+ "and fl.codigo_sede_area = vacante.codigo_sede_area "
+ "and fl.codigo_area_cargo = vacante.codigo_area_cargo "
+ ") + ( "
+ "select count(1) from token_ficha tf "
+ "where tf.estado_registro = 1 "
+ "and tf.codigo_sede_area = vacante.codigo_sede_area "
+ "and tf.codigo_area_cargo = vacante.codigo_area_cargo "
+ ") "
+ ") 'vacanteOcupada', "
+ "( "
+ "vacante.cantidad - "
+ "(( "
+ "select count(1) from ficha_laboral fl "
+ "where fl.estado_registro = 1 "
+ "and fl.codigo_sede_area = vacante.codigo_sede_area "
+ "and fl.codigo_area_cargo = vacante.codigo_area_cargo "
+ ") + ( "
+ "select count(1) from token_ficha tf "
+ "where tf.estado_registro = 1 "
+ "and tf.codigo_sede_area = vacante.codigo_sede_area "
+ "and tf.codigo_area_cargo = vacante.codigo_area_cargo "
+ ")) "
+ ") 'vacanteDisponible', "
+ "vacante.fecha_creacion fecha, "
+ "vacante.estado_registro estado "
+ "FROM vacante "
+ "inner join sede_area ON sede_area.codigo_sede_area = vacante.codigo_sede_area "
+ "inner join sede ON sede.codigo_sede = sede_area.codigo_sede "
+ "inner join area ON area.codigo_area = sede_area.codigo_area "
+ "inner join area_cargo ON area_cargo.codigo_area_cargo = vacante.codigo_area_cargo "
+ "inner join cargo ON cargo.codigo_cargo = area_cargo.codigo_cargo "
+ "where vacante.codigo_vacante not in "
+ "( "
+ "select top " + datos.getString("start") + " x.codigo_vacante from vacante x "
+ "inner join sede_area ON sede_area.codigo_sede_area = x.codigo_sede_area "
+ "inner join sede ON sede.codigo_sede = sede_area.codigo_sede "
+ "inner join area ON area.codigo_area = sede_area.codigo_area "
+ "inner join area_cargo ON area_cargo.codigo_area_cargo = x.codigo_area_cargo "
+ "inner join cargo ON cargo.codigo_cargo = area_cargo.codigo_cargo "
+ "where x.estado_registro = 1 "
+ filtro
+ "order by sede.nombre, area.nombre, cargo.nombre asc "
+ ") "
+ filtro
+ "and vacante.estado_registro = 1 "
+ "order by sede.nombre, area.nombre, cargo.nombre asc";
ps = cnx.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
JSONObject vacante = new JSONObject();
vacante.put("item", item++);
vacante.put("codigoVacante", rs.getInt("codigoVacante"));
vacante.put("codigoSede", rs.getInt("codigoSede"));
vacante.put("nombreSede", rs.getString("nombreSede"));
vacante.put("codigoArea", rs.getInt("codigoArea"));
vacante.put("nombreArea", rs.getString("nombreArea"));
vacante.put("codigoCargo", rs.getInt("codigoCargo"));
vacante.put("nombreCargo", rs.getString("nombreCargo"));
vacante.put("codigoSedeArea", rs.getInt("codigoSedeArea"));
vacante.put("codigoAreaCargo", rs.getInt("codigoAreaCargo"));
vacante.put("vacanteTotal", rs.getInt("vacanteTotal"));
vacante.put("vacanteOcupada", rs.getInt("vacanteOcupada"));
vacante.put("vacanteDisponible", rs.getInt("vacanteDisponible"));
vacante.put("fecha", rs.getDate("fecha"));
vacante.put("estado", rs.getInt("estado"));
jsonArray.put(vacante);
}
sql
= "select count(1) cantidad "
+ "FROM vacante "
+ "inner join sede_area ON sede_area.codigo_sede_area = vacante.codigo_sede_area "
+ "inner join sede ON sede.codigo_sede = sede_area.codigo_sede "
+ "inner join area ON area.codigo_area = sede_area.codigo_area "
+ "inner join area_cargo ON area_cargo.codigo_area_cargo = vacante.codigo_area_cargo "
+ "inner join cargo ON cargo.codigo_cargo = area_cargo.codigo_cargo "
+ "where vacante.estado_registro = 1 "
+ filtro;
ps = cnx.prepareStatement(sql);
rs = ps.executeQuery();
rs.next();
cantidad = rs.getInt("cantidad");
jsonReturn.put("data", jsonArray);
jsonReturn.put("recordsFiltered", cantidad);
jsonReturn.put("recordsTotal", cantidad);
jsonReturn.put("draw", datos.getInt("draw"));
} catch (SQLException e) {
e.printStackTrace();
jsonReturn.put("status", false);
jsonReturn.put("message", "Error: " + e.getMessage() + " Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
return jsonReturn;
}
private String filtroListarVacanteDT(JSONObject datos) {
System.out.println("VacanteSqlserverDAO: filtroListarVacanteDT");
String str = "";
int sede = datos.getInt("codigoSede");
int area = datos.getInt("codigoArea");
int cargo = datos.getInt("codigoCargo");
if (sede != 0) {
str = " and sede.codigo_sede = " + sede + " ";
}
if (area != 0) {
str = " and sede.codigo_sede = " + sede + " and area.codigo_area = " + area + " ";
}
if (cargo != 0) {
str = " and sede.codigo_sede = " + sede + " and area.codigo_area = " + area + " and cargo.codigo_cargo = " + cargo + " ";
}
return str;
}
@Override
public JSONObject registrarVacante(JSONObject datos) {
System.out.println("VacanteSqlserverDAO: registrarVacante");
JSONObject jOVacante;
ResponseHelper response = new ResponseHelper();
String sql;
int resultado;
Connection cnx = null;
PreparedStatement ps = null;
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
cnx.setAutoCommit(false);
sql
= "update vacante "
+ "set estado_registro = 0 "
+ "where vacante.estado_registro = 1 "
+ "and vacante.codigo_sede_area = ? "
+ "and vacante.codigo_area_cargo = ?";
ps = cnx.prepareStatement(sql);
ps.setInt(1, datos.getInt("codigoSedeArea"));
ps.setInt(2, datos.getInt("codigoAreaCargo"));
resultado = ps.executeUpdate();
if (resultado == 1) {
sql
= "insert into vacante "
+ "(codigo_sede_area, codigo_area_cargo, cantidad, fecha_creacion, estado_registro) "
+ "values (?,?,?,getdate(),1)";
ps = cnx.prepareStatement(sql);
int c = 1;
ps.setInt(c++, datos.getInt("codigoSedeArea"));
ps.setInt(c++, datos.getInt("codigoAreaCargo"));
ps.setInt(c++, datos.getInt("cantidad"));
resultado = ps.executeUpdate();
if (resultado == 1) {
cnx.commit();
response.setStatus(true);
response.setMessage("Vacante actualizada!");
} else {
response.setStatus(false);
response.setMessage("No se pudo actualizar la vacante");
}
} else {
response.setStatus(false);
response.setMessage("No se pudo actualizar la vacante");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jOVacante = new JSONObject(response);
return jOVacante;
}
@Override
public JSONObject validarVacante(JSONObject datos) {
System.out.println("VacanteSqlserverDAO: validarVacante");
JSONObject jOVacante;
ResponseHelper response = new ResponseHelper();
String sql;
int vacantesOcupadas, resultado;
Connection cnx = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
sql = ""
+ "select ( "
+ "(select count(1) "
+ "from ficha_laboral "
+ "where ficha_laboral.estado_registro = 1 "
+ "and ficha_laboral.codigo_sede_area = vacante.codigo_sede_area "
+ "and ficha_laboral.codigo_area_cargo = vacante.codigo_area_cargo) "
+ "+ ( "
+ "select count(1) from token_ficha "
+ "where token_ficha.estado_registro = 1 "
+ "and token_ficha.codigo_sede_area = vacante.codigo_sede_area "
+ "and token_ficha.codigo_area_cargo = vacante.codigo_area_cargo "
+ ")) vacantesOcupadas "
+ "FROM vacante "
+ "where vacante.codigo_sede_area = ? "
+ "and vacante.codigo_area_cargo = ? "
+ "and vacante.estado_registro = 1";
ps = cnx.prepareStatement(sql);
ps.setInt(1, datos.getInt("codigoSedeArea"));
ps.setInt(2, datos.getInt("codigoAreaCargo"));
rs = ps.executeQuery();
if (rs.next()) {
vacantesOcupadas = rs.getInt("vacantesOcupadas");
resultado = datos.getInt("cantidad") - vacantesOcupadas;
if (resultado >= 0) {
response.setStatus(true);
response.setMessage("Puede eliminar vacantes");
} else {
response.setStatus(false);
response.setMessage("No puede eliminar vacantes. Hay cargos ocupandolos.");
}
} else {
response.setStatus(false);
response.setMessage("No se pudo obtener las vacantes.");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jOVacante = new JSONObject(response);
return jOVacante;
}
@Override
public JSONObject validarVacanteFicha(JSONObject datos) {
System.out.println("VacanteSqlserverDAO: validarVacanteFicha");
JSONObject jObject;
ResponseHelper response = new ResponseHelper();
Connection cnx = null;
PreparedStatement ps = null;
ResultSet rs = null;
String sql = "";
int resultado = 0;
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
sql = "SELECT "
+ " ( "
+ " vacante.cantidad - ( "
+ " ( "
+ " SELECT "
+ " COUNT (1) "
+ " FROM "
+ " ficha_laboral fl "
+ " WHERE "
+ " fl.estado_registro = 1 "
+ " AND fl.codigo_sede_area = vacante.codigo_sede_area "
+ " AND fl.codigo_area_cargo = vacante.codigo_area_cargo "
+ " ) + ( "
+ " SELECT "
+ " COUNT (1) "
+ " FROM "
+ " token_ficha tf "
+ " WHERE "
+ " tf.estado_registro = 1 "
+ " AND tf.codigo_sede_area = vacante.codigo_sede_area "
+ " AND tf.codigo_area_cargo = vacante.codigo_area_cargo "
+ " ) "
+ " ) "
+ " ) disponible "
+ "FROM "
+ " vacante "
+ "WHERE "
+ " vacante.estado_registro = 1 "
+ "AND codigo_sede_area = ? "
+ "AND codigo_area_cargo = ?";
ps = cnx.prepareStatement(sql);
ps.setInt(1, datos.getInt("codigoSedeArea"));
ps.setInt(2, datos.getInt("codigoAreaCargo"));
rs = ps.executeQuery();
if (rs.next()) {
resultado = rs.getInt("disponible");
if (resultado > 0) {
JSONObject jOResulted = new JSONObject();
jOResulted.put("getResulted", resultado);
response.setStatus(true);
response.setMessage("Si hay vacantes disponibles");
response.setData(jOResulted);
} else {
response.setStatus(false);
response.setMessage("No tiene vacantes disponibles");
}
} else {
response.setStatus(false);
response.setMessage("No se encontró la vacante del cargo!");
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jObject = new JSONObject(response);
return jObject;
}
@Override
public JSONObject listarVacanteSimpleTable(JSONObject datos) {
System.out.println("VacanteSqlserverDAO: listarVacanteSimpleTable");
JSONObject jObject;
JSONArray data = new JSONArray();
ResponseHelper response = new ResponseHelper();
Connection cnx = null;
PreparedStatement ps = null;
ResultSet rs = null;
String sql = ""
+ "select "
+ "( "
+ "select v.codigo_vacante from vacante v "
+ "where v.estado_registro = 1 "
+ "and v.codigo_sede_area = sede_area.codigo_sede_area "
+ "and v.codigo_area_cargo = area_cargo.codigo_area_cargo "
+ ") 'codigoVacante', "
+ "sede.codigo_sede codigoSede, "
+ "sede.nombre nombreSede, "
+ "area.codigo_area codigoArea, "
+ "area.nombre nombreArea, "
+ "cargo.codigo_cargo codigoCargo, "
+ "cargo.nombre nombreCargo, "
+ "sede_area.codigo_sede_area codigoSedeArea, "
+ "area_cargo.codigo_area_cargo codigoAreaCargo, "
+ "( "
+ "select v.cantidad from vacante v "
+ "where v.estado_registro = 1 "
+ "and v.codigo_sede_area = sede_area.codigo_sede_area "
+ "and v.codigo_area_cargo = area_cargo.codigo_area_cargo "
+ ") 'vacanteTotal', "
+ "(( "
+ "select count(1) from ficha_laboral fl "
+ "where fl.estado_registro = 1 "
+ "and fl.codigo_sede_area = sede_area.codigo_sede_area "
+ "and fl.codigo_area_cargo = area_cargo.codigo_area_cargo "
+ ") + ( "
+ "select count(1) from token_ficha tf "
+ "where tf.estado_registro = 1 "
+ "and tf.codigo_sede_area = sede_area.codigo_sede_area "
+ "and tf.codigo_area_cargo = area_cargo.codigo_area_cargo "
+ ")) 'vacanteOcupada', "
+ "(( "
+ "select v.cantidad from vacante v "
+ "where v.estado_registro = 1 "
+ "and v.codigo_sede_area = sede_area.codigo_sede_area "
+ "and v.codigo_area_cargo = area_cargo.codigo_area_cargo "
+ ") - (( "
+ "select count(1) from ficha_laboral fl "
+ "where fl.estado_registro = 1 "
+ "and fl.codigo_sede_area = sede_area.codigo_sede_area "
+ "and fl.codigo_area_cargo = area_cargo.codigo_area_cargo "
+ ") + ( "
+ "select count(1) from token_ficha tf "
+ "where tf.estado_registro = 1 "
+ "and tf.codigo_sede_area = sede_area.codigo_sede_area "
+ "and tf.codigo_area_cargo = area_cargo.codigo_area_cargo "
+ ")) "
+ ") 'vacanteDisponible' "
+ "FROM sede_area "
+ "inner join sede ON sede.codigo_sede = sede_area.codigo_sede "
+ "inner join area ON area.codigo_area = sede_area.codigo_area "
+ "inner join area_cargo ON area_cargo.codigo_area = area.codigo_area "
+ "inner join cargo ON cargo.codigo_cargo = area_cargo.codigo_cargo "
+ "order by sede.nombre, area.nombre, cargo.nombre";
int item = 1;
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = cnx.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
JSONObject jOVacante = new JSONObject();
jOVacante.put("item", item++);
jOVacante.put("codigoVacante", StringUtils.isNullOrEmpty(rs.getString("codigoVacante")) ? "" : rs.getInt("codigoVacante"));
jOVacante.put("codigoSede", rs.getInt("codigoSede"));
jOVacante.put("nombreSede", rs.getString("nombreSede"));
jOVacante.put("codigoArea", rs.getInt("codigoArea"));
jOVacante.put("nombreArea", rs.getString("nombreArea"));
jOVacante.put("codigoCargo", rs.getInt("codigoCargo"));
jOVacante.put("nombreCargo", rs.getString("nombreCargo"));
jOVacante.put("codigoSedeArea", rs.getInt("codigoSedeArea"));
jOVacante.put("codigoAreaCargo", rs.getInt("codigoAreaCargo"));
jOVacante.put("vacanteTotal", StringUtils.isNullOrEmpty(rs.getString("vacanteTotal")) ? "" : rs.getInt("vacanteTotal"));
jOVacante.put("vacanteOcupada", StringUtils.isNullOrEmpty(rs.getString("codigoVacante")) ? "" : rs.getInt("vacanteOcupada"));
jOVacante.put("vacanteDisponible", StringUtils.isNullOrEmpty(rs.getString("vacanteDisponible")) ? "" : rs.getInt("vacanteDisponible"));
data.put(jOVacante);
}
response.setStatus(true);
response.setMessage("Se ha listado las vacantes correctamente!");
response.setData(new JSONObject().put("vacantes", data));
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jObject = new JSONObject(response);
return jObject;
}
@Override
public JSONObject generarVacante(JSONObject datos) {
System.out.println("VacanteSqlserverDAO: generarVacante");
JSONObject jObject;
ResponseHelper response = new ResponseHelper();
Connection cnx = null;
PreparedStatement ps = null;
ResultSet rs = null;
String sql = "insert into vacante (codigo_sede_area,codigo_area_cargo,cantidad,fecha_creacion,estado_registro) "
+ "VALUES (?,?,?,getdate(),1)";
int resultado;
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.BD_NAME);
cnx.setAutoCommit(false);
ps = cnx.prepareStatement(sql);
int c = 1;
ps.setInt(c++, datos.getInt("codigoSedeArea"));
ps.setInt(c++, datos.getInt("codigoAreaCargo"));
ps.setInt(c++, datos.getInt("cantidad"));
resultado = ps.executeUpdate();
if (resultado == 1) {
response.setStatus(true);
response.setMessage("Se generó la vacante correctamente!");
cnx.commit();
} else {
response.setStatus(false);
response.setMessage("No se pudo generar la vacante");
cnx.rollback();
}
} catch (SQLException e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error: " + e.getMessage() + " Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (cnx != null) {
cnx.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
jObject = new JSONObject(response);
return jObject;
}
}
...@@ -20,6 +20,7 @@ public class AreaSqlserverDAO implements AreaDAO { ...@@ -20,6 +20,7 @@ public class AreaSqlserverDAO implements AreaDAO {
JSONObject JObjectArea = null; JSONObject JObjectArea = null;
JSONArray JArrayArea = new JSONArray(); JSONArray JArrayArea = new JSONArray();
ResponseHelper response = new ResponseHelper(); ResponseHelper response = new ResponseHelper();
String sql = "" String sql = ""
+ "SELECT " + "SELECT "
+ " sede_area.codigo_area codigoArea, " + " sede_area.codigo_area codigoArea, "
...@@ -34,9 +35,11 @@ public class AreaSqlserverDAO implements AreaDAO { ...@@ -34,9 +35,11 @@ public class AreaSqlserverDAO implements AreaDAO {
+ "GROUP BY " + "GROUP BY "
+ " sede_area.codigo_area, " + " sede_area.codigo_area, "
+ " area.nombre"; + " area.nombre";
Connection conexion = null; Connection conexion = null;
PreparedStatement ps = null; PreparedStatement ps = null;
ResultSet rs = null; ResultSet rs = null;
try { try {
conexion = SqlserverDAOFactory.obtenerConexion(Variables.BD_NAME); conexion = SqlserverDAOFactory.obtenerConexion(Variables.BD_NAME);
ps = conexion.prepareStatement(sql); ps = conexion.prepareStatement(sql);
......
...@@ -2530,6 +2530,7 @@ public class FichaSqlserverDAO implements FichaDAO { ...@@ -2530,6 +2530,7 @@ public class FichaSqlserverDAO implements FichaDAO {
System.out.println("FichaSqlserverDAO: verificarExistenciaFichaAnulada"); System.out.println("FichaSqlserverDAO: verificarExistenciaFichaAnulada");
JSONObject JOverificarExistenciaFichaAnulada = null; JSONObject JOverificarExistenciaFichaAnulada = null;
ResponseHelper response = new ResponseHelper(); ResponseHelper response = new ResponseHelper();
String sql = "" String sql = ""
+ "select " + "select "
+ "count(1) existeFichaAnulada " + "count(1) existeFichaAnulada "
...@@ -2547,6 +2548,7 @@ public class FichaSqlserverDAO implements FichaDAO { ...@@ -2547,6 +2548,7 @@ public class FichaSqlserverDAO implements FichaDAO {
Connection conexion = SqlserverDAOFactory.obtenerConexion(Variables.BD_NAME); Connection conexion = SqlserverDAOFactory.obtenerConexion(Variables.BD_NAME);
PreparedStatement ps = null; PreparedStatement ps = null;
ResultSet rs = null; ResultSet rs = null;
try { try {
ps = conexion.prepareStatement(sql); ps = conexion.prepareStatement(sql);
ps.setInt(1, p.getCodigoTipoDocumento()); ps.setInt(1, p.getCodigoTipoDocumento());
...@@ -2582,6 +2584,7 @@ public class FichaSqlserverDAO implements FichaDAO { ...@@ -2582,6 +2584,7 @@ public class FichaSqlserverDAO implements FichaDAO {
e.printStackTrace(); e.printStackTrace();
} }
} }
JOverificarExistenciaFichaAnulada = new JSONObject(response); JOverificarExistenciaFichaAnulada = new JSONObject(response);
return JOverificarExistenciaFichaAnulada; return JOverificarExistenciaFichaAnulada;
} }
...@@ -2591,6 +2594,7 @@ public class FichaSqlserverDAO implements FichaDAO { ...@@ -2591,6 +2594,7 @@ public class FichaSqlserverDAO implements FichaDAO {
System.out.println("FichaSqlserverDAO: obtenerCodigoPersonaPorTipoDocNroDoc"); System.out.println("FichaSqlserverDAO: obtenerCodigoPersonaPorTipoDocNroDoc");
JSONObject JOobtenerCodigoPersonaPorTipoDocNroDoc = null; JSONObject JOobtenerCodigoPersonaPorTipoDocNroDoc = null;
ResponseHelper response = new ResponseHelper(); ResponseHelper response = new ResponseHelper();
String sql = "" String sql = ""
+ "select " + "select "
+ "codigo_persona codigoPersona " + "codigo_persona codigoPersona "
...@@ -2603,12 +2607,14 @@ public class FichaSqlserverDAO implements FichaDAO { ...@@ -2603,12 +2607,14 @@ public class FichaSqlserverDAO implements FichaDAO {
Connection conexion = SqlserverDAOFactory.obtenerConexion(Variables.BD_NAME); Connection conexion = SqlserverDAOFactory.obtenerConexion(Variables.BD_NAME);
PreparedStatement ps = null; PreparedStatement ps = null;
ResultSet rs = null; ResultSet rs = null;
try { try {
ps = conexion.prepareStatement(sql); ps = conexion.prepareStatement(sql);
ps.setInt(1, p.getCodigoTipoDocumento()); ps.setInt(1, p.getCodigoTipoDocumento());
ps.setString(2, p.getNumeroDocumento()); ps.setString(2, p.getNumeroDocumento());
rs = ps.executeQuery(); rs = ps.executeQuery();
rs.next(); rs.next();
int codigoPersona = rs.getInt("codigoPersona"); int codigoPersona = rs.getInt("codigoPersona");
if (codigoPersona > 0) { if (codigoPersona > 0) {
JSONObject objPersona = new JSONObject(); JSONObject objPersona = new JSONObject();
......
...@@ -52,16 +52,12 @@ public class SqlserverDAOFactory extends DAOFactory { ...@@ -52,16 +52,12 @@ public class SqlserverDAOFactory extends DAOFactory {
public static Connection obtenerConexion(String base) { public static Connection obtenerConexion(String base) {
Connection conexion = null; Connection conexion = null;
String user = ""; String user;
String pwd = ""; String pwd;
String url = ""; String url;
if (base.equalsIgnoreCase("planillabd")) { if (base.equalsIgnoreCase("planillabd")) {
user = "sa"; user = "sa";
// url = "jdbc:sqlserver://172.16.2.118:1433;databaseName=planillabd";
// pwd = "Saco1357$";
// url = "jdbc:sqlserver://172.16.2.20:1433;databaseName=planillabd";
// pwd = "S3rv1d0r";
url = "jdbc:sqlserver://172.16.0.5:1433;databaseName=planillabd"; url = "jdbc:sqlserver://172.16.0.5:1433;databaseName=planillabd";
pwd = "Saco1357$"; pwd = "Saco1357$";
try { try {
...@@ -70,6 +66,7 @@ public class SqlserverDAOFactory extends DAOFactory { ...@@ -70,6 +66,7 @@ public class SqlserverDAOFactory extends DAOFactory {
e.printStackTrace(); e.printStackTrace();
} }
} }
return conexion; return conexion;
} }
......
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