ExperienciaLaboralSqlserverDAO.java 3.03 KB
Newer Older
Luis Gangas committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
package trismegistoplanilla.sqlserverdao;

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 ExperienciaLaboralSqlserverDAO implements ExperienciaLaboralDAO {

17 18 19 20 21 22 23 24 25
	@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;
Luis Gangas committed
26

27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
		try {
			cnx = SqlserverDAOFactory.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);
			}
Luis Gangas committed
51

52 53
			JSONObject jsonObjExperienciaLaboral = new JSONObject();
			jsonObjExperienciaLaboral.put("experiencialaboral", jsonArrayObtenerExperienciaLaboralPorPersona);
Luis Gangas committed
54

55 56 57
			response.setStatus(true);
			response.setMessage("Se ha listado la experiencia laboral correctamente");
			response.setData(jsonObjExperienciaLaboral);
Luis Gangas committed
58

59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
		} 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;
	}
Luis Gangas committed
82 83

}