Errores listados Excel
Incidencia¶
En los listados Excel hay dos problemas:
-
Aparecen usuarios repetidos.
Por ejemplo, en el listado del S.P. Cualtis Burgos aparece dos veces la misma ficha de un trabajador.
En el pdf solo aparece una vez. - Aparecen usuarios de más.
En el listado Excel aparecen usuarios que no son de la provincia.
Por ejemplo: En el S.P. Prevennova de Burgos aparecen dos trabajadores más que en el pdf. Estos son trabajadores con domicilio en Palencia a los que se les ha hecho el reconocimiento en Burgos.
Solución¶
Usuarios repetidos¶
Se añade un DISTINCT
al select correspondiente en TeamExportacionesExcelOAD
:
public ResultSet listadoActivosNominalExcel(TeamVigilanciaSaludForm datos) throws Exception {
PreparedStatement st = null;
ResultSet rs = null;
Connection con = JCYLGestionTransacciones.getConnection();
try {
StringBuffer sb = new StringBuffer();
sb.append("SELECT DISTINCT")
.append(" V.A_MEDICO_SP \"Médico del Trabajo\", ")
.append(" VIG.D_ENT_VIG \"Servicio de Prevención\", ")
Usuarios de más¶
Se restringen los listados, de forma que muestre solo los datos de los trabajadores de la provincia del usuario que emite los listados.
Se añade una nueva propiedad en TeamVigilanciaSaludForm.java
:
private Provincia provinciaUsuario;
public void setProvinciaUsuario(Provincia provinciaUsuario) {
this.provinciaUsuario = provinciaUsuario;
}
public Provincia getProvinciaUsuario() {
return provinciaUsuario;
}
Dicha propiedad se carga en TEAMVigSaludReportsAction.java
a partir de lo grabado en el parámetro TEAM_PROV
de Segu:
public ActionForward listadoActivosNominalExcel(
//...
/* En el caso de que los listados los quiera emitar un servicio territorial
* se tomará su provincia del parámetro de Segu TEAM_PROV.
* Todas las consultas de base de datos estarán restringidas por: <Provincia del Trabajador> = TEAM_PROV
*
* Nota: la provincia solo se graba en sesión si el perfil es servicio territorial (ver LoginAction)
*/
HttpSession session = request.getSession();
teamVigilanciaSaludForm.setProvinciaUsuario((Provincia)session.getAttribute("provST"));
y se utiliza en TeamExportacionesExcelOAD.java
para añadirla en el Where:
public ResultSet listadoActivosNominalExcel(
//...
if (datos.getProvinciaUsuario() != null &&
!datos.getProvinciaUsuario().getProvID().equals("")) {
sb.append(" AND T.C_PROV_ID = ?");
}
//...
if (datos.getProvinciaUsuario() != null &&
!datos.getProvinciaUsuario().getProvID().equals("")) {
st.setString(i++, datos.getProvinciaUsuario().getProvID());
}
Resumen¶
- Tareas gforge:
- 3437
- 3438
-
Tarjeta trello:
Diferencias listados pdf y excel
- Ficheros modificados: -TeamExportacionesExcelOAD.java
-TeamVigilanciaSaludForm.java
- Incluido en versión: 1.11.0 - Subido al svn: 722 (trunk) - Fechas - Fecha de inicio: 18/03/2019 - Fecha de fin: 22/03/2019 - Fecha de validación: