TipoDocumentoMysqlDAO.java 8.67 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
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() {
19
		System.out.println("TipoDocumentoMysqlDAO: listarTipoDocumento");
20 21 22 23 24
		JSONObject jsonObjListarTipoDocumento = null;
		JSONArray jsonArrListarTipoDocumento = new JSONArray();
		ResponseHelper response = new ResponseHelper();

		String sql
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
			= "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";
43 44 45 46 47

		Connection conexion = null;
		PreparedStatement ps = null;
		ResultSet rs = null;
		try {
48
			conexion = MysqlDAOFactory.obtenerConexion(Variables.MYSQL_NUEVO_BD_NAME);
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
			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);
70
			response.setMessage("Error: " + e.getMessage() + "   Error Code: [" + e.getErrorCode() + "]");
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
		} 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) {
92
		System.out.println("TipoDocumentoMysqlDAO: validarExistenciaTipoDocumento");
93 94 95 96 97 98 99 100 101 102 103 104 105 106
		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 {
107
			conexion = MysqlDAOFactory.obtenerConexion(Variables.MYSQL_NUEVO_BD_NAME);
108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
			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);
123
			response.setMessage("Error: " + e.getMessage() + "   Error Code: [" + e.getErrorCode() + "]");
124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
		} 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) {
145
		System.out.println("TipoDocumentoMysqlDAO: obtenerLongitudTipoEntrdadaTipoDocumento");
146 147 148 149 150 151 152 153 154 155 156 157 158 159 160
		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 {
161
			conexion = MysqlDAOFactory.obtenerConexion(Variables.MYSQL_NUEVO_BD_NAME);
162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178
			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);
179
			response.setMessage("Error: " + e.getMessage() + "   Error Code: [" + e.getErrorCode() + "]");
180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200
		} 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) {
201
		System.out.println("TipoDocumentoMysqlDAO: obtenerCodigoTipoDocumento");
202 203 204 205 206
		JSONObject jsonObjObtenerCodigoTipoDocumento = null;
		ResponseHelper response = new ResponseHelper();

		String sql = ""
			+ "select "
207 208 209 210
			+ "personal.codigo_tipo_documento codigoTipoDocumento "
			+ "from personal "
			+ "inner join ficha ON ficha.codigo_persona = personal.codper "
			+ "inner join token_ficha ON token_ficha.codigo_ficha = ficha.codigo_ficha "
211
			+ "where token_ficha.codigo_token_ficha = ? and token_ficha.token = ? and "
212
			+ "personal.retirado = 0 and "
213 214 215 216 217 218 219
			+ "ficha.estado_registro = 1 and "
			+ "token_ficha.estado_registro = 1";

		Connection conexion = null;
		PreparedStatement ps = null;
		ResultSet rs = null;
		try {
220
			conexion = MysqlDAOFactory.obtenerConexion(Variables.MYSQL_NUEVO_BD_NAME);
221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239
			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);
240
			response.setMessage("Error: " + e.getMessage() + "   Error Code: [" + e.getErrorCode() + "]");
241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260
		} 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;
	}

}