git-svn-id: https://svn.coded.pt/svn/SIPRP@1130 bb69d46d-e84e-40c8-a05a-06db0d633741

lxbfYeaa
Diogo Neves 16 years ago
parent f91549db3e
commit 3048c6338a

@ -5,6 +5,7 @@ import java.util.Vector;
import com.evolute.siprp.client.panels.apps.AnaliseAcidentesTrabalho.AnaliseAcidentesTrabalhoService;
import com.evolute.siprp.client.panels.utils.AppConstants;
import com.evolute.siprp.client.panels.utils.permissoes.RolesConstants;
import com.evolute.siprp.client.vo.ActualTableRow;
import com.evolute.siprp.client.vo.Utilizador;
import com.evolute.siprp.server.logic.AnaliseAcidentesTrabalho.actual.ActualTableDataProvider;
@ -80,9 +81,88 @@ public class AnaliseAcidentesTrabalhoLogic implements AnaliseAcidentesTrabalhoSe
try
{
Virtual2DArray array = actualProvider.getAnalisesActuais( userLogged );
result = new Vector< ActualTableRow >();
int userType = userLogged.getTipo_utilizador().intValue();
Virtual2DArray array = null;
if ( userType == RolesConstants.TIPO_SEGURANCA )
{
array = actualProvider.getAnalisesActuaisSeguranca( userLogged.getEstabelecimento_id(), userLogged.getResponsavel_loja() );
}
else if ( userType == RolesConstants.TIPO_RECURSOS_HUMANOS )
{
array = actualProvider.getAnalisesActuaisRH( userLogged.getEstabelecimento_id(), userLogged.getResponsavel_loja() );
}
else if ( userType == RolesConstants.TIPO_HIGIENE_SEGURANCA )
{
array = actualProvider.getAnalisesActuaisHS();
}
result = fillVector( array );
}
catch ( Exception e )
{
e.printStackTrace();
}
return result;
}
@Override
public Vector< ActualTableRow > getSeguimentoTableData( Utilizador userLogged )
{
Vector< ActualTableRow > result = null;
try
{
int userType = userLogged.getTipo_utilizador().intValue();
Virtual2DArray array = null;
if ( userType == RolesConstants.TIPO_DIRECTOR_GERAL_RECURSOS_HUMANOS
|| userType == RolesConstants.TIPO_DIRECTOR_SIPRP )
{
array = seguimentoProvider.getAnalisesSeguimento_DirGeralRH();
}
else if ( userType == RolesConstants.TIPO_GESTOR )
{
if ( userLogged.getEstabelecimento_id() == null )
{
array = seguimentoProvider.getAnalisesSeguimento_DirGeralRH();
}
else
{
array = seguimentoProvider.getAnalisesSeguimentoByEstabelecimentoID( userLogged.getEstabelecimento_id() );
}
}
else if ( userType == RolesConstants.TIPO_HIGIENE_SEGURANCA )
{
array = seguimentoProvider.getAnalisesSeguimento_HS();
}
result = fillVector( array );
}
catch ( Exception e )
{
e.printStackTrace();
}
return result;
}
/**
* fills vector with 'actual' or 'seguimento' data ...
*
* @param array
* @return
*/
private Vector< ActualTableRow > fillVector( Virtual2DArray array )
{
Vector< ActualTableRow > result = null;
if ( array != null )
{
result = new Vector< ActualTableRow >();
for ( int i = 0; i < array.columnLength(); i++ )
{
Integer anaID = ( Integer ) array.get( i, 0 );
@ -106,20 +186,6 @@ public class AnaliseAcidentesTrabalhoLogic implements AnaliseAcidentesTrabalhoSe
result.add( row );
}
}
catch ( Exception e )
{
e.printStackTrace();
}
return result;
}
@Override
public Vector< ActualTableRow > getSeguimentoTableData( Utilizador userLogged )
{
Vector< ActualTableRow > result = null;
return result;
}

@ -1,8 +1,6 @@
package com.evolute.siprp.server.logic.AnaliseAcidentesTrabalho.actual;
import com.evolute.siprp.client.panels.utils.AppConstants;
import com.evolute.siprp.client.panels.utils.permissoes.RolesConstants;
import com.evolute.siprp.client.vo.Utilizador;
import com.evolute.siprp.server.db.InitDB;
import com.evolute.siprp.server.db.data.siprp.AcidentadosData;
import com.evolute.siprp.server.db.data.siprp.AnalisesAcidentesData;
@ -43,35 +41,8 @@ public class ActualTableDataProvider
}
/**
*
* @param userLogged
* @return analises_acidentes.id, analises_acidentes.data_acidente, analises_acidentes.data_inicio_processo,
* analises_acidentes.analise_nr, acidentados.numero_mecanografico, acidentados.nome, analises_acidentes.estado
* @throws Exception
*/
public Virtual2DArray getAnalisesActuais( Utilizador userLogged ) throws Exception
{
Virtual2DArray result = null;
Integer userType = userLogged.getTipo_utilizador();
if ( userType.intValue() == RolesConstants.TIPO_SEGURANCA )
{
result = getAnalisesActuaisSeguranca( userLogged.getEstabelecimento_id(), userLogged.getResponsavel_loja() );
}
else if ( userType.intValue() == RolesConstants.TIPO_RECURSOS_HUMANOS )
{
result = getAnalisesActuaisRH( userLogged.getEstabelecimento_id(), userLogged.getResponsavel_loja() );
}
else if ( userType.intValue() == RolesConstants.TIPO_HIGIENE_SEGURANCA )
{
result = getAnalisesActuaisHS();
}
return result;
}
private Virtual2DArray getAnalisesActuaisSeguranca( Integer estabelecimento_id, Boolean responsavel_loja )
public Virtual2DArray getAnalisesActuaisSeguranca( Integer estabelecimento_id, Boolean responsavel_loja )
throws Exception
{
Expression whereExpression = new Field( AnalisesAcidentesData.ESTADO_FULL ).isEqual( AppConstants.ESTADO_SEG ).or(
@ -111,7 +82,7 @@ public class ActualTableDataProvider
return EXECUTER.executeQuery( query );
}
private Virtual2DArray getAnalisesActuaisRH( Integer estabelecimento_id, Boolean responsavel_loja )
public Virtual2DArray getAnalisesActuaisRH( Integer estabelecimento_id, Boolean responsavel_loja )
throws Exception
{
Expression whereExpression = new Field( AnalisesAcidentesData.ESTADO_FULL ).isEqual( AppConstants.ESTADO_RH1 ).or(
@ -150,7 +121,7 @@ public class ActualTableDataProvider
return EXECUTER.executeQuery( query );
}
private Virtual2DArray getAnalisesActuaisHS()
public Virtual2DArray getAnalisesActuaisHS()
throws Exception
{
Select query = new Select2(

@ -1,11 +1,18 @@
package com.evolute.siprp.server.logic.AnaliseAcidentesTrabalho.seguimento;
import com.evolute.siprp.client.panels.utils.AppConstants;
import com.evolute.siprp.server.db.InitDB;
import com.evolute.siprp.server.logic.AnaliseAcidentesTrabalho.actual.ActualTableDataProvider;
import com.evolute.siprp.server.db.data.siprp.AcidentadosData;
import com.evolute.siprp.server.db.data.siprp.AnalisesAcidentesData;
import com.evolute.utils.Singleton;
import com.evolute.utils.arrays.Virtual2DArray;
import com.evolute.utils.db.DBManager;
import com.evolute.utils.db.Executer;
import com.evolute.utils.jdo.JDOProvider;
import com.evolute.utils.sql.Expression;
import com.evolute.utils.sql.Field;
import com.evolute.utils.sql.Select;
import com.evolute.utils.sql.Select2;
public class SeguimentoTableDataProvider
{
@ -35,4 +42,160 @@ public class SeguimentoTableDataProvider
}
/**
* director geral RH e director siprp
*
* @return
* @throws Exception
*/
public Virtual2DArray getAnalisesSeguimento_DirGeralRH() throws Exception
{
Select query = new Select2(
new String[] { AnalisesAcidentesData.TABLENAME, AcidentadosData.TABLENAME },
new Integer[] { Select2.JOIN_INNER },
new Expression[] {
new Field( AnalisesAcidentesData.ACIDENTADO_ID_FULL ).isEqual( new Field( AcidentadosData.ID_FULL ) )
},
new String[] {
AnalisesAcidentesData.ID_FULL, AnalisesAcidentesData.DATA_ACIDENTE_FULL, AnalisesAcidentesData.DATA_INICIO_PROCESSO_FULL,
AnalisesAcidentesData.ANALISE_NR_FULL, AcidentadosData.NUMERO_MECANOGRAFICO_FULL, AcidentadosData.NOME_FULL,
AnalisesAcidentesData.ESTADO_FULL
},
new Field( AnalisesAcidentesData.ESTADO_FULL ).isLess( AppConstants.ESTADO_CONCLUIDO ).and(
new Field( AnalisesAcidentesData.APAGADA_FULL ).isEqual( "n" )
),
new String[] { AnalisesAcidentesData.ANALISE_NR_FULL },
null,
null,
null
);
return EXECUTER.executeQuery( query );
}
public Virtual2DArray getAnalisesSeguimentoByEstabelecimentoID( Integer estabelecimento_id ) throws Exception
{
Select query = new Select2(
new String[] { AnalisesAcidentesData.TABLENAME, AcidentadosData.TABLENAME },
new Integer[] { Select2.JOIN_INNER },
new Expression[] {
new Field( AnalisesAcidentesData.ACIDENTADO_ID_FULL ).isEqual( new Field( AcidentadosData.ID_FULL ) )
},
new String[] {
AnalisesAcidentesData.ID_FULL, AnalisesAcidentesData.DATA_ACIDENTE_FULL, AnalisesAcidentesData.DATA_INICIO_PROCESSO_FULL,
AnalisesAcidentesData.ANALISE_NR_FULL, AcidentadosData.NUMERO_MECANOGRAFICO_FULL, AcidentadosData.NOME_FULL,
AnalisesAcidentesData.ESTADO_FULL
},
new Field( AnalisesAcidentesData.ESTADO_FULL ).isLess( AppConstants.ESTADO_CONCLUIDO ).and(
new Field( AnalisesAcidentesData.APAGADA_FULL ).isEqual( "n" ).and(
new Field( AnalisesAcidentesData.ESTABELECIMENTO_ID_FULL ).isEqual( estabelecimento_id )
)
),
new String[] { AnalisesAcidentesData.ANALISE_NR_FULL },
null,
null,
null
);
return EXECUTER.executeQuery( query );
}
public Virtual2DArray getAnalisesSeguimento_HS() throws Exception
{
/*
SELECT *
FROM analises_acidentes
WHERE
(estado < Global.ESTADO_HS OR (estado > Global.ESTADO_HS AND estado < Global.ESTADO_CONSOLIDACAO )
OR (estado > Global.ESTADO_CONSOLIDACAO AND estado < Global.ESTADO_FECHAR ))
AND apagada = 'n'
ORDER BY analise_nr
*/
Select query = new Select2(
new String[] { AnalisesAcidentesData.TABLENAME, AcidentadosData.TABLENAME },
new Integer[] { Select2.JOIN_INNER },
new Expression[] {
new Field( AnalisesAcidentesData.ACIDENTADO_ID_FULL ).isEqual( new Field( AcidentadosData.ID_FULL ) )
},
new String[] {
AnalisesAcidentesData.ID_FULL, AnalisesAcidentesData.DATA_ACIDENTE_FULL, AnalisesAcidentesData.DATA_INICIO_PROCESSO_FULL,
AnalisesAcidentesData.ANALISE_NR_FULL, AcidentadosData.NUMERO_MECANOGRAFICO_FULL, AcidentadosData.NOME_FULL,
AnalisesAcidentesData.ESTADO_FULL
},
new Field( AnalisesAcidentesData.APAGADA_FULL ).isEqual( "n" ).and(
new Field( AnalisesAcidentesData.ESTADO_FULL ).isLess( AppConstants.ESTADO_HS ).or(
new Field( AnalisesAcidentesData.ESTADO_FULL ).isGreater( AppConstants.ESTADO_HS ).and(
new Field( AnalisesAcidentesData.ESTADO_FULL ).isLess( AppConstants.ESTADO_CONSOLIDACAO )
)
).or(
new Field( AnalisesAcidentesData.ESTADO_FULL ).isGreater( AppConstants.ESTADO_CONSOLIDACAO ).and(
new Field( AnalisesAcidentesData.ESTADO_FULL ).isLess( AppConstants.ESTADO_FECHAR )
)
)
),
new String[] { AnalisesAcidentesData.ANALISE_NR_FULL },
null,
null,
null
);
System.out.println( "\n" + query.toString() );
return EXECUTER.executeQuery( query );
}
// public Virtual2DArray getAnalisesSeguimento_Medico( Integer estabelecimento_id ) throws Exception
// {
// /*
// SELECT *
// FROM analises_acidentes
// WHERE
// estado < 5 OR (estado = 6 AND estado_assinatura <> 2)
// OR (estado = 6 AND estado_assinatura = 2 AND ass_med = 'y')
// OR (estado > 6 AND estado < 9)
// AND estabelecimento_id = estabelecimento_id
// AND apagada = 'n'
// ORDER BY analise_nr
// */
//
// Select query = new Select2(
// new String[] { AnalisesAcidentesData.TABLENAME, AcidentadosData.TABLENAME },
// new Integer[] { Select2.JOIN_INNER },
// new Expression[] {
// new Field( AnalisesAcidentesData.ACIDENTADO_ID_FULL ).isEqual( new Field( AcidentadosData.ID_FULL ) )
// },
// new String[] {
// AnalisesAcidentesData.ID_FULL, AnalisesAcidentesData.DATA_ACIDENTE_FULL, AnalisesAcidentesData.DATA_INICIO_PROCESSO_FULL,
// AnalisesAcidentesData.ANALISE_NR_FULL, AcidentadosData.NUMERO_MECANOGRAFICO_FULL, AcidentadosData.NOME_FULL,
// AnalisesAcidentesData.ESTADO_FULL
// },
// new Field( AnalisesAcidentesData.APAGADA_FULL ).isEqual( "n" ).and(
// new Field( AnalisesAcidentesData.ESTABELECIMENTO_ID_FULL ).isEqual( estabelecimento_id ).and(
// new Field( AnalisesAcidentesData.ESTADO_FULL ).isLess( 5 ).or(
// new Field( AnalisesAcidentesData.ESTADO_FULL ).isEqual( 6 ).and(
// new Field( AnalisesAcidentesData.ESTADO_ASSINATURA_FULL ).isDifferent( 2 )
// )
// ).or(
// new Field( AnalisesAcidentesData.ESTADO_FULL ).isEqual( 6 ).and(
// new Field( AnalisesAcidentesData.ESTADO_ASSINATURA_FULL ).isEqual( 2 ).and(
// new Field( AnalisesAcidentesData.ASS_MED_FULL ).isEqual( "y" )
// )
// )
// ).or(
// new Field( AnalisesAcidentesData.ESTADO_FULL ).isGreater( 6 ).and(
// new Field( AnalisesAcidentesData.ESTADO_FULL ).isLess( 9 )
// )
// )
// )
// ),
// new String[] { AnalisesAcidentesData.ANALISE_NR_FULL },
// null,
// null,
// null
// );
// System.out.println( "\n" + query.toString() );
//
// return EXECUTER.executeQuery( query );
// }
}

Loading…
Cancel
Save