Chamados.java

From Grupo6 Especoo

package sistemaordemservico;

import java.util.ArrayList;

public class Chamados 
{
    public static Chamados instance = new Chamados();
    
    private ArrayList<Chamado> chamados = new ArrayList<Chamado>();
    
    private static int nroChamado = 1;
    
    public static Chamados getInstance()
    {
        return instance;
    }
    
    private Chamados()
    {
        
    }
    
    public Integer inserirChamado(Chamado chamado)
    {
        System.out.println("Chamados.inserirChamado(Chamado)");
        
		//comando: insert
		//tabela: chamados
		//retorno: numero do chamado inserido	
        
        if(chamado.getIdFunc() == null || 
                chamado.getDepartamento() == null || 
                chamado.getDescricao() == null)
        {
            return null;
        }
        
        //auto incremento
        chamado.setNroChamado(nroChamado++);
        
        //insere o chamado aberto
        chamado.setIdStatus(StatusChamado.ABERTO);
        
        chamados.add(chamado);
        
	return chamado.getNroChamado();
    }
    
    public void inserirChamadoTeste(Chamado chamado)
    {
        System.out.println("Chamados.inserirChamadoTeste(Chamado)");
        
        chamados.add(chamado);
    }
    
    public void removerChamadoTeste(Chamado chamado)
    {
        System.out.println("Chamados.removerChamadoTeste(Chamado)");
        
        chamados.remove(chamado);
    }
    
    public ArrayList<Chamado> selectChamadosAbertos()
    {
        System.out.println("Chamados.selectChamadosAbertos()");
        
        //comando: select
        //tabela: chamados
        //clausula: IdStatus = status de chamado aberto
        //retorno: lista de chamados
        
        ArrayList<Chamado> chamadosAbertos = new ArrayList<Chamado>();
        
        for (Chamado chamado: chamados) 
        {
            if (chamado.getIdStatus().equals(StatusChamado.ABERTO)) 
            {
                chamadosAbertos.add(chamado);
            }
        }
        
        if(chamadosAbertos.isEmpty())
        {
            return null;
        }
        
        return chamadosAbertos;
    }
    
    public boolean updateChamado(Chamado chamado)
    {
        System.out.println("Chamados.updateChamado(Chamado)");
        
        //comando: update
        //tabela: chamados
        //clausula: NroChamado = chamado.getNroChamado()
        //retorno: true/false
        
        boolean chamadoAtualizado = false;
        
        for (Chamado chamadoAux: chamados) 
        {
            if (chamadoAux.getNroChamado().equals(chamado.getNroChamado()))
            {
                chamadoAux = chamado;   
                chamadoAtualizado = true;
            }
        }
        
        return chamadoAtualizado;
    }
    
    public ArrayList<Chamado> selectChamadosAtendente(Integer idAtend)
    {
        System.out.println("Chamados.selectChamadosAtendente(Integer)");
        
        //comando: select
        //tabela: chamados
        //clausula: chamado.getAtendente().getIdAtend() = idAtend && chamado.getIdStatus() != StatusChamado.FINALIZADO
        //retorno: lista de chamados
        
        ArrayList<Chamado> chamadosAtendente = new ArrayList<Chamado>();
        
        for (Chamado chamado: chamados) 
        {
            if (chamado.getAtendente().getIdAtend().equals(idAtend) &&
                    !chamado.getIdStatus().equals(StatusChamado.FINALIZADO)) 
            {
                chamadosAtendente.add(chamado);
            }
        }
        
        if(chamadosAtendente.isEmpty())
        {
            return null;
        }
        
        return chamadosAtendente;
    }
    
    public Chamado selectChamado(Integer nroChamado)
    {
        System.out.println("Chamados.selectChamado(Integer)");
        
        //comando: select
        //tabela: chamados
        //clausula: chamado.getNroChamado() = nroChamado
        //retorno: chamado
        
        for (Chamado chamado: chamados) 
        {
            if (chamado.getNroChamado().equals(nroChamado)) 
            {
                return chamado;
            }
        }
        
        return null;
    }
    
}
Personal tools