Commit 3083f58f by Luis Gangas

Merge branch 'master' of…

Merge branch 'master' of http://version.sacooliveros.edu.pe/lgangas/trismegisto-planilla into lgangas
parents ad08ec65 056d7a88
......@@ -30,7 +30,7 @@ public class LoteFichaMysqlDAO implements LoteFichaDAO {
try {
cnx = MysqlDAOFactory.obtenerConexion(Variables.MYSQL_NUEVO_BD_NAME);
String sql
String sq
= "select top " + length + " "
+ "ficha.codigo_ficha codigoFicha, "
+ "ficha.codigo_persona codigoPersona, "
......@@ -82,7 +82,89 @@ public class LoteFichaMysqlDAO implements LoteFichaDAO {
+ condicion + " "
+ "order by 1 desc";
String sql = "SELECT "
+ " ficha.codigo_ficha codigoFicha, "
+ " ficha.codigo_persona codigoPersona, "
+ " personal.apellidoPaterno apellidoPaterno, "
+ " personal.apellidoMaterno apellidoMaterno, "
+ " personal.nombre nombre, "
+ " personal.dni numeroDocumento, "
+ " ficha_laboral.tipo_ficha tipoFicha, "
+ " locales.deslocal nombreSede, "
+ " area.nombre nombreArea, "
+ " cargo.nombre nombreCargo, "
+ " sueldo_administrativo.sueldo_escalafon sueldoEscalafonAdministrativo, "
+ " sueldo_administrativo.sueldo_mensual sueldoMensualAdministrativo, "
+ " ifnull( "
+ " 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 ficha "
+ "INNER JOIN personal ON personal.codper = 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 locales ON locales.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 "
+ " * "
+ " FROM "
+ " ( "
+ " SELECT "
+ " 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 "
+ " LIMIT " + start + " "
+ " ) temp_tab1 "
+ ") "
+ "AND ( "
+ " SELECT "
+ " temp_tab2.codigo_tipo_estado_ficha "
+ " FROM "
+ " ( "
+ " SELECT "
+ " estado_ficha.codigo_tipo_estado_ficha, "
+ " xx.codigo_ficha "
+ " FROM "
+ " ficha xx "
+ " INNER JOIN estado_ficha ON estado_ficha.codigo_ficha = xx.codigo_ficha "
+ " INNER JOIN tipo_estado_ficha ON tipo_estado_ficha.codigo_tipo_estado_ficha = estado_ficha.codigo_tipo_estado_ficha "
+ " WHERE "
+ " estado_ficha.estado_registro = 1 "
+ " ) temp_tab2 "
+ " WHERE "
+ " temp_tab2.codigo_ficha = ficha.codigo_ficha "
+ " LIMIT 1 "
+ ") = 4 "
+ " " + condicion + " "
+ "ORDER BY "
+ " 1 DESC "
+ "LIMIT " + length;
ps = cnx.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
ReporteLoteFichaBean reporteLoteFicha = new ReporteLoteFichaBean();
......@@ -108,20 +190,31 @@ public class LoteFichaMysqlDAO implements LoteFichaDAO {
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 estado_ficha ON estado_ficha.codigo_ficha = x.codigo_ficha "
+ "inner join tipo_estado_ficha ON tipo_estado_ficha.codigo_tipo_estado_ficha = 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";
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 "
+ " estado_ficha.codigo_tipo_estado_ficha "
+ " FROM "
+ " ficha x "
+ " INNER JOIN estado_ficha ON estado_ficha.codigo_ficha = x.codigo_ficha "
+ " INNER JOIN tipo_estado_ficha ON tipo_estado_ficha.codigo_tipo_estado_ficha = estado_ficha.codigo_tipo_estado_ficha "
+ " WHERE "
+ " x.codigo_ficha = ficha.codigo_ficha "
+ " AND estado_ficha.estado_registro = 1 "
+ " LIMIT 1 "
+ ") = 4 "
+ " " + condicion + " "
+ "ORDER BY "
+ " 1 DESC";
psCantidadFilas = cnx.prepareStatement(sqlCantidadFilas);
rsCantidadFilas = psCantidadFilas.executeQuery();
......@@ -136,7 +229,7 @@ public class LoteFichaMysqlDAO implements LoteFichaDAO {
} catch (SQLException e) {
e.printStackTrace();
jsonObjListarFichasDT.put("status", false);
jsonObjListarFichasDT.put("Mensaje", "Error: " + e.getMessage() + " \n Error Code: [" + e.getErrorCode() + "]");
jsonObjListarFichasDT.put("Mensaje", "Error: " + e.getMessage() + " Error Code: [" + e.getErrorCode() + "]");
} finally {
try {
if (rsCantidadFilas != null) {
......
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