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.
		
		
		
		
		
			
		
			
				
					
					
						
							198 lines
						
					
					
						
							5.2 KiB
						
					
					
				
			
		
		
	
	
							198 lines
						
					
					
						
							5.2 KiB
						
					
					
				| /*
 | |
|  * ClientesDataProvider.java
 | |
|  *
 | |
|  * Created on January 27, 2006, 12:50 AM
 | |
|  *
 | |
|  * To change this template, choose Tools | Template Manager
 | |
|  * and open the template in the editor.
 | |
|  */
 | |
| 
 | |
| package siprp.clientes;
 | |
| 
 | |
| import java.util.*;
 | |
| 
 | |
| import com.evolute.utils.*;
 | |
| import com.evolute.utils.arrays.*;
 | |
| import com.evolute.utils.data.*;
 | |
| import com.evolute.utils.db.*;
 | |
| import com.evolute.utils.metadb.*;
 | |
| import com.evolute.utils.sql.*;
 | |
| import com.evolute.utils.strings.*;
 | |
| 
 | |
| /**
 | |
|  *
 | |
|  * @author fpalma
 | |
|  */
 | |
| public class ClientesDataProvider extends MetaProvider
 | |
| {
 | |
| 	private static final Object LOCK = new Object();
 | |
| 	private static ClientesDataProvider instance = null;
 | |
| 	private final Executer executer;
 | |
| 	
 | |
| 	private Integer etiquetaID;
 | |
| 	
 | |
| 	/** Creates a new instance of ClientesDataProvider */
 | |
| 	public ClientesDataProvider()
 | |
| 		throws Exception
 | |
| 	{
 | |
| 		DBManager dbm = ( DBManager ) Singleton.getInstance( Singleton.DEFAULT_DBMANAGER /*SingletonConstants.DBMANAGER*/ );
 | |
| 		executer = dbm.getSharedExecuter( this );
 | |
| 	}
 | |
| 	
 | |
| 	public static MetaProvider getProvider()
 | |
| 		throws Exception
 | |
| 	{
 | |
| 		synchronized( LOCK )
 | |
| 		{
 | |
| 			if( instance == null )
 | |
| 			{
 | |
| 				instance = new ClientesDataProvider();
 | |
| 			}
 | |
| 		}
 | |
| 		return instance;
 | |
| 	}
 | |
| 	
 | |
| 	public IDObject[] getAllGruposProtocoloReais()
 | |
| 		throws Exception
 | |
| 	{
 | |
| 		return getAllGruposProtocoloPorTipo( true );
 | |
| 	}
 | |
| 	
 | |
| 	public IDObject[] getAllGruposProtocoloFalsos()
 | |
| 		throws Exception
 | |
| 	{
 | |
| 		return getAllGruposProtocoloPorTipo( false );
 | |
| 	}
 | |
| 		
 | |
| 	public IDObject[] getAllGruposProtocoloPorTipo( boolean real )
 | |
| 		throws Exception
 | |
| 	{
 | |
| 		Select select = 
 | |
| 			new Select( new String[]{ "prt_grupos_protocolo" },
 | |
| 						new String[]{ "id", "descricao", "ordem" },
 | |
| 						new Field( "grupo_real" ).isEqual( real ? "y" : "n" ), 
 | |
| 						new String[]{ "ordem" },
 | |
| 						null );
 | |
| 		Virtual2DArray array = executer.executeQuery( select );
 | |
| 		IDObject grupos[] = new IDObject[ array.columnLength() ];
 | |
| 		for( int n = 0; n < grupos.length; n++ )
 | |
| 		{
 | |
| 			grupos[ n ] = new MappableObject( ( Integer ) array.get( n, 0 ), ( String ) array.get( n, 1 ) );
 | |
| 		}
 | |
| 		return grupos;
 | |
| 	}
 | |
| 	
 | |
| 	public Hashtable getAllTiposElementosProtocoloByGrupo()
 | |
| 		throws Exception
 | |
| 	{
 | |
| 		Select select =
 | |
| 			new Select( new String[]{ "prt_tipos_elementos_protocolo" },
 | |
| 						new String[]{ "id", "descricao", "ordem", "grupo_protocolo_id" },
 | |
| 						null,
 | |
| 						new String[]{ "grupo_protocolo_id", "ordem" },
 | |
| 						null );
 | |
| 		Virtual2DArray array = executer.executeQuery( select );
 | |
| 		Hashtable tipos = new Hashtable();
 | |
| 		for( int n = 0; n < array.columnLength(); n++ )
 | |
| 		{
 | |
| 			IDObject tipo = new MappableObject( ( Integer ) array.get( n, 0 ), ( String ) array.get( n, 1 ) );
 | |
| 			Integer grupoID = ( Integer ) array.get( n, 3 );
 | |
| 			if( !tipos.containsKey( grupoID ) )
 | |
| 			{
 | |
| 				tipos.put( grupoID, new Vector() );
 | |
| 			}
 | |
| 			Vector tiposGrupo = ( Vector ) tipos.get( grupoID );
 | |
| 			tiposGrupo.add( tipo );
 | |
| 		}
 | |
| 		return tipos;
 | |
| 	}
 | |
| 	
 | |
| 	public void setElementosProtocoloForEmpresa( Integer empresaID, Integer elementos[][] )
 | |
| 		throws Exception
 | |
| 	{
 | |
| //		executer.executeQuery( Begin.BEGIN );
 | |
| 		try
 | |
| 		{
 | |
| 			Delete delete = 
 | |
| 				new Delete( "prt_elementos_protocolo",
 | |
| 							new Field( "empresa_id" ).isEqual( empresaID ) );
 | |
| 			executer.executeQuery( delete );
 | |
| 			for( int p = 0; p < elementos.length; p++ )
 | |
| 			{
 | |
| 				Integer numeroPerfil = new Integer( p + 1 );
 | |
| 				for( int e = 0; e < elementos[ p ].length; e++ )
 | |
| 				{
 | |
| 					Insert insert = 
 | |
| 						new Insert( "prt_elementos_protocolo",
 | |
| 									new Assignment[]{ 
 | |
| 										new Assignment( new Field( "empresa_id" ), empresaID ),
 | |
| 										new Assignment( new Field( "tipo_elemento_protocolo_id" ), elementos[ p ][ e ] ),
 | |
| 										new Assignment( new Field( "numero_perfil" ), numeroPerfil ) } );
 | |
| 					executer.executeQuery( insert, null );
 | |
| 				}
 | |
| 			}
 | |
| //			executer.executeQuery( Commit.COMMIT );
 | |
| 		}
 | |
| 		catch( Exception ex )
 | |
| 		{
 | |
| //			executer.executeQuery( Rollback.ROLLBACK );
 | |
| 			throw ex;
 | |
| 		}
 | |
| 	}
 | |
| 	
 | |
| 	public Integer[][] getElementosProtocoloForEmpresa( Integer empresaID, int numeroPerfis )
 | |
| 		throws Exception
 | |
| 	{
 | |
| 		Select select =
 | |
| 			new Select( new String[]{ "prt_elementos_protocolo" },
 | |
| 						new String[]{ "tipo_elemento_protocolo_id", "numero_perfil" },
 | |
| 						new Field( "empresa_id" ).isEqual( empresaID ) ,
 | |
| 						new String[]{ "numero_perfil" },
 | |
| 						null );
 | |
| 		Virtual2DArray array = executer.executeQuery( select );
 | |
| 		Vector data[] = new Vector[ numeroPerfis ];
 | |
| 		for( int n = 0; n < array.columnLength(); n++ )
 | |
| 		{
 | |
| 			int perfil = ( ( Integer ) array.get( n, 1 ) ).intValue() - 1;
 | |
| 			Integer tipo = ( Integer ) array.get( n, 0 );
 | |
| 			if( data[ perfil ] == null )
 | |
| 			{
 | |
| 				data[ perfil ] = new Vector();
 | |
| 			}
 | |
| 			data[ perfil ].add( tipo );
 | |
| 		}
 | |
| 		Integer elementos[][] = new Integer[ numeroPerfis ][];
 | |
| 		for( int n = 0; n < numeroPerfis; n++ )
 | |
| 		{
 | |
| 			if( data[ n ] == null )
 | |
| 			{
 | |
| 				elementos[ n ] = new Integer[ 0 ];
 | |
| 			}
 | |
| 			else
 | |
| 			{
 | |
| 				elementos[ n ] = ( Integer [] ) data[ n ].toArray( new Integer[ data[ n ].size() ] );
 | |
| 			}
 | |
| 		}
 | |
| 		return elementos;
 | |
| 	}
 | |
| 	
 | |
| 	public Integer getEtiquetaID()
 | |
| 		throws Exception
 | |
| 	{
 | |
| 		if( etiquetaID == null )
 | |
| 		{
 | |
| 			Select select = 
 | |
| 				new Select( new String[]{ "etiquetas" },
 | |
| 							new String[]{ "max(id)" },
 | |
| 							null );
 | |
| 			Virtual2DArray array = executer.executeQuery( select );
 | |
| 			if( array.columnLength() == 0 || array.get( 0, 0 ) == null )
 | |
| 			{
 | |
| 				return null;
 | |
| 			}
 | |
| 			etiquetaID = ( Integer ) array.get( 0, 0 );
 | |
| 		}
 | |
| 		return etiquetaID;
 | |
| 	}
 | |
| }
 |