From e204420187119ac6d0c464f787916e69fea12ddf Mon Sep 17 00:00:00 2001 From: Frederico Palma Date: Fri, 21 Dec 2007 09:37:15 +0000 Subject: [PATCH] git-svn-id: https://svn.coded.pt/svn/SIPRP@620 bb69d46d-e84e-40c8-a05a-06db0d633741 --- .../LocaisRealizacaoDataProvider.java | 100 +++++++----------- 1 file changed, 37 insertions(+), 63 deletions(-) diff --git a/trunk/SIPRPSoft/src/siprp/medicina/locais_realizacao/LocaisRealizacaoDataProvider.java b/trunk/SIPRPSoft/src/siprp/medicina/locais_realizacao/LocaisRealizacaoDataProvider.java index 1eeaec5c..294df49c 100644 --- a/trunk/SIPRPSoft/src/siprp/medicina/locais_realizacao/LocaisRealizacaoDataProvider.java +++ b/trunk/SIPRPSoft/src/siprp/medicina/locais_realizacao/LocaisRealizacaoDataProvider.java @@ -227,77 +227,51 @@ System.out.println("Estabelecimentos: " + estabelecimentos.length ); return ids; } -// public void setPrestadorConsultaIdForEstabelecimentoAndDate( Integer estabelecimentoId, Date data, prestadorId ) -// throws Exception -// { -// Select selectConsultas = -// new Select2( -// new String[]{ "trabalhadores_consultas_datas", "trabalhadores_consultas", "trabalhadores" }, -// new Integer[]{ Select2.JOIN_INNER, Select2.JOIN_INNER }, -// new Expression[]{ -// new Field( "trabalhadores_consultas_datas.trabalhadores_consultas_id" ).isEqual( new Field( "trabalhadores_consultas.id" ) ), -// new Field( "trabalhadores_consultas.trabalhador_id" ).isEqual( new Field( "trabalhadores.id" ) ) }, -// new String[]{ "DISTINCT trabalhadores_consultas_datas.prestador_id" }, -// new Field( "trabalhadores_consultas_datas.data" ).isEqual( data ).and( -// new Field( "trabalhadores.estabelecimento_id" ).isEqual( estabelecimentoId ) ).and( -// new Field( "trabalhadores_consultas_datas.estado" ).isEqual( new Integer( MedicinaConstants.ESTADO_POR_REALIZAR ) ) ), -// null, -// null, -// null, -// null ); -// -// Select selectExterno = -// new Select2( -// new String[]{ "trabalhadores_consultas_datas", "trabalhadores_consultas", "trabalhadores" }, -// new Integer[]{ Select2.JOIN_INNER, Select2.JOIN_INNER }, -// new Expression[]{ -// new Field( "trabalhadores_consultas_datas.trabalhadores_consultas_id" ).isEqual( new Field( "trabalhadores_consultas.id" ) ), -// new Field( "trabalhadores_consultas.trabalhador_id" ).isEqual( new Field( "trabalhadores.id" ) ) }, -// new String[]{ "DISTINCT trabalhadores_consultas_datas.prestador_id" }, -// new Field( "trabalhadores_consultas_datas.data" ).isEqual( data ).and( -// new Field( "trabalhadores.estabelecimento_id" ).isEqual( estabelecimentoId ) ).and( -// new Field( "trabalhadores_consultas_datas.estado" ).isEqual( new Integer( MedicinaConstants.ESTADO_POR_REALIZAR ) ) ), -// null, -// null, -// null, -// null ); -// Virtual2DArray arrayExterno = EXECUTER.executeQuery( selectExterno ); -// Integer ids[] = new Integer[ arrayExterno.columnLength() ]; -// for( int n = 0; n < arrayExterno.columnLength(); n++ ) -// { -// ids[ n ] = ( Integer ) arrayExterno.get( n, 0 ); -// } -// return ids; -// } - - public void setPrestadorIDForEstabelecimentoAndTipo( Integer estabelecimentoID, int tipo, Date data, Integer prestadorID ) + public void setPrestadorConsultaIdForEstabelecimentoAndDate( Integer estabelecimentoId, Date data, Integer prestadorId ) throws Exception { - Select select = - new Select2( - new String[]{ "marcacoes_trabalhador", "trabalhadores" }, + Select selectConsultas = + new Select2( + new String[]{ "trabalhadores_consultas", "trabalhadores" }, new Integer[]{ Select2.JOIN_INNER }, new Expression[]{ - new Field( "marcacoes_trabalhador.trabalhador_id" ).isEqual( new Field( "trabalhadores.id" ) ) }, - new String[]{ "marcacoes_trabalhador.id" }, - new Field( "marcacoes_trabalhador.data" ).isEqual( data ).and( - new Field( "trabalhadores.estabelecimento_id" ).isEqual( estabelecimentoID ) ).and( - new Field( "marcacoes_trabalhador.tipo" ).isEqual( tipo ) ), + new Field( "trabalhadores_consultas.trabalhador_id" ).isEqual( new Field( "trabalhadores.id" ) ) }, + new String[]{ "DISTINCT trabalhadores_consultas.id" }, + new Field( "trabalhadores_consultas.data" ).isEqual( data ).and( + new Field( "trabalhadores.estabelecimento_id" ).isEqual( estabelecimentoId ) ).and( + new Field( "trabalhadores_consultas.estado" ).isEqual( new Integer( MedicinaConstants.ESTADO_POR_REALIZAR ) ) ), null, null, null, null ); - Virtual2DArray array = EXECUTER.executeQuery( select ); - for( int n = 0; n < array.columnLength(); n++ ) - { - Integer id = ( Integer ) array.get( n, 0 ); - Update update = - new Update( "marcacoes_trabalhador", - new Assignment[]{ - new Assignment( "prestador_id", prestadorID ) }, - new Field( "id" ).isEqual( id ) ); - EXECUTER.executeQuery( update ); - } + Update updateConsultas = new Update( "trabalhadores_consultas", + new Assignment[]{ + new Assignment( new Field( "prestador_id" ), prestadorId ) + }, + new Field( "id" ).in( selectConsultas ) ); + EXECUTER.executeQuery( updateConsultas ); + + Select selectConsultasDatas = + new Select2( + new String[]{ "trabalhadores_consultas_datas", "trabalhadores_consultas", "trabalhadores" }, + new Integer[]{ Select2.JOIN_INNER, Select2.JOIN_INNER }, + new Expression[]{ + new Field( "trabalhadores_consultas_datas.trabalhadores_consultas_id" ).isEqual( new Field( "trabalhadores_consultas.id" ) ), + new Field( "trabalhadores_consultas.trabalhador_id" ).isEqual( new Field( "trabalhadores.id" ) ) }, + new String[]{ "DISTINCT trabalhadores_consultas_datas.id" }, + new Field( "trabalhadores_consultas_datas.data" ).isEqual( data ).and( + new Field( "trabalhadores.estabelecimento_id" ).isEqual( estabelecimentoId ) ).and( + new Field( "trabalhadores_consultas_datas.estado" ).isEqual( new Integer( MedicinaConstants.ESTADO_POR_REALIZAR ) ) ), + null, + null, + null, + null ); + Update updateConsultasDatas = new Update( "trabalhadores_consultas_datas", + new Assignment[]{ + new Assignment( new Field( "prestador_id" ), prestadorId ) + }, + new Field( "id" ).in( selectConsultasDatas ) ); + EXECUTER.executeQuery( updateConsultasDatas ); } protected IDObject[] getGruposEcdsByEstabelecimentoAndDate( Integer estabelecimentoId, Date data )