[ADD] consulta ficha

parent 8538c83e
......@@ -32,189 +32,189 @@ import trismegistoplanilla.utilities.Variables;
public class FichaMysqlDAO implements FichaDAO {
@Override
public JSONObject listarFichaDT(String draw, String length, String start, UsuarioBean u, JSONObject JOFiltro) {
System.out.println("FichaMysqlDAO: listarFichaDT");
JSONObject JOListarFicha = new JSONObject();
JSONArray JAListarFicha = new JSONArray();
int criterio = 0;
if (JOFiltro.toString().equals("{}")) {
criterio = 0;
} else {
criterio = JOFiltro.getInt("codigoCriterio");
}
String sendParamsCondition = "";
// condicion
String condicion = "";
switch (criterio) {
case 1: // tipo documento
int codigoTipoDocumento = JOFiltro.getInt("codigoTipoDocumento");
// condicion = " and tipodocumento.codigo_tipo_documento = ? and persona.numero_documento = ? ";
condicion = " and tipodocumento.codigo_tipo_documento = ? and personal.dni = ? ";
sendParamsCondition = "TIPO_DOCUMENTO";
break;
case 2: // apellidos
// condicion = " and persona.apellido_paterno + persona.apellido_materno like ? ";
condicion = " and CONCAT(personal.apellido) like ? ";
sendParamsCondition = "APELLIDO";
break;
case 3: // fecha de registro de ficha
// condicion = " and convert(varchar, estadoficha.fecha_registro, 103) = ? ";
condicion = " and estadoficha.fecha_registro = ? ";
sendParamsCondition = "FECHA_REGISTRO";
break;
default:
condicion = "";
sendParamsCondition = "";
break;
}
// permisos de administrador o usuario standard
String condicionPorUsuario = "";
if (u.getCodigoProyectoDetalle() != 5) {
condicionPorUsuario = " and ficha.codigo_ficha in (select ef.codigo_ficha from estado_ficha ef where ef.codigo_usuario = ?) ";
}
// consulta general
String sql = "SELECT "
+ " ficha.codigo_ficha codigoficha, "
+ " personal.codper codigopersona, "
+ " tipodocumento.codigo_tipo_documento codigotipodocumento, "
+ " tipodocumento.descripcion_larga tipodocumentodescripcionlarga, "
+ " tipodocumento.descripcion_corta tipodocumentodescripcioncorta, "
+ " personal.dni numerodocumentopersona, "
+ " tipodocumento.longitud, "
+ " tipodocumento.tipo_entrada tipoEntrada, "
+ " CASE "
+ " WHEN personal.apellidoPaterno = '' AND personal.apellidoMaterno = '' AND personal.nombre = '' THEN "
+ " '-' "
+ " WHEN personal.apellidoPaterno IS NULL OR personal.apellidoMaterno IS NULL OR personal.nombre IS NULL THEN "
+ " '-' "
+ " ELSE "
+ " CONCAT(personal.nombre, ' ', personal.apellido) "
+ " END personal, "
+ " personal.apellidoPaterno apellidopaternopersona, "
+ " personal.apellidoMaterno apellidomaternopersona, "
+ " personal.nombre nombrepersona, "
+ " personal.email correopersona, "
+ " estadoficha.fecha_registro fecharegistroficha, "
+ " tipoestadoficha.codigo_tipo_estado_ficha codigotipoestadoficha, "
+ " tipoestadoficha.nombre estadoficha, "
+ " CONCAT('<span class=\"', tipoestadoficha.estilo, '\">', tipoestadoficha.nombre, '</span>') estilo, "
+ " ( "
+ " SELECT "
+ " CONCAT( "
+ " sa.codigo_sede_area, "
+ " \"-\", "
+ " ac.codigo_area_cargo "
+ " ) "
+ " FROM "
+ " token_ficha tf "
+ " INNER JOIN sede_area sa ON tf.codigo_sede_area = sa.codigo_sede_area "
+ " INNER JOIN area_cargo ac ON tf.codigo_area_cargo = ac.codigo_area_cargo "
+ " WHERE "
+ " tf.estado_registro = 1 "
+ " AND tf.codigo_ficha = ficha.codigo_ficha "
+ ") cod_sedearea_areacargo, "
+ " ( "
+ " SELECT "
+ " CONCAT( "
+ " s.codigo_sede, "
+ " '-', "
+ " a.codigo_area, "
+ " '-', "
+ " c.codigo_cargo "
+ " ) "
+ " FROM "
+ " token_ficha tf "
+ " INNER JOIN sede_area sa ON tf.codigo_sede_area = sa.codigo_sede_area "
+ " INNER JOIN area_cargo ac ON tf.codigo_area_cargo = ac.codigo_area_cargo "
+ " INNER JOIN locales s ON s.codigo_sede = sa.codigo_sede "
+ " INNER JOIN area a ON a.codigo_area = sa.codigo_area "
+ " INNER JOIN cargo c ON c.codigo_cargo = ac.codigo_cargo "
+ " WHERE "
+ " tf.estado_registro = 1 "
+ " AND tf.codigo_ficha = ficha.codigo_ficha "
+ ") sedeAreaCargo, "
+ " CASE "
+ "WHEN personal.is_default_mail = 1 THEN "
+ " 'NO' "
+ "ELSE "
+ " 'SI' "
+ "END tieneCorreo "
+ "FROM "
+ " ficha ficha "
+ "INNER JOIN estado_ficha estadoficha ON ficha.codigo_ficha = estadoficha.codigo_ficha "
+ "INNER JOIN tipo_estado_ficha tipoestadoficha ON tipoestadoficha.codigo_tipo_estado_ficha = estadoficha.codigo_tipo_estado_ficha "
+ "INNER JOIN personal personal ON personal.codper = ficha.codigo_persona "
+ "INNER JOIN tipo_documento tipodocumento ON tipodocumento.codigo_tipo_documento = personal.codigo_tipo_documento "
+ "WHERE "
+ " estadoficha.estado_registro = 1 "
+ "AND tipoestadoficha.codigo_tipo_estado_ficha IN (1, 3) "
+ "ORDER BY "
+ " 1 DESC "
+ "LIMIT ?,?";
Connection conexion = null;
PreparedStatement ps = null, psCount = null;
ResultSet rs = null, rsCount = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.MYSQL_NUEVO_BD_NAME);
ps = conexion.prepareStatement(sql);
ps.setInt(2, Integer.parseInt(length));
ps.setInt(1, Integer.parseInt(start));
if (u.getCodigoProyectoDetalle() != 5) {
// evaluar parametros a enviar
switch (sendParamsCondition) {
case "TIPO_DOCUMENTO":
int codigoTipoDocumento = JOFiltro.getInt("codigoTipoDocumento");
String numeroDocumento = JOFiltro.getString("numeroDocumento");
ps.setInt(3, codigoTipoDocumento);
ps.setString(4, numeroDocumento);
ps.setInt(5, u.getCodigoUsuario());
break;
case "APELLIDO":
String apellidos = JOFiltro.getString("apellidos");
ps.setString(3, apellidos + "%");
ps.setInt(4, u.getCodigoUsuario());
break;
case "FECHA_REGISTRO":
String fechaRegistro = JOFiltro.getString("fechaRegistro");
ps.setString(3, fechaRegistro);
ps.setInt(4, u.getCodigoUsuario());
break;
default:
ps.setInt(3, u.getCodigoUsuario());
sendParamsCondition = "";
break;
}
} else {
// evaluar parametros a enviar
switch (sendParamsCondition) {
case "TIPO_DOCUMENTO":
int codigoTipoDocumento = JOFiltro.getInt("codigoTipoDocumento");
String numeroDocumento = JOFiltro.getString("numeroDocumento");
ps.setInt(3, codigoTipoDocumento);
ps.setString(4, numeroDocumento);
break;
case "APELLIDO":
String apellidos = JOFiltro.getString("apellidos");
ps.setString(3, apellidos + "%");
break;
case "FECHA_REGISTRO":
String fechaRegistro = JOFiltro.getString("fechaRegistro");
ps.setString(3, fechaRegistro);
break;
default:
sendParamsCondition = "";
break;
}
}
rs = ps.executeQuery();
@Override
public JSONObject listarFichaDT(String draw, String length, String start, UsuarioBean u, JSONObject JOFiltro) {
System.out.println("FichaMysqlDAO: listarFichaDT");
JSONObject JOListarFicha = new JSONObject();
JSONArray JAListarFicha = new JSONArray();
int criterio = 0;
if (JOFiltro.toString().equals("{}")) {
criterio = 0;
} else {
criterio = JOFiltro.getInt("codigoCriterio");
}
String sendParamsCondition = "";
// condicion
String condicion = "";
switch (criterio) {
case 1: // tipo documento
int codigoTipoDocumento = JOFiltro.getInt("codigoTipoDocumento");
// condicion = " and tipodocumento.codigo_tipo_documento = ? and persona.numero_documento = ? ";
condicion = " and tipodocumento.codigo_tipo_documento = ? and personal.dni = ? ";
sendParamsCondition = "TIPO_DOCUMENTO";
break;
case 2: // apellidos
// condicion = " and persona.apellido_paterno + persona.apellido_materno like ? ";
condicion = " and CONCAT(personal.apellido) like ? ";
sendParamsCondition = "APELLIDO";
break;
case 3: // fecha de registro de ficha
// condicion = " and convert(varchar, estadoficha.fecha_registro, 103) = ? ";
condicion = " and estadoficha.fecha_registro = ? ";
sendParamsCondition = "FECHA_REGISTRO";
break;
default:
condicion = "";
sendParamsCondition = "";
break;
}
// permisos de administrador o usuario standard
String condicionPorUsuario = "";
if (u.getCodigoProyectoDetalle() != 5) {
condicionPorUsuario = " and ficha.codigo_ficha in (select ef.codigo_ficha from estado_ficha ef where ef.codigo_usuario = ?) ";
}
// consulta general
String sql = "SELECT "
+ " ficha.codigo_ficha codigoficha, "
+ " personal.codper codigopersona, "
+ " tipodocumento.codigo_tipo_documento codigotipodocumento, "
+ " tipodocumento.descripcion_larga tipodocumentodescripcionlarga, "
+ " tipodocumento.descripcion_corta tipodocumentodescripcioncorta, "
+ " personal.dni numerodocumentopersona, "
+ " tipodocumento.longitud, "
+ " tipodocumento.tipo_entrada tipoEntrada, "
+ " CASE "
+ " WHEN personal.apellidoPaterno = '' AND personal.apellidoMaterno = '' AND personal.nombre = '' THEN "
+ " '-' "
+ " WHEN personal.apellidoPaterno IS NULL OR personal.apellidoMaterno IS NULL OR personal.nombre IS NULL THEN "
+ " '-' "
+ " ELSE "
+ " CONCAT(personal.nombre, ' ', personal.apellido) "
+ " END personal, "
+ " personal.apellidoPaterno apellidopaternopersona, "
+ " personal.apellidoMaterno apellidomaternopersona, "
+ " personal.nombre nombrepersona, "
+ " personal.email correopersona, "
+ " estadoficha.fecha_registro fecharegistroficha, "
+ " tipoestadoficha.codigo_tipo_estado_ficha codigotipoestadoficha, "
+ " tipoestadoficha.nombre estadoficha, "
+ " CONCAT('<span class=\"', tipoestadoficha.estilo, '\">', tipoestadoficha.nombre, '</span>') estilo, "
+ " ( "
+ " SELECT "
+ " CONCAT( "
+ " sa.codigo_sede_area, "
+ " \"-\", "
+ " ac.codigo_area_cargo "
+ " ) "
+ " FROM "
+ " token_ficha tf "
+ " INNER JOIN sede_area sa ON tf.codigo_sede_area = sa.codigo_sede_area "
+ " INNER JOIN area_cargo ac ON tf.codigo_area_cargo = ac.codigo_area_cargo "
+ " WHERE "
+ " tf.estado_registro = 1 "
+ " AND tf.codigo_ficha = ficha.codigo_ficha "
+ ") cod_sedearea_areacargo, "
+ " ( "
+ " SELECT "
+ " CONCAT( "
+ " s.codigo_sede, "
+ " '-', "
+ " a.codigo_area, "
+ " '-', "
+ " c.codigo_cargo "
+ " ) "
+ " FROM "
+ " token_ficha tf "
+ " INNER JOIN sede_area sa ON tf.codigo_sede_area = sa.codigo_sede_area "
+ " INNER JOIN area_cargo ac ON tf.codigo_area_cargo = ac.codigo_area_cargo "
+ " INNER JOIN locales s ON s.codigo_sede = sa.codigo_sede "
+ " INNER JOIN area a ON a.codigo_area = sa.codigo_area "
+ " INNER JOIN cargo c ON c.codigo_cargo = ac.codigo_cargo "
+ " WHERE "
+ " tf.estado_registro = 1 "
+ " AND tf.codigo_ficha = ficha.codigo_ficha "
+ ") sedeAreaCargo, "
+ " CASE "
+ "WHEN personal.is_default_mail = 1 THEN "
+ " 'NO' "
+ "ELSE "
+ " 'SI' "
+ "END tieneCorreo "
+ "FROM "
+ " ficha ficha "
+ "INNER JOIN estado_ficha estadoficha ON ficha.codigo_ficha = estadoficha.codigo_ficha "
+ "INNER JOIN tipo_estado_ficha tipoestadoficha ON tipoestadoficha.codigo_tipo_estado_ficha = estadoficha.codigo_tipo_estado_ficha "
+ "INNER JOIN personal personal ON personal.codper = ficha.codigo_persona "
+ "INNER JOIN tipo_documento tipodocumento ON tipodocumento.codigo_tipo_documento = personal.codigo_tipo_documento "
+ "WHERE "
+ " estadoficha.estado_registro = 1 "
+ "AND tipoestadoficha.codigo_tipo_estado_ficha IN (1, 3) "
+ "ORDER BY "
+ " 1 DESC "
+ "LIMIT ?,?";
Connection conexion = null;
PreparedStatement ps = null, psCount = null;
ResultSet rs = null, rsCount = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.MYSQL_NUEVO_BD_NAME);
ps = conexion.prepareStatement(sql);
ps.setInt(2, Integer.parseInt(length));
ps.setInt(1, Integer.parseInt(start));
if (u.getCodigoProyectoDetalle() != 5) {
// evaluar parametros a enviar
switch (sendParamsCondition) {
case "TIPO_DOCUMENTO":
int codigoTipoDocumento = JOFiltro.getInt("codigoTipoDocumento");
String numeroDocumento = JOFiltro.getString("numeroDocumento");
ps.setInt(3, codigoTipoDocumento);
ps.setString(4, numeroDocumento);
ps.setInt(5, u.getCodigoUsuario());
break;
case "APELLIDO":
String apellidos = JOFiltro.getString("apellidos");
ps.setString(3, apellidos + "%");
ps.setInt(4, u.getCodigoUsuario());
break;
case "FECHA_REGISTRO":
String fechaRegistro = JOFiltro.getString("fechaRegistro");
ps.setString(3, fechaRegistro);
ps.setInt(4, u.getCodigoUsuario());
break;
default:
ps.setInt(3, u.getCodigoUsuario());
sendParamsCondition = "";
break;
}
} else {
// evaluar parametros a enviar
switch (sendParamsCondition) {
case "TIPO_DOCUMENTO":
int codigoTipoDocumento = JOFiltro.getInt("codigoTipoDocumento");
String numeroDocumento = JOFiltro.getString("numeroDocumento");
ps.setInt(3, codigoTipoDocumento);
ps.setString(4, numeroDocumento);
break;
case "APELLIDO":
String apellidos = JOFiltro.getString("apellidos");
ps.setString(3, apellidos + "%");
break;
case "FECHA_REGISTRO":
String fechaRegistro = JOFiltro.getString("fechaRegistro");
ps.setString(3, fechaRegistro);
break;
default:
sendParamsCondition = "";
break;
}
}
rs = ps.executeQuery();
int count = 1;
......@@ -423,154 +423,154 @@ public class FichaMysqlDAO implements FichaDAO {
psRegistrarEstadoFicha = null,
psDesactivarTokenFicha = null;
ResultSet rsObtenerEstadoFicha = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.MYSQL_NUEVO_BD_NAME);
conexion.setAutoCommit(false);
// obtener codigo tipo documento
int codigoTipoDocumento = p.getCodigoTipoDocumento();
// comparar cuando sea DNI
if (codigoTipoDocumento == 1) {
sql = "UPDATE personal "
+ "SET sexo = UPPER(?), "
+ " codigo_estado_civil = UPPER(?), "
+ " fechanacimiento = STR_TO_DATE( ? ,'%d/%m/%Y'), "
+ " codigo_nacionalidad = UPPER(?), "
+ " codigo_ubigeo_nacimiento = UPPER(?), "
+ " telefono = UPPER(?), "
+ " telefono_movil = upper(?), "
+ " email = UPPER(?), "
+ " codigo_ubigeo_residencia = UPPER(?), "
+ " direccion = UPPER(?), "
+ " latitud_residencia = UPPER(?), "
+ " longitud_residencia = UPPER(?), "
+ " foto = UPPER(?), "
+ " ruc = UPPER(?), "
+ " fondo_pension_activo = UPPER(?), "
+ " codigo_fondo_pension = UPPER(?), "
+ " correo_corporativo = UPPER(?), "
+ " direccion_documento = UPPER(?) "
+ "WHERE "
+ " codper = UPPER(?)";
// preparar query
psActualizarPersona = conexion.prepareStatement(sql);
// setear paramteros segun query
psActualizarPersona.setString(1, data.getString("sexo"));
psActualizarPersona.setInt(2, data.getInt("codigoEstadoCivil"));
psActualizarPersona.setString(3, data.getString("fechaNacimiento"));
psActualizarPersona.setInt(4, data.getInt("codigoNacionalidad"));
if (data.isNull("codigoUbigeoNacimiento")) {
psActualizarPersona.setNull(5, Types.INTEGER);
} else {
psActualizarPersona.setInt(5, data.getInt("codigoUbigeoNacimiento"));
}
if (data.getString("telefonoFijo").equals("")) {
psActualizarPersona.setNull(6, Types.VARCHAR);
} else {
psActualizarPersona.setString(6, data.getString("telefonoFijo"));
}
psActualizarPersona.setString(7, data.getString("telefonoMovil"));
psActualizarPersona.setString(8, data.getString("correo"));
psActualizarPersona.setInt(9, data.getInt("codigoUbigeoResidencia"));
psActualizarPersona.setString(10, data.getString("direccionResidencia"));
psActualizarPersona.setString(11, data.getString("latitudResidencia"));
psActualizarPersona.setString(12, data.getString("longitudResidencia"));
psActualizarPersona.setString(13, data.getString("foto"));
if (data.getString("ruc").equals("")) {
psActualizarPersona.setNull(14, Types.VARCHAR);
} else {
psActualizarPersona.setString(14, data.getString("ruc"));
}
psActualizarPersona.setBoolean(15, data.getBoolean("fondoPensionActivo"));
psActualizarPersona.setInt(16, data.getInt("codigoFondoPension"));
if (data.getString("correoCorporativo").equals("")) {
psActualizarPersona.setNull(17, Types.VARCHAR);
} else {
psActualizarPersona.setString(17, data.getString("correoCorporativo"));
}
psActualizarPersona.setString(18, data.getString("direccionDocumento"));
psActualizarPersona.setInt(19, p.getCodigoPersona());
// ejecutar query
int resultadoActualizarPersona = psActualizarPersona.executeUpdate();
// validar resultado
if (resultadoActualizarPersona == 0) {
response.setStatus(false);
response.setMessage("Lo sentimos, no se pudo actualizar los datos de la persona");
conexion.rollback();
}
} // compaprar cuando RUC
else if (codigoTipoDocumento == 3) {
sql = "UPDATE personal "
+ "SET apellidoPaterno = UPPER (?), "
+ " apellidoMaterno = UPPER (?), "
+ " nombre = UPPER (?), "
+ " sexo = UPPER (?), "
+ " codigo_estado_civil = UPPER (?), "
+ " fechanacimiento = STR_TO_DATE( ? ,'%d/%m/%Y'), "
+ " codigo_nacionalidad = UPPER (?), "
+ " codigo_ubigeo_nacimiento = UPPER (?), "
+ " direccion_documento = UPPER (?), "
+ " telefono = UPPER (?), "
+ " telefono_movil = upper(?), "
+ " email = UPPER (?), "
+ " codigo_ubigeo_residencia = UPPER (?), "
+ " direccion = UPPER (?), "
+ " latitud_residencia = UPPER (?), "
+ " longitud_residencia = UPPER (?), "
+ " foto = UPPER (?), "
+ " ruc = UPPER (?), "
+ " fondo_pension_activo = UPPER (?), "
+ " codigo_fondo_pension = UPPER (?) "
+ "WHERE "
+ " codper = UPPER (?)";
// preparar query
psActualizarPersona = conexion.prepareStatement(sql);
// setear paramteros segun query
psActualizarPersona.setString(1, data.getString("apellidoPaterno"));
psActualizarPersona.setString(2, data.getString("apellidoMaterno"));
psActualizarPersona.setString(3, data.getString("nombre"));
psActualizarPersona.setString(4, data.getString("sexo"));
psActualizarPersona.setInt(5, data.getInt("codigoEstadoCivil"));
psActualizarPersona.setString(6, data.getString("fechaNacimiento"));
psActualizarPersona.setInt(7, data.getInt("codigoNacionalidad"));
if (data.isNull("codigoUbigeoNacimiento")) {
psActualizarPersona.setNull(8, Types.INTEGER);
} else {
psActualizarPersona.setInt(8, data.getInt("codigoUbigeoNacimiento"));
}
psActualizarPersona.setString(9, null);
if (data.getString("telefonoFijo").equals("")) {
psActualizarPersona.setNull(10, Types.VARCHAR);
} else {
psActualizarPersona.setString(10, data.getString("telefonoFijo"));
}
psActualizarPersona.setString(11, data.getString("telefonoMovil"));
psActualizarPersona.setString(12, data.getString("correo"));
psActualizarPersona.setInt(13, data.getInt("codigoUbigeoResidencia"));
psActualizarPersona.setString(14, data.getString("direccionResidencia"));
psActualizarPersona.setString(15, data.getString("latitudResidencia"));
psActualizarPersona.setString(16, data.getString("longitudResidencia"));
psActualizarPersona.setString(17, data.getString("foto"));
psActualizarPersona.setString(18, p.getNumeroDocumento());
psActualizarPersona.setBoolean(19, data.getBoolean("fondoPensionActivo"));
psActualizarPersona.setInt(20, data.getInt("codigoFondoPension"));
psActualizarPersona.setInt(21, p.getCodigoPersona());
// ejecutar query
int resultadoActualizarPersona = psActualizarPersona.executeUpdate();
// validar resultado
if (resultadoActualizarPersona == 0) {
response.setStatus(false);
response.setMessage("Lo sentimos, no se pudo actualizar los datos de la persona");
conexion.rollback();
}
} // comparar cuando no sea DNI ni RUC
else if (codigoTipoDocumento != 1 && codigoTipoDocumento != 3) {
ResultSet rsObtenerEstadoFicha = null;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.MYSQL_NUEVO_BD_NAME);
conexion.setAutoCommit(false);
// obtener codigo tipo documento
int codigoTipoDocumento = p.getCodigoTipoDocumento();
// comparar cuando sea DNI
if (codigoTipoDocumento == 1) {
sql = "UPDATE personal "
+ "SET sexo = UPPER(?), "
+ " codigo_estado_civil = UPPER(?), "
+ " fechanacimiento = STR_TO_DATE( ? ,'%d/%m/%Y'), "
+ " codigo_nacionalidad = UPPER(?), "
+ " codigo_ubigeo_nacimiento = UPPER(?), "
+ " telefono = UPPER(?), "
+ " telefono_movil = upper(?), "
+ " email = UPPER(?), "
+ " codigo_ubigeo_residencia = UPPER(?), "
+ " direccion = UPPER(?), "
+ " latitud_residencia = UPPER(?), "
+ " longitud_residencia = UPPER(?), "
+ " foto = UPPER(?), "
+ " ruc = UPPER(?), "
+ " fondo_pension_activo = UPPER(?), "
+ " codigo_fondo_pension = UPPER(?), "
+ " correo_corporativo = UPPER(?), "
+ " direccion_documento = UPPER(?) "
+ "WHERE "
+ " codper = UPPER(?)";
// preparar query
psActualizarPersona = conexion.prepareStatement(sql);
// setear paramteros segun query
psActualizarPersona.setString(1, data.getString("sexo"));
psActualizarPersona.setInt(2, data.getInt("codigoEstadoCivil"));
psActualizarPersona.setString(3, data.getString("fechaNacimiento"));
psActualizarPersona.setInt(4, data.getInt("codigoNacionalidad"));
if (data.isNull("codigoUbigeoNacimiento")) {
psActualizarPersona.setNull(5, Types.INTEGER);
} else {
psActualizarPersona.setInt(5, data.getInt("codigoUbigeoNacimiento"));
}
if (data.getString("telefonoFijo").equals("")) {
psActualizarPersona.setNull(6, Types.VARCHAR);
} else {
psActualizarPersona.setString(6, data.getString("telefonoFijo"));
}
psActualizarPersona.setString(7, data.getString("telefonoMovil"));
psActualizarPersona.setString(8, data.getString("correo"));
psActualizarPersona.setInt(9, data.getInt("codigoUbigeoResidencia"));
psActualizarPersona.setString(10, data.getString("direccionResidencia"));
psActualizarPersona.setString(11, data.getString("latitudResidencia"));
psActualizarPersona.setString(12, data.getString("longitudResidencia"));
psActualizarPersona.setString(13, data.getString("foto"));
if (data.getString("ruc").equals("")) {
psActualizarPersona.setNull(14, Types.VARCHAR);
} else {
psActualizarPersona.setString(14, data.getString("ruc"));
}
psActualizarPersona.setBoolean(15, data.getBoolean("fondoPensionActivo"));
psActualizarPersona.setInt(16, data.getInt("codigoFondoPension"));
if (data.getString("correoCorporativo").equals("")) {
psActualizarPersona.setNull(17, Types.VARCHAR);
} else {
psActualizarPersona.setString(17, data.getString("correoCorporativo"));
}
psActualizarPersona.setString(18, data.getString("direccionDocumento"));
psActualizarPersona.setInt(19, p.getCodigoPersona());
// ejecutar query
int resultadoActualizarPersona = psActualizarPersona.executeUpdate();
// validar resultado
if (resultadoActualizarPersona == 0) {
response.setStatus(false);
response.setMessage("Lo sentimos, no se pudo actualizar los datos de la persona");
conexion.rollback();
}
} // compaprar cuando RUC
else if (codigoTipoDocumento == 3) {
sql = "UPDATE personal "
+ "SET apellidoPaterno = UPPER (?), "
+ " apellidoMaterno = UPPER (?), "
+ " nombre = UPPER (?), "
+ " sexo = UPPER (?), "
+ " codigo_estado_civil = UPPER (?), "
+ " fechanacimiento = STR_TO_DATE( ? ,'%d/%m/%Y'), "
+ " codigo_nacionalidad = UPPER (?), "
+ " codigo_ubigeo_nacimiento = UPPER (?), "
+ " direccion_documento = UPPER (?), "
+ " telefono = UPPER (?), "
+ " telefono_movil = upper(?), "
+ " email = UPPER (?), "
+ " codigo_ubigeo_residencia = UPPER (?), "
+ " direccion = UPPER (?), "
+ " latitud_residencia = UPPER (?), "
+ " longitud_residencia = UPPER (?), "
+ " foto = UPPER (?), "
+ " ruc = UPPER (?), "
+ " fondo_pension_activo = UPPER (?), "
+ " codigo_fondo_pension = UPPER (?) "
+ "WHERE "
+ " codper = UPPER (?)";
// preparar query
psActualizarPersona = conexion.prepareStatement(sql);
// setear paramteros segun query
psActualizarPersona.setString(1, data.getString("apellidoPaterno"));
psActualizarPersona.setString(2, data.getString("apellidoMaterno"));
psActualizarPersona.setString(3, data.getString("nombre"));
psActualizarPersona.setString(4, data.getString("sexo"));
psActualizarPersona.setInt(5, data.getInt("codigoEstadoCivil"));
psActualizarPersona.setString(6, data.getString("fechaNacimiento"));
psActualizarPersona.setInt(7, data.getInt("codigoNacionalidad"));
if (data.isNull("codigoUbigeoNacimiento")) {
psActualizarPersona.setNull(8, Types.INTEGER);
} else {
psActualizarPersona.setInt(8, data.getInt("codigoUbigeoNacimiento"));
}
psActualizarPersona.setString(9, null);
if (data.getString("telefonoFijo").equals("")) {
psActualizarPersona.setNull(10, Types.VARCHAR);
} else {
psActualizarPersona.setString(10, data.getString("telefonoFijo"));
}
psActualizarPersona.setString(11, data.getString("telefonoMovil"));
psActualizarPersona.setString(12, data.getString("correo"));
psActualizarPersona.setInt(13, data.getInt("codigoUbigeoResidencia"));
psActualizarPersona.setString(14, data.getString("direccionResidencia"));
psActualizarPersona.setString(15, data.getString("latitudResidencia"));
psActualizarPersona.setString(16, data.getString("longitudResidencia"));
psActualizarPersona.setString(17, data.getString("foto"));
psActualizarPersona.setString(18, p.getNumeroDocumento());
psActualizarPersona.setBoolean(19, data.getBoolean("fondoPensionActivo"));
psActualizarPersona.setInt(20, data.getInt("codigoFondoPension"));
psActualizarPersona.setInt(21, p.getCodigoPersona());
// ejecutar query
int resultadoActualizarPersona = psActualizarPersona.executeUpdate();
// validar resultado
if (resultadoActualizarPersona == 0) {
response.setStatus(false);
response.setMessage("Lo sentimos, no se pudo actualizar los datos de la persona");
conexion.rollback();
}
} // comparar cuando no sea DNI ni RUC
else if (codigoTipoDocumento != 1 && codigoTipoDocumento != 3) {
sql = "UPDATE personal "
+ "SET apellidoPaterno = upper(?), "
......@@ -1025,163 +1025,163 @@ public class FichaMysqlDAO implements FichaDAO {
Connection cnx = null;
ResponseHelper response = new ResponseHelper();
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.MYSQL_NUEVO_BD_NAME);
String sql= ""
+ "SELECT "
+ " ficha.codigo_ficha codigoFicha, "
+ " personal.apellidoPaterno apellidoPaterno, "
+ " personal.apellidoMaterno apellidoMaterno, "
+ " personal.nombre nombre, "
+ " tipodocumento.descripcion_larga tipoDocumentoDescripcionLarga, "
+ " tipodocumento.descripcion_corta tipoDocumentoDescripcionCorta, "
+ " personal.dni numeroDocumento, "
+ " CASE "
+ "WHEN personal.sexo = 'M' THEN "
+ " 'MASCULINO' "
+ "WHEN personal.sexo = 'F' THEN "
+ " 'FEMENINO' "
+ "ELSE "
+ " 'SIN SEXO' "
+ "END sexo, "
+ " estadocivil.nombre estadoCivil, "
+ " date_format( "
+ " personal.fechanacimiento, "
+ " '%d/%m/%Y' "
+ ") fechaNacimiento, "
+ " YEAR (CURDATE()) - YEAR (personal.fechanacimiento) edad, "
+ " ( "
+ " SELECT "
+ " COUNT(1) "
+ " FROM "
+ " carga_familiar "
+ " WHERE "
+ " carga_familiar.codigo_parentesco = 3 "
+ " AND carga_familiar.codigo_persona = ficha.codigo_persona "
+ ") nroHijos, "
+ " nacionalidad.pais pais, "
+ " nacionalidad.gentilicio gentilicio, "
+ " nacionalidad.iso iso, "
+ " Ifnull( "
+ " ubigeonacimiento.nombre_departamento, "
+ " '-' "
+ ") nombreDepartamentoNacimiento, "
+ " Ifnull( "
+ " ubigeonacimiento.nombre_provincia, "
+ " '-' "
+ ") nombreProvinciaNacimiento, "
+ " Ifnull( "
+ " ubigeonacimiento.nombre_distrito, "
+ " '-' "
+ ") nombreDistritoNacimiento, "
+ " Ifnull( "
+ " personal.direccion_documento, "
+ " '-' "
+ ") direccionDocumento, "
+ " CASE "
+ "WHEN personal.telefono IS NULL THEN "
+ " '-' "
+ "WHEN personal.telefono = '' THEN "
+ " '-' "
+ "ELSE "
+ " personal.telefono "
+ "END telefonoFijo, "
+ " CASE "
+ "WHEN personal.telefono IS NULL THEN "
+ " '-' "
+ "WHEN personal.telefono = '' THEN "
+ " '-' "
+ "ELSE "
+ " personal.telefono "
+ "END telefonoMovil, "
+ " personal.email correo, "
+ " Ifnull( "
+ " CAST(personal.ruc AS CHAR(50)), "
+ " '-' "
+ ") ruc, "
+ " Ifnull( "
+ " personal.foto, "
+ " 'default.jpg' "
+ ") foto, "
+ " ubigeoresidencia.nombre_departamento nombreDepartamentoResidencia, "
+ " ubigeoresidencia.nombre_provincia nombreProvinciaResidencia, "
+ " ubigeoresidencia.nombre_distrito nombreDistritoResidencia, "
+ " personal.direccion direccionResidencia, "
+ " personal.latitud_residencia latitudResidencia, "
+ " personal.longitud_residencia longitudResidencia, "
+ " CASE "
+ "WHEN personal.fondo_pension_activo = 0 THEN "
+ " 'INACTIVO' "
+ "WHEN personal.fondo_pension_activo = 1 THEN "
+ " 'ACTIVO' "
+ "ELSE "
+ " 'ERROR' "
+ "END fondoPensionActivo, "
+ " fondopension.descripcion_larga fondoPensionDescripcionLarga, "
+ " fondopension.descripcion_corta fondoPensionDescripcionCorta, "
+ " personal.enlace_alfresco enlaceAlfresco, "
+ " tipo_estado_ficha.nombre estadoFicha "
+ "FROM "
+ " ficha ficha "
+ "INNER JOIN personal personal ON ficha.codigo_persona = personal.codper "
+ "INNER JOIN tipo_documento tipodocumento ON tipodocumento.codigo_tipo_documento = personal.codigo_tipo_documento "
+ "INNER JOIN estado_civil estadocivil ON estadocivil.codigo_estado_civil = personal.codigo_estado_civil "
+ "INNER JOIN nacionalidad nacionalidad ON nacionalidad.codigo_nacionalidad = personal.codigo_nacionalidad "
+ "LEFT JOIN ubigeo ubigeonacimiento ON ubigeonacimiento.codigo_ubigeo = personal.codigo_ubigeo_nacimiento "
+ "INNER JOIN ubigeo ubigeoresidencia ON ubigeoresidencia.codigo_ubigeo = personal.codigo_ubigeo_residencia "
+ "INNER JOIN fondo_pension fondopension ON fondopension.codigo_fondo_pension = personal.codigo_fondo_pension "
+ "INNER JOIN estado_ficha ON estado_ficha.codigo_ficha = ficha.codigo_ficha "
+ "INNER JOIN tipo_estado_ficha ON tipo_estado_ficha.codigo_tipo_estado_ficha = estado_ficha.codigo_tipo_estado_ficha "
+ "WHERE "
+ " ficha.estado_registro = 1 "
+ "AND estado_ficha.estado_registro = 1 "
+ "AND ficha.codigo_persona = ? ";
ps = cnx.prepareStatement(sql);
ps.setInt(1, persona.getCodigoPersona());
rs = ps.executeQuery();
rs.next();
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.MYSQL_NUEVO_BD_NAME);
String sql = ""
+ "SELECT "
+ " ficha.codigo_ficha codigoFicha, "
+ " personal.apellidoPaterno apellidoPaterno, "
+ " personal.apellidoMaterno apellidoMaterno, "
+ " personal.nombre nombre, "
+ " tipodocumento.descripcion_larga tipoDocumentoDescripcionLarga, "
+ " tipodocumento.descripcion_corta tipoDocumentoDescripcionCorta, "
+ " personal.dni numeroDocumento, "
+ " CASE "
+ "WHEN personal.sexo = 'M' THEN "
+ " 'MASCULINO' "
+ "WHEN personal.sexo = 'F' THEN "
+ " 'FEMENINO' "
+ "ELSE "
+ " 'SIN SEXO' "
+ "END sexo, "
+ " estadocivil.nombre estadoCivil, "
+ " date_format( "
+ " personal.fechanacimiento, "
+ " '%d/%m/%Y' "
+ ") fechaNacimiento, "
+ " YEAR (CURDATE()) - YEAR (personal.fechanacimiento) edad, "
+ " ( "
+ " SELECT "
+ " COUNT(1) "
+ " FROM "
+ " carga_familiar "
+ " WHERE "
+ " carga_familiar.codigo_parentesco = 3 "
+ " AND carga_familiar.codigo_persona = ficha.codigo_persona "
+ ") nroHijos, "
+ " nacionalidad.pais pais, "
+ " nacionalidad.gentilicio gentilicio, "
+ " nacionalidad.iso iso, "
+ " Ifnull( "
+ " ubigeonacimiento.nombre_departamento, "
+ " '-' "
+ ") nombreDepartamentoNacimiento, "
+ " Ifnull( "
+ " ubigeonacimiento.nombre_provincia, "
+ " '-' "
+ ") nombreProvinciaNacimiento, "
+ " Ifnull( "
+ " ubigeonacimiento.nombre_distrito, "
+ " '-' "
+ ") nombreDistritoNacimiento, "
+ " Ifnull( "
+ " personal.direccion_documento, "
+ " '-' "
+ ") direccionDocumento, "
+ " CASE "
+ "WHEN personal.telefono IS NULL THEN "
+ " '-' "
+ "WHEN personal.telefono = '' THEN "
+ " '-' "
+ "ELSE "
+ " personal.telefono "
+ "END telefonoFijo, "
+ " CASE "
+ "WHEN personal.telefono IS NULL THEN "
+ " '-' "
+ "WHEN personal.telefono = '' THEN "
+ " '-' "
+ "ELSE "
+ " personal.telefono "
+ "END telefonoMovil, "
+ " personal.email correo, "
+ " Ifnull( "
+ " CAST(personal.ruc AS CHAR(50)), "
+ " '-' "
+ ") ruc, "
+ " Ifnull( "
+ " personal.foto, "
+ " 'default.jpg' "
+ ") foto, "
+ " ubigeoresidencia.nombre_departamento nombreDepartamentoResidencia, "
+ " ubigeoresidencia.nombre_provincia nombreProvinciaResidencia, "
+ " ubigeoresidencia.nombre_distrito nombreDistritoResidencia, "
+ " personal.direccion direccionResidencia, "
+ " personal.latitud_residencia latitudResidencia, "
+ " personal.longitud_residencia longitudResidencia, "
+ " CASE "
+ "WHEN personal.fondo_pension_activo = 0 THEN "
+ " 'INACTIVO' "
+ "WHEN personal.fondo_pension_activo = 1 THEN "
+ " 'ACTIVO' "
+ "ELSE "
+ " 'ERROR' "
+ "END fondoPensionActivo, "
+ " fondopension.descripcion_larga fondoPensionDescripcionLarga, "
+ " fondopension.descripcion_corta fondoPensionDescripcionCorta, "
+ " personal.enlace_alfresco enlaceAlfresco, "
+ " tipo_estado_ficha.nombre estadoFicha "
+ "FROM "
+ " ficha ficha "
+ "INNER JOIN personal personal ON ficha.codigo_persona = personal.codper "
+ "INNER JOIN tipo_documento tipodocumento ON tipodocumento.codigo_tipo_documento = personal.codigo_tipo_documento "
+ "INNER JOIN estado_civil estadocivil ON estadocivil.codigo_estado_civil = personal.codigo_estado_civil "
+ "INNER JOIN nacionalidad nacionalidad ON nacionalidad.codigo_nacionalidad = personal.codigo_nacionalidad "
+ "LEFT JOIN ubigeo ubigeonacimiento ON ubigeonacimiento.codigo_ubigeo = personal.codigo_ubigeo_nacimiento "
+ "INNER JOIN ubigeo ubigeoresidencia ON ubigeoresidencia.codigo_ubigeo = personal.codigo_ubigeo_residencia "
+ "INNER JOIN fondo_pension fondopension ON fondopension.codigo_fondo_pension = personal.codigo_fondo_pension "
+ "INNER JOIN estado_ficha ON estado_ficha.codigo_ficha = ficha.codigo_ficha "
+ "INNER JOIN tipo_estado_ficha ON tipo_estado_ficha.codigo_tipo_estado_ficha = estado_ficha.codigo_tipo_estado_ficha "
+ "WHERE "
+ " ficha.estado_registro = 1 "
+ "AND estado_ficha.estado_registro = 1 "
+ "AND ficha.codigo_persona = ? ";
ps = cnx.prepareStatement(sql);
ps.setInt(1, persona.getCodigoPersona());
rs = ps.executeQuery();
rs.next();
// if (rs.next()) {
ReporteBean reporte = new ReporteBean();
reporte.setCodigoFicha(rs.getInt("codigoFicha"));
ReporteBean reporte = new ReporteBean();
reporte.setCodigoFicha(rs.getInt("codigoFicha"));
// reporte.setCodigoPersona(rs.getInt("codigoPersona"));
reporte.setApellidoPaterno(rs.getString("apellidoPaterno"));
reporte.setApellidoMaterno(rs.getString("apellidoMaterno"));
reporte.setNombre(rs.getString("nombre"));
reporte.setTipoDocumentoDescripcionLarga(rs.getString("tipoDocumentoDescripcionLarga"));
reporte.setTipoDocumentoDescripcionCorta(rs.getString("tipoDocumentoDescripcionCorta"));
reporte.setNumeroDocumento(rs.getString("numeroDocumento"));
reporte.setSexo(rs.getString("sexo"));
reporte.setEstadoCivil(rs.getString("estadoCivil"));
reporte.setFechaNacimiento(rs.getString("fechaNacimiento"));
reporte.setEdad(rs.getString("edad"));
reporte.setNroHijos(rs.getString("nroHijos"));
reporte.setPais(rs.getString("pais"));
reporte.setGentilicio(rs.getString("gentilicio"));
reporte.setIso(rs.getString("iso"));
reporte.setNombreDepartamentoNacimiento(rs.getString("nombreDepartamentoNacimiento"));
reporte.setNombreProvinciaNacimiento(rs.getString("nombreProvinciaNacimiento"));
reporte.setNombreDistritoNacimiento(rs.getString("nombreDistritoNacimiento"));
reporte.setDireccionDocumento(rs.getString("direccionDocumento"));
reporte.setTelefonoFijo(rs.getString("telefonoFijo"));
reporte.setTelefonoMovil(rs.getString("telefonoMovil"));
reporte.setCorreo(rs.getString("correo"));
reporte.setRuc(rs.getString("ruc"));
reporte.setFoto(rs.getString("foto"));
reporte.setNombreDepartamentoResidencia(rs.getString("nombreDepartamentoResidencia"));
reporte.setNombreProvinciaResidencia(rs.getString("nombreProvinciaResidencia"));
reporte.setNombreDistritoResidencia(rs.getString("nombreDistritoResidencia"));
reporte.setDireccionResidencia(rs.getString("direccionResidencia"));
reporte.setLatitud(rs.getString("latitudResidencia"));
reporte.setLongitud(rs.getString("longitudResidencia"));
reporte.setFondoPensionActivo(rs.getString("fondoPensionActivo"));
reporte.setFondoPensionDescripcionLarga(rs.getString("fondoPensionDescripcionLarga"));
reporte.setFondoPensionDescripcionCorta(rs.getString("fondoPensionDescripcionCorta"));
reporte.setEnlaceAlfresco(rs.getString("enlaceAlfresco"));
reporte.setEstadoFicha(rs.getString("estadoFicha"));
reporte.setApellidoPaterno(rs.getString("apellidoPaterno"));
reporte.setApellidoMaterno(rs.getString("apellidoMaterno"));
reporte.setNombre(rs.getString("nombre"));
reporte.setTipoDocumentoDescripcionLarga(rs.getString("tipoDocumentoDescripcionLarga"));
reporte.setTipoDocumentoDescripcionCorta(rs.getString("tipoDocumentoDescripcionCorta"));
reporte.setNumeroDocumento(rs.getString("numeroDocumento"));
reporte.setSexo(rs.getString("sexo"));
reporte.setEstadoCivil(rs.getString("estadoCivil"));
reporte.setFechaNacimiento(rs.getString("fechaNacimiento"));
reporte.setEdad(rs.getString("edad"));
reporte.setNroHijos(rs.getString("nroHijos"));
reporte.setPais(rs.getString("pais"));
reporte.setGentilicio(rs.getString("gentilicio"));
reporte.setIso(rs.getString("iso"));
reporte.setNombreDepartamentoNacimiento(rs.getString("nombreDepartamentoNacimiento"));
reporte.setNombreProvinciaNacimiento(rs.getString("nombreProvinciaNacimiento"));
reporte.setNombreDistritoNacimiento(rs.getString("nombreDistritoNacimiento"));
reporte.setDireccionDocumento(rs.getString("direccionDocumento"));
reporte.setTelefonoFijo(rs.getString("telefonoFijo"));
reporte.setTelefonoMovil(rs.getString("telefonoMovil"));
reporte.setCorreo(rs.getString("correo"));
reporte.setRuc(rs.getString("ruc"));
reporte.setFoto(rs.getString("foto"));
reporte.setNombreDepartamentoResidencia(rs.getString("nombreDepartamentoResidencia"));
reporte.setNombreProvinciaResidencia(rs.getString("nombreProvinciaResidencia"));
reporte.setNombreDistritoResidencia(rs.getString("nombreDistritoResidencia"));
reporte.setDireccionResidencia(rs.getString("direccionResidencia"));
reporte.setLatitud(rs.getString("latitudResidencia"));
reporte.setLongitud(rs.getString("longitudResidencia"));
reporte.setFondoPensionActivo(rs.getString("fondoPensionActivo"));
reporte.setFondoPensionDescripcionLarga(rs.getString("fondoPensionDescripcionLarga"));
reporte.setFondoPensionDescripcionCorta(rs.getString("fondoPensionDescripcionCorta"));
reporte.setEnlaceAlfresco(rs.getString("enlaceAlfresco"));
reporte.setEstadoFicha(rs.getString("estadoFicha"));
// JSONObject jsonReporte = new JSONObject(reporte);
// jsonArrayListarDatosFicha.put(jsonReporte);
jsonReporte = new JSONObject(reporte);
jsonReporte = new JSONObject(reporte);
// }
JSONObject jsonObjListadoPersona = new JSONObject();
......@@ -1257,43 +1257,85 @@ public class FichaMysqlDAO implements FichaDAO {
condicionPorUsuario = " and ficha.codigo_ficha in (select ef.codigo_ficha from estado_ficha ef where ef.codigo_usuario = " + u.getCodigoUsuario() + " and ef.codigo_tipo_estado_ficha not in (13))";
}
String sql = ""
+ "select top " + length + " "
+ " ficha.codigo_ficha codigoficha, "
+ " persona.codigo_persona codigopersona, "
+ " tipo_documento.codigo_tipo_documento codigotipodocumento, "
+ " tipo_documento.descripcion_corta tipodocumentodescripcioncorta, "
+ " persona.numero_documento numerodocumento, "
+ " persona.apellido_paterno apellidopaterno, "
+ " persona.apellido_materno apellidomaterno, "
+ " persona.nombre nombre, "
+ " case "
+ " when persona.apellido_paterno = '' and "
+ " persona.apellido_materno = '' and "
+ " persona.nombre = '' then '-' "
+ " when persona.apellido_paterno is null or "
+ " persona.apellido_materno is null or "
+ " persona.nombre is null then '-' "
+ " else persona.apellido_paterno + ' ' + persona.apellido_materno + ', ' + persona.nombre "
+ " end personal, "
+ " persona.correo correo, "
+ " isnull(cargo.nombre, '-') cargo, "
+ " format(estado_ficha.fecha_registro, 'dd/MM/yyyy') + ' ' + stuff(replace(right(convert(varchar(19), estado_ficha.fecha_registro, 0), 7), ' ', '0'), 6, 0, ' ') fecharegistroficha, "
+ " tipo_estado_ficha.codigo_tipo_estado_ficha codigoTipoEstadoFicha,"
+ " tipo_estado_ficha.nombre estadoficha, "
+ " '<span class=\"'+tipo_estado_ficha.estilo+'\">'+tipo_estado_ficha.nombre+'</span>' estilo "
+ "from 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 join tipo_estado_ficha on tipo_estado_ficha.codigo_tipo_estado_ficha = estado_ficha.codigo_tipo_estado_ficha "
+ "left join ficha_laboral on ficha_laboral.codigo_ficha = ficha.codigo_ficha "
+ "left join area_cargo on area_cargo.codigo_area_cargo = ficha_laboral.codigo_area_cargo "
+ "left join cargo on cargo.codigo_cargo = area_cargo.codigo_cargo "
+ "where estado_ficha.estado_registro = 1 and ficha.estado_registro in (0,1) "
+ "and ficha.codigo_ficha not in (select top " + start + " f.codigo_ficha from ficha f inner join estado_ficha ef on ef.codigo_ficha = f.codigo_ficha where ef.estado_registro = 1 and f.estado_registro in (0,1) order by ef.fecha_registro desc) "
+ " " + filtroListarFichas + condicionPorUsuario
+ "order by estado_ficha.fecha_registro desc";
String sql = "SELECT "
+ " ficha.codigo_ficha codigoficha, "
+ " personal.codper codigopersona, "
+ " tipo_documento.codigo_tipo_documento codigotipodocumento, "
+ " tipo_documento.descripcion_corta tipodocumentodescripcioncorta, "
+ " personal.dni numerodocumento, "
+ " personal.apellidoPaterno apellidopaterno, "
+ " personal.apellidoMaterno apellidomaterno, "
+ " personal.nombre nombre, "
+ " CASE "
+ "WHEN personal.apellidoPaterno = '' "
+ "AND personal.apellidoMaterno = '' "
+ "AND personal.nombre = '' THEN "
+ " '-' "
+ "WHEN personal.apellidoPaterno IS NULL "
+ "OR personal.apellidoMaterno IS NULL "
+ "OR personal.nombre IS NULL THEN "
+ " '-' "
+ "ELSE "
+ " personal.apellidoPaterno + ' ' + personal.apellidoMaterno + ', ' + personal.nombre "
+ "END personal, "
+ " personal.email correo, "
+ " ifnull(cargo.nombre, '-') cargo, "
+ " DATE_FORMAT( "
+ " estado_ficha.fecha_registro, "
+ " '%d/%m/%Y' "
+ ") + ' ' + INSERT ( "
+ " REPLACE ( "
+ " RIGHT ( "
+ " DATE_FORMAT( "
+ " estado_ficha.fecha_registro, "
+ " 0 "
+ " ), "
+ " 7 "
+ " ), "
+ " ' ', "
+ " '0' "
+ " ), "
+ " 6, "
+ " 0, "
+ " ' ' "
+ ") fecharegistroficha, "
+ " tipo_estado_ficha.codigo_tipo_estado_ficha codigoTipoEstadoFicha, "
+ " tipo_estado_ficha.nombre estadoficha, "
+ " '<span class=\"' + tipo_estado_ficha.estilo + '\">' + tipo_estado_ficha.nombre + '</span>' estilo "
+ "FROM "
+ " ficha "
+ "INNER JOIN personal ON personal.codper = ficha.codigo_persona "
+ "INNER JOIN tipo_documento ON tipo_documento.codigo_tipo_documento = personal.codigo_tipo_documento "
+ "INNER JOIN estado_ficha ON estado_ficha.codigo_ficha = ficha.codigo_ficha "
+ "INNER JOIN tipo_estado_ficha ON tipo_estado_ficha.codigo_tipo_estado_ficha = estado_ficha.codigo_tipo_estado_ficha "
+ "LEFT JOIN ficha_laboral ON ficha_laboral.codigo_ficha = ficha.codigo_ficha "
+ "LEFT JOIN area_cargo ON area_cargo.codigo_area_cargo = ficha_laboral.codigo_area_cargo "
+ "LEFT JOIN cargo ON cargo.codigo_cargo = area_cargo.codigo_cargo "
+ "WHERE "
+ " estado_ficha.estado_registro = 1 "
+ "AND ficha.estado_registro IN (0, 1) "
+ "AND ficha.codigo_ficha NOT IN ( "
+ " SELECT "
+ " * "
+ " FROM "
+ " ( "
+ " SELECT "
+ " f.codigo_ficha "
+ " FROM "
+ " ficha f "
+ " INNER JOIN estado_ficha ef ON ef.codigo_ficha = f.codigo_ficha "
+ " WHERE "
+ " ef.estado_registro = 1 "
+ " AND f.estado_registro IN (0, 1) "
+ " ORDER BY "
+ " ef.fecha_registro DESC "
+ " LIMIT " + start + " "
+ " ) temp_tab "
+ ") "
+ " " + filtroListarFichas + condicionPorUsuario + " "
+ "ORDER BY "
+ " estado_ficha.fecha_registro DESC "
+ "LIMIT " + length;
try {
conexion = MysqlDAOFactory.obtenerConexion(Variables.MYSQL_NUEVO_BD_NAME);
......
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