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("TrabajadorResponsableMysqlDAO: 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.MYSQL_NUEVO_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("TrabajadorResponsableMysqlDAO: 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.MYSQL_NUEVO_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("TrabajadorResponsableMysqlDAO: 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 = ?"; String sql = "SELECT " + " locales.deslocal nombreSede, " + " area.desarea nombreArea, " + " cargo.descargo nombreCargo, " + " ifnull( " + " 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 locales ON sede_area.codigo_sede = locales.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.MYSQL_NUEVO_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() + " 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("TrabajadorResponsableMysqlDAO: obtenerCorreoTrabajadorResponsable"); JSONObject jsonReturn = null; ResponseHelper response = new ResponseHelper(); Connection cnx = null; PreparedStatement ps = null; ResultSet rs = null; String correo = ""; // String 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"; String sql = "SELECT " + "trabajador_responsable.correo correo " + "FROM " + " personal " + "INNER JOIN ficha ON ficha.codigo_persona = personal.codper " + "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 = 1 " + "ORDER BY " + " 1 DESC " + "LIMIT 1"; try { cnx = MysqlDAOFactory.obtenerConexion(Variables.MYSQL_NUEVO_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() + " 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; } }