Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
trismegisto-planilla
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Luis Gangas
trismegisto-planilla
Commits
056d7a88
Commit
056d7a88
authored
Nov 12, 2018
by
Juan José Rojas Rojas
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[ADD]
parent
519b49a4
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
110 additions
and
17 deletions
+110
-17
LoteFichaMysqlDAO.java
src/java/trismegistoplanilla/mysqldao/LoteFichaMysqlDAO.java
+110
-17
No files found.
src/java/trismegistoplanilla/mysqldao/LoteFichaMysqlDAO.java
View file @
056d7a88
...
...
@@ -30,7 +30,7 @@ public class LoteFichaMysqlDAO implements LoteFichaDAO {
try
{
cnx
=
MysqlDAOFactory
.
obtenerConexion
(
Variables
.
MYSQL_NUEVO_BD_NAME
);
String
sq
l
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,22 +190,33 @@ 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"
;
psCantidadFilas
=
cnx
.
prepareStatement
(
sqlCantidadFilas
);
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
();
rsCantidadFilas
.
next
();
cantidadFilas
=
rsCantidadFilas
.
getInt
(
"cantidadFilas"
);
...
...
@@ -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
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment