|
|
|
|
@ -1,5 +1,6 @@
|
|
|
|
|
package siprp.database.cayenne.objects;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
@ -9,7 +10,8 @@ import siprp.database.cayenne.providers.MedicinaDAO;
|
|
|
|
|
import siprp.medicina.MedicinaConstants;
|
|
|
|
|
import siprp.medicina.processo.ui.OrderedMap;
|
|
|
|
|
|
|
|
|
|
public class TrabalhadoresEcdsDatas extends _TrabalhadoresEcdsDatas implements MedicinaConstants{
|
|
|
|
|
public class TrabalhadoresEcdsDatas extends _TrabalhadoresEcdsDatas implements MedicinaConstants
|
|
|
|
|
{
|
|
|
|
|
private static final long serialVersionUID = 1L;
|
|
|
|
|
|
|
|
|
|
public String getDataString()
|
|
|
|
|
@ -46,64 +48,74 @@ public class TrabalhadoresEcdsDatas extends _TrabalhadoresEcdsDatas implements M
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void setEstado( Integer estado )
|
|
|
|
|
public String toString()
|
|
|
|
|
{
|
|
|
|
|
return getDataString() + ": " + getEstadoString();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if( estado != null && this.getToTrabalhadoresEcds() != null)
|
|
|
|
|
public OrderedMap<PrtGruposProtocolo> getStatesForeGruposExames()
|
|
|
|
|
{
|
|
|
|
|
Integer oldExameEstado = this.getToTrabalhadoresEcds().getEstado();
|
|
|
|
|
if(new Integer(ESTADO_POR_REALIZAR).equals( oldExameEstado))
|
|
|
|
|
OrderedMap<PrtGruposProtocolo> grupos = new OrderedMap<PrtGruposProtocolo>();
|
|
|
|
|
List<TrabalhadoresEcd> exames = this.getTrabalhadoresEcdArray();
|
|
|
|
|
if( exames != null )
|
|
|
|
|
{
|
|
|
|
|
boolean todosRealizados = todosRealizados();
|
|
|
|
|
if(new Integer(ESTADO_REALIZADO).equals( estado ) && !todosRealizados)
|
|
|
|
|
for( TrabalhadoresEcd exame : exames )
|
|
|
|
|
{
|
|
|
|
|
this.getToTrabalhadoresEcds().setEstado( ESTADO_PARCIALMENTE_REALIZADO );
|
|
|
|
|
}
|
|
|
|
|
else if(new Integer(ESTADO_REALIZADO).equals( estado ) && todosRealizados)
|
|
|
|
|
String estadoString = MedicinaConstants.ESTADOS_EXAME_STR[exame.getEstado()];
|
|
|
|
|
PrtGruposProtocolo grupo = exame.getToPrtTiposElementosProtocolo().getToPrtGruposProtocolo();
|
|
|
|
|
if( !grupos.containsKey( grupo ) )
|
|
|
|
|
{
|
|
|
|
|
this.getToTrabalhadoresEcds().setEstado( ESTADO_REALIZADO );
|
|
|
|
|
grupos.putLast( grupo, grupo.getDescricao() );
|
|
|
|
|
grupos.putLast( grupo, estadoString );
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
super.setEstado( estado );
|
|
|
|
|
return grupos;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private boolean todosRealizados()
|
|
|
|
|
private List<PrtTiposElementosProtocolo> getAllEcdForGrupoForThisMarcacao( PrtGruposProtocolo grupo )
|
|
|
|
|
{
|
|
|
|
|
//TODO
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public String toString()
|
|
|
|
|
List<PrtTiposElementosProtocolo> result = new ArrayList<PrtTiposElementosProtocolo>();
|
|
|
|
|
for( TrabalhadoresEcd ecd : (List<TrabalhadoresEcd>) getTrabalhadoresEcdArray() )
|
|
|
|
|
{
|
|
|
|
|
return getDataString() + ": " + getEstadoString();
|
|
|
|
|
if( grupo.equals( ecd.getToPrtTiposElementosProtocolo().getToPrtGruposProtocolo() ) )
|
|
|
|
|
{
|
|
|
|
|
result.add( ecd.getToPrtTiposElementosProtocolo() );
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public OrderedMap<PrtGruposProtocolo> getGruposExames()
|
|
|
|
|
private List<PrtTiposElementosProtocolo> getAllEcdForGrupoAndCurrentPerfil( PrtGruposProtocolo grupo )
|
|
|
|
|
{
|
|
|
|
|
OrderedMap<PrtGruposProtocolo> grupos = new OrderedMap<PrtGruposProtocolo>();
|
|
|
|
|
List<TrabalhadoresEcd> exames = this.getTrabalhadoresEcdArray();
|
|
|
|
|
if( exames != null )
|
|
|
|
|
Trabalhadores trabalhador = getToTrabalhadoresEcds().getToTrabalhadores();
|
|
|
|
|
List<PrtTiposElementosProtocolo> result = new ArrayList<PrtTiposElementosProtocolo>();
|
|
|
|
|
Integer perfil = trabalhador.getPerfil();
|
|
|
|
|
if( perfil != null )
|
|
|
|
|
{
|
|
|
|
|
for(TrabalhadoresEcd exame : exames)
|
|
|
|
|
Empresas empresa = trabalhador.getToEstabelecimentos().getToEmpresas();
|
|
|
|
|
List<PrtElementosProtocolo> ecdsPerfil = (List<PrtElementosProtocolo>) empresa.getPrtElementosProtocoloArray();
|
|
|
|
|
for( PrtElementosProtocolo ecdPerfil : ecdsPerfil )
|
|
|
|
|
{
|
|
|
|
|
String estado = MedicinaConstants.ESTADOS_EXAME_STR[exame.getEstado()];
|
|
|
|
|
PrtGruposProtocolo grupo = exame.getToPrtTiposElementosProtocolo().getToPrtGruposProtocolo();
|
|
|
|
|
if( !grupos.containsKey( grupo ))
|
|
|
|
|
if( perfil.equals( ecdPerfil.getNumeroPerfil() ) )
|
|
|
|
|
{
|
|
|
|
|
grupos.putLast( grupo, grupo.getDescricao() );
|
|
|
|
|
grupos.putLast( grupo, estado );
|
|
|
|
|
PrtTiposElementosProtocolo ecd = ecdPerfil.getToPrtTiposElementosProtocolo();
|
|
|
|
|
if( ecd != null )
|
|
|
|
|
{
|
|
|
|
|
if( ecd.getToPrtGruposProtocolo().equals( grupo ) && !result.contains( ecd ) )
|
|
|
|
|
{
|
|
|
|
|
result.add( ecd );
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return grupos;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void marcarGrupoExames( PrtGruposProtocolo grupo )
|
|
|
|
|
{
|
|
|
|
|
List<PrtTiposElementosProtocolo> allEcd = getToTrabalhadoresEcds().getToTrabalhadores().getAllEcdForGrupo( grupo );
|
|
|
|
|
for(PrtTiposElementosProtocolo ecd : allEcd)
|
|
|
|
|
for( PrtTiposElementosProtocolo ecd : getAllEcdForGrupoAndCurrentPerfil( grupo ) )
|
|
|
|
|
{
|
|
|
|
|
TrabalhadoresEcd trabEcd = new TrabalhadoresEcd();
|
|
|
|
|
trabEcd.setEstado( MedicinaConstants.ESTADO_POR_REALIZAR );
|
|
|
|
|
@ -113,20 +125,44 @@ public class TrabalhadoresEcdsDatas extends _TrabalhadoresEcdsDatas implements M
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void realizar()
|
|
|
|
|
public void setStateForGrupoProtocolo( PrtGruposProtocolo grupo, Integer estado )
|
|
|
|
|
{
|
|
|
|
|
List<TrabalhadoresEcd> ecds = getTrabalhadoresEcdArray();
|
|
|
|
|
if( ecds != null )
|
|
|
|
|
List<PrtTiposElementosProtocolo> group = getAllEcdForGrupoForThisMarcacao( grupo );
|
|
|
|
|
for(TrabalhadoresEcd ecd : (List<TrabalhadoresEcd>) getTrabalhadoresEcdArray())
|
|
|
|
|
{
|
|
|
|
|
for(TrabalhadoresEcd ecd : ecds)
|
|
|
|
|
if(group.contains( ecd.getToPrtTiposElementosProtocolo()))
|
|
|
|
|
{
|
|
|
|
|
ecd.setEstado( MedicinaConstants.ESTADO_REALIZADO );
|
|
|
|
|
ecd.setEstado( estado );
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
setEstado( MedicinaConstants.ESTADO_REALIZADO );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void setStateForGrupoProtocolo( PrtGruposProtocolo grupo, String estado )
|
|
|
|
|
{
|
|
|
|
|
for( int i = 0; i < ESTADOS_EXAME_STR.length; ++i )
|
|
|
|
|
{
|
|
|
|
|
String currentEstado = ESTADOS_EXAME_STR[i];
|
|
|
|
|
if( currentEstado != null && new Integer( i ).equals( estado ) )
|
|
|
|
|
{
|
|
|
|
|
setStateForGrupoProtocolo( grupo, i );
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void setEstado( Integer estado )
|
|
|
|
|
{
|
|
|
|
|
List<TrabalhadoresEcd> allEcd = (List<TrabalhadoresEcd>) getTrabalhadoresEcdArray();
|
|
|
|
|
if(allEcd != null)
|
|
|
|
|
{
|
|
|
|
|
for(TrabalhadoresEcd ecd : allEcd )
|
|
|
|
|
{
|
|
|
|
|
ecd.setEstado( estado );
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
super.setEstado( estado );
|
|
|
|
|
getToTrabalhadoresEcds().getGruposExamesForPerfil();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|