forked from Coded/SIPRP
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
192 lines
5.5 KiB
192 lines
5.5 KiB
/*
|
|
* PresencasDataProvider.java
|
|
*
|
|
* Created on February 5, 2007, 5:51 PM
|
|
*
|
|
* To change this template, choose Tools | Template Manager
|
|
* and open the template in the editor.
|
|
*/
|
|
|
|
package siprp.medicina.presencas;
|
|
|
|
import com.evolute.utils.Singleton;
|
|
import com.evolute.utils.db.DBManager;
|
|
import com.evolute.utils.db.Executer;
|
|
import com.evolute.utils.sql.Assignment;
|
|
import com.evolute.utils.sql.Field;
|
|
import com.evolute.utils.sql.Update;
|
|
import java.util.Date;
|
|
import siprp.lembretes.LembretesConstants;
|
|
import siprp.lembretes.LembretesDataProvider;
|
|
import siprp.medicina.MedicinaConstants;
|
|
import siprp.medicina.MedicinaDataProvider;
|
|
|
|
/**
|
|
*
|
|
* @author lflores
|
|
*/
|
|
public class PresencasDataProvider
|
|
implements MedicinaConstants, LembretesConstants
|
|
{
|
|
private static final Object LOCK = new Object();
|
|
private static PresencasDataProvider instance = null;
|
|
|
|
private MedicinaDataProvider medicinaProvider;
|
|
private LembretesDataProvider lembretesProvider;
|
|
private Executer EXECUTER;
|
|
|
|
/** Creates a new instance of PresencasDataProvider */
|
|
public PresencasDataProvider()
|
|
throws Exception
|
|
{
|
|
DBManager dbm = ( DBManager ) Singleton.getInstance( Singleton.DEFAULT_DBMANAGER );
|
|
EXECUTER = dbm.getSharedExecuter( this );
|
|
medicinaProvider = ( MedicinaDataProvider ) MedicinaDataProvider.getProvider();
|
|
lembretesProvider = LembretesDataProvider.getProvider();
|
|
}
|
|
|
|
public static PresencasDataProvider getProvider()
|
|
throws Exception
|
|
{
|
|
synchronized( LOCK )
|
|
{
|
|
if( instance == null )
|
|
{
|
|
instance = new PresencasDataProvider();
|
|
}
|
|
}
|
|
return instance;
|
|
}
|
|
|
|
protected void apagarDetalhesRealizacao( Integer marcacaoID )
|
|
throws Exception
|
|
{
|
|
medicinaProvider.deleteDetalhesRealizadosForMarcacao( marcacaoID );
|
|
}
|
|
|
|
public void marcarFaltou( Integer id )
|
|
throws Exception
|
|
{
|
|
apagarDetalhesRealizacao( id );
|
|
Update update =
|
|
new Update( "marcacoes_trabalhador",
|
|
new Assignment[]{
|
|
new Assignment( new Field( "realizada" ), "n" ),
|
|
new Assignment( new Field( "estado" ), new Integer( ESTADO_FALTOU ) )
|
|
},
|
|
new Field( "id" ).isEqual( id ) );
|
|
EXECUTER.executeQuery( update );
|
|
lembretesProvider.apagarLembreteByMarcacaoTrabalhadorID( id );
|
|
lembretesProvider.criarLembrete( lembretesProvider.getTipoLembreteByCodigo( CODE_REMARCACOES ).getID(),
|
|
new Date(),
|
|
"Trabalhador Faltou",
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
id,
|
|
false,
|
|
null,
|
|
null );
|
|
}
|
|
|
|
public void marcarDesmarcadoSHST( Integer id )
|
|
throws Exception
|
|
{
|
|
apagarDetalhesRealizacao( id );
|
|
Update update =
|
|
new Update( "marcacoes_trabalhador",
|
|
new Assignment[]{
|
|
new Assignment( new Field( "realizada" ), "n" ),
|
|
new Assignment( new Field( "estado" ), new Integer( ESTADO_DESMARCADO_EMPRESA ) )
|
|
},
|
|
new Field( "id" ).isEqual( id ) );
|
|
EXECUTER.executeQuery( update );
|
|
lembretesProvider.apagarLembreteByMarcacaoTrabalhadorID( id );
|
|
lembretesProvider.criarLembrete( lembretesProvider.getTipoLembreteByCodigo( CODE_REMARCACOES ).getID(),
|
|
new Date(),
|
|
"SIPRP Desmarcou",
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
id,
|
|
false,
|
|
null,
|
|
null );
|
|
}
|
|
|
|
public void marcarDesmarcadoTrabalhador( Integer id )
|
|
throws Exception
|
|
{
|
|
apagarDetalhesRealizacao( id );
|
|
Update update =
|
|
new Update( "marcacoes_trabalhador",
|
|
new Assignment[]{
|
|
new Assignment( new Field( "realizada" ), "n" ),
|
|
new Assignment( new Field( "estado" ), new Integer( ESTADO_DESMARCADO_TRABALHADOR ) )
|
|
},
|
|
new Field( "id" ).isEqual( id ) );
|
|
EXECUTER.executeQuery( update );
|
|
lembretesProvider.apagarLembreteByMarcacaoTrabalhadorID( id );
|
|
lembretesProvider.criarLembrete( lembretesProvider.getTipoLembreteByCodigo( CODE_REMARCACOES ).getID(),
|
|
new Date(),
|
|
"Trabalhador Desmarcou",
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
id,
|
|
false,
|
|
null,
|
|
null );
|
|
}
|
|
|
|
public void marcarRealizado( Integer id, Integer grupos[] )
|
|
throws Exception
|
|
{
|
|
apagarDetalhesRealizacao( id );
|
|
medicinaProvider.setDetalhesRealziadosForMarcacao( id, grupos );
|
|
Update update =
|
|
new Update( "marcacoes_trabalhador",
|
|
new Assignment[]{
|
|
new Assignment( new Field( "realizada" ), "y" ),
|
|
new Assignment( new Field( "estado" ), new Integer( ESTADO_REALIZADO ) )
|
|
},
|
|
new Field( "id" ).isEqual( id ) );
|
|
EXECUTER.executeQuery( update );
|
|
lembretesProvider.apagarLembreteByMarcacaoTrabalhadorID( id );
|
|
}
|
|
|
|
public void marcarParcialmenteRealizado( Integer id, Integer grupos[] )
|
|
throws Exception
|
|
{
|
|
apagarDetalhesRealizacao( id );
|
|
medicinaProvider.setDetalhesRealziadosForMarcacao( id, grupos );
|
|
Update update =
|
|
new Update( "marcacoes_trabalhador",
|
|
new Assignment[]{
|
|
new Assignment( new Field( "realizada" ), "n" ),
|
|
new Assignment( new Field( "estado" ), new Integer( ESTADO_PARCIALMENTE_REALIZADO ) )
|
|
},
|
|
new Field( "id" ).isEqual( id ) );
|
|
EXECUTER.executeQuery( update );
|
|
lembretesProvider.apagarLembreteByMarcacaoTrabalhadorID( id );
|
|
lembretesProvider.criarLembrete( lembretesProvider.getTipoLembreteByCodigo( CODE_REMARCACOES ).getID(),
|
|
new Date(),
|
|
"N\u00e3 foram realizados todos os ECDs",
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
id,
|
|
false,
|
|
null,
|
|
null );
|
|
}
|
|
}
|