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.
		
		
		
		
		
			
		
			
				
					
					
						
							116 lines
						
					
					
						
							3.3 KiB
						
					
					
				
			
		
		
	
	
							116 lines
						
					
					
						
							3.3 KiB
						
					
					
				/*
 | 
						|
 * ProcessoDataProvider.java
 | 
						|
 *
 | 
						|
 * Created on March 20, 2007, 5:14 PM
 | 
						|
 *
 | 
						|
 * To change this template, choose Tools | Template Manager
 | 
						|
 * and open the template in the editor.
 | 
						|
 */
 | 
						|
 | 
						|
package siprp.medicina.processo;
 | 
						|
 | 
						|
import com.evolute.utils.Singleton;
 | 
						|
import com.evolute.utils.arrays.Virtual2DArray;
 | 
						|
import com.evolute.utils.db.DBManager;
 | 
						|
import com.evolute.utils.db.Executer;
 | 
						|
import com.evolute.utils.jdo.JDOProvider;
 | 
						|
import com.evolute.utils.sql.Expression;
 | 
						|
import com.evolute.utils.sql.Field;
 | 
						|
import com.evolute.utils.sql.Select;
 | 
						|
import com.evolute.utils.sql.Select2;
 | 
						|
import java.util.HashMap;
 | 
						|
import siprp.medicina.processo.data.MarcacoesProcessoData;
 | 
						|
 | 
						|
/**
 | 
						|
 *
 | 
						|
 * @author fpalma
 | 
						|
 */
 | 
						|
public class ProcessoDataProvider
 | 
						|
{
 | 
						|
	public static final String PROCESSO_ABERTO_CODE = "a";
 | 
						|
	public static final String PROCESSO_FECHADO_CODE = "f";
 | 
						|
	public static final String PROCESSO_CANCELADO_CODE = "c";
 | 
						|
	
 | 
						|
	public static final String PROCESSO_ABERTO_DESCRIPTION = "Aberto";
 | 
						|
	public static final String PROCESSO_FECHADO_DESCRIPTION = "Fechado";
 | 
						|
	public static final String PROCESSO_CANCELADO_DESCRIPTION = "Cancelado";
 | 
						|
	public static final String PROCESSO_POR_ABRIR_DESCRIPTION = "Por Abrir";
 | 
						|
	
 | 
						|
	public static final HashMap<String,String> ESTADO_PROCESSO_BY_CODE = 
 | 
						|
			new HashMap<String,String>();
 | 
						|
	
 | 
						|
	static
 | 
						|
	{
 | 
						|
		ESTADO_PROCESSO_BY_CODE.put( PROCESSO_ABERTO_CODE, PROCESSO_ABERTO_DESCRIPTION );
 | 
						|
		ESTADO_PROCESSO_BY_CODE.put( PROCESSO_FECHADO_CODE, PROCESSO_FECHADO_DESCRIPTION );
 | 
						|
		ESTADO_PROCESSO_BY_CODE.put( PROCESSO_CANCELADO_CODE, PROCESSO_CANCELADO_DESCRIPTION );
 | 
						|
	}
 | 
						|
	
 | 
						|
	private static final Object LOCK = new Object();
 | 
						|
	private static ProcessoDataProvider instance = null;
 | 
						|
	private Executer EXECUTER;
 | 
						|
	private JDOProvider JDO;
 | 
						|
	
 | 
						|
	/** Creates a new instance of ProcessoDataProvider */
 | 
						|
	public ProcessoDataProvider()
 | 
						|
		throws Exception
 | 
						|
	{
 | 
						|
		DBManager dbm = ( DBManager ) Singleton.getInstance( Singleton.DEFAULT_DBMANAGER );
 | 
						|
		EXECUTER = dbm.getSharedExecuter( this );
 | 
						|
		JDO = ( JDOProvider ) Singleton.getInstance( Singleton.DEFAULT_JDO_PROVIDER );
 | 
						|
	}
 | 
						|
	
 | 
						|
	public static ProcessoDataProvider getProvider()
 | 
						|
		throws Exception
 | 
						|
	{
 | 
						|
		synchronized( LOCK )
 | 
						|
		{
 | 
						|
			if( instance == null )
 | 
						|
			{
 | 
						|
				instance = new ProcessoDataProvider();
 | 
						|
			}
 | 
						|
		}
 | 
						|
		return instance;
 | 
						|
	}
 | 
						|
	
 | 
						|
	public Integer[] getIDsProcessosByTrabalhador( Integer trabalhadorID )
 | 
						|
		throws Exception
 | 
						|
	{
 | 
						|
		Select select =
 | 
						|
				new Select2( new String[]{ "marcacoes_processo" },
 | 
						|
								new Integer[ 0 ],
 | 
						|
								new Expression[ 0 ],
 | 
						|
								new String[]{ "id", "data_inicio" },
 | 
						|
								new Field( "marcacoes_processo.trabalhador_id" ).isEqual( trabalhadorID ),
 | 
						|
								new String[]{ "data_inicio" },
 | 
						|
								null,
 | 
						|
								null,
 | 
						|
								null );
 | 
						|
		Virtual2DArray array = EXECUTER.executeQuery( select );
 | 
						|
		Integer ids[] = new Integer[ array.columnLength() ];
 | 
						|
		for( int n = 0; n < ids.length; n++ )
 | 
						|
		{
 | 
						|
			ids[ n ] = ( Integer ) array.get( n, 0 );
 | 
						|
		}
 | 
						|
		return ids;
 | 
						|
	}
 | 
						|
	
 | 
						|
	public MarcacoesProcessoData getProcessoByID( Integer id )
 | 
						|
		throws Exception
 | 
						|
	{
 | 
						|
		return ( MarcacoesProcessoData ) JDO.load( MarcacoesProcessoData.class, id );
 | 
						|
	}
 | 
						|
	
 | 
						|
	public void saveProcesso( MarcacoesProcessoData processo )
 | 
						|
		throws Exception
 | 
						|
	{
 | 
						|
		processo.save();
 | 
						|
	}
 | 
						|
	
 | 
						|
	public String getDescricaoEstadoProcessoByCodigo( String codigo )
 | 
						|
		throws Exception
 | 
						|
	{
 | 
						|
		return ESTADO_PROCESSO_BY_CODE.get( codigo );
 | 
						|
	}
 | 
						|
}
 |