From 9cefcc231c6386ede750e7e80b9890e13b17ced9 Mon Sep 17 00:00:00 2001 From: Frederico Palma Date: Mon, 12 Feb 2007 17:54:41 +0000 Subject: [PATCH] no message git-svn-id: https://svn.coded.pt/svn/SIPRP@296 bb69d46d-e84e-40c8-a05a-06db0d633741 --- trunk/siprp/lembretes/LembretesConstants.java | 22 +++++++ .../lembretes/LembretesDataProvider.java | 57 ++++++++++++----- .../presencas/PresencasDataProvider.java | 62 ++++++++++++++++++- trunk/siprp/medicina/presencas/auxiliares.xsl | 36 ++++++----- 4 files changed, 142 insertions(+), 35 deletions(-) create mode 100644 trunk/siprp/lembretes/LembretesConstants.java diff --git a/trunk/siprp/lembretes/LembretesConstants.java b/trunk/siprp/lembretes/LembretesConstants.java new file mode 100644 index 00000000..3dd6abb6 --- /dev/null +++ b/trunk/siprp/lembretes/LembretesConstants.java @@ -0,0 +1,22 @@ +/* + * LembretesConstants.java + * + * Created on February 12, 2007, 4:44 PM + * + * To change this template, choose Tools | Template Manager + * and open the template in the editor. + */ + +package siprp.lembretes; + +/** + * + * @author fpalma + */ +public interface LembretesConstants +{ + public static final String CODE_EXTERNO = "EXTERNO"; + public static final String CODE_REMARCACOES = "REMARCACOES"; + public static final String CODE_MARCACOES = "MARCACOES"; + public static final String CODE_OUTROS = "OUTROS"; +} diff --git a/trunk/siprp/lembretes/LembretesDataProvider.java b/trunk/siprp/lembretes/LembretesDataProvider.java index 77ff4550..c4c017be 100644 --- a/trunk/siprp/lembretes/LembretesDataProvider.java +++ b/trunk/siprp/lembretes/LembretesDataProvider.java @@ -14,10 +14,12 @@ import com.evolute.utils.arrays.Virtual2DArray; import com.evolute.utils.db.DBManager; import com.evolute.utils.db.Executer; import com.evolute.utils.sql.Assignment; +import com.evolute.utils.sql.Delete; import com.evolute.utils.sql.Field; import com.evolute.utils.sql.Insert; import com.evolute.utils.sql.Select; import java.util.Date; +import java.util.HashMap; /** * @@ -28,6 +30,10 @@ public class LembretesDataProvider private static final Object LOCK = new Object(); private static LembretesDataProvider instance = null; + private final HashMap TIPOS_LEMBRETES_BY_CODIGO = + new HashMap(); + private TipoLembrete tiposLembrete[]; + private Executer EXECUTER; /** Creates a new instance of LembretesDataProvider */ @@ -54,24 +60,35 @@ public class LembretesDataProvider public TipoLembrete[] getTiposLembrete() throws Exception { - Select select = - new Select( new String[]{ "lembretes_tipos" }, - new String[]{ "id", "codigo", "descricao", "ordem" }, - new Field( "activo" ).isEqual( "y" ), - new String[]{ "ordem" }, - null ); - Virtual2DArray array = EXECUTER.executeQuery( select ); - TipoLembrete tipos[] = new TipoLembrete[ array.columnLength() ]; - for( int n = 0; n < tipos.length; n++ ) + if( tiposLembrete == null ) { - Integer id = ( Integer ) array.get( n, 0 ); - String codigo = ( String ) array.get( n, 1 ); - String descricao = ( String ) array.get( n, 2 ); - Integer ordem = ( Integer ) array.get( n, 3 ); - tipos[ n ] = new TipoLembrete( id, codigo, descricao, ordem ); + Select select = + new Select( new String[]{ "lembretes_tipos" }, + new String[]{ "id", "codigo", "descricao", "ordem" }, + new Field( "activo" ).isEqual( "y" ), + new String[]{ "ordem" }, + null ); + Virtual2DArray array = EXECUTER.executeQuery( select ); + tiposLembrete = new TipoLembrete[ array.columnLength() ]; + for( int n = 0; n < tiposLembrete.length; n++ ) + { + Integer id = ( Integer ) array.get( n, 0 ); + String codigo = ( String ) array.get( n, 1 ); + String descricao = ( String ) array.get( n, 2 ); + Integer ordem = ( Integer ) array.get( n, 3 ); + tiposLembrete[ n ] = new TipoLembrete( id, codigo, descricao, ordem ); + TIPOS_LEMBRETES_BY_CODIGO.put( codigo, tiposLembrete[ n ] ); + } } - return tipos; - } + return tiposLembrete; + } + + public TipoLembrete getTipoLembreteByCodigo( String codigo ) + throws Exception + { + getTiposLembrete(); + return TIPOS_LEMBRETES_BY_CODIGO.get( codigo ); + } public void criarLembrete( Integer tipoID, Date data, @@ -105,4 +122,12 @@ public class LembretesDataProvider EXECUTER.executeQuery( insert ); } + public void apagarLembreteByMarcacaoTrabalhadorID( Integer marcacaoID ) + throws Exception + { + Delete delete = + new Delete( "lembretes", + new Field( "marcacao_trabalhador_id" ).isEqual( marcacaoID ) ); + EXECUTER.executeQuery( delete ); + } } diff --git a/trunk/siprp/medicina/presencas/PresencasDataProvider.java b/trunk/siprp/medicina/presencas/PresencasDataProvider.java index 5019f03b..dc91e55b 100644 --- a/trunk/siprp/medicina/presencas/PresencasDataProvider.java +++ b/trunk/siprp/medicina/presencas/PresencasDataProvider.java @@ -15,6 +15,9 @@ 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; @@ -23,12 +26,13 @@ import siprp.medicina.MedicinaDataProvider; * @author lflores */ public class PresencasDataProvider - implements MedicinaConstants + 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 */ @@ -38,6 +42,7 @@ public class PresencasDataProvider DBManager dbm = ( DBManager ) Singleton.getInstance( Singleton.DEFAULT_DBMANAGER ); EXECUTER = dbm.getSharedExecuter( this ); medicinaProvider = ( MedicinaDataProvider ) MedicinaDataProvider.getProvider(); + lembretesProvider = LembretesDataProvider.getProvider(); } public static PresencasDataProvider getProvider() @@ -56,7 +61,7 @@ public class PresencasDataProvider protected void apagarDetalhesRealizacao( Integer marcacaoID ) throws Exception { - medicinaProvider.deleteDetalhesRealziadosForMarcacao( marcacaoID ); + medicinaProvider.deleteDetalhesRealizadosForMarcacao( marcacaoID ); } public void marcarFaltou( Integer id ) @@ -71,6 +76,19 @@ public class PresencasDataProvider }, 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 ) @@ -85,6 +103,19 @@ public class PresencasDataProvider }, 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 ) @@ -99,6 +130,19 @@ public class PresencasDataProvider }, 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[] ) @@ -114,6 +158,7 @@ public class PresencasDataProvider }, new Field( "id" ).isEqual( id ) ); EXECUTER.executeQuery( update ); + lembretesProvider.apagarLembreteByMarcacaoTrabalhadorID( id ); } public void marcarParcialmenteRealizado( Integer id, Integer grupos[] ) @@ -129,5 +174,18 @@ public class PresencasDataProvider }, 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 ); } } diff --git a/trunk/siprp/medicina/presencas/auxiliares.xsl b/trunk/siprp/medicina/presencas/auxiliares.xsl index 2a7aa45a..06a88a98 100644 --- a/trunk/siprp/medicina/presencas/auxiliares.xsl +++ b/trunk/siprp/medicina/presencas/auxiliares.xsl @@ -11,23 +11,25 @@ - - - - - - - teste - - - - - - - - - - + + + + + + + + teste + + + + + + + + + + +