ChamadoNO.java

From Grupo6 Especoo

package sistemaordemservicoNO;

import org.nakedobjects.object.AbstractNakedObject;
import org.nakedobjects.object.Title;
import org.nakedobjects.object.collection.InternalCollection;
import org.nakedobjects.object.value.Date;
import org.nakedobjects.object.value.MultilineTextString;
import org.nakedobjects.object.value.TextString;

public class Chamado extends AbstractNakedObject
{
    private static Integer count = 0;
    
    //dado gerado automaticamente pelo sistema
    private TextString numero = new TextString();
    private final Date dataChamado = new Date();
    
    //dados a serem preenchidos pelo funcionario da empresa que esta abrindo o chamado
    private final TextString idFuncionario = new TextString();
    private final TextString departamento = new TextString();
    private final MultilineTextString descricao = new MultilineTextString();
    
    //dados a serem preenchidos pelo gerente no momento da geracao da lista de prioridades
    private final TextString prioridade = new TextString();
    private Atendente atendente;
    private Gerente gerente;
    
    //dados a serem preenchidos pelo atendente no momento da finalizacao/alteracao do chamado
    private final MultilineTextString solucao = new MultilineTextString();
    private final Date dataStatus = new Date();    
    private final InternalCollection usoPecas = new InternalCollection(UsoPeca.class, this);
    private StatusChamado statusChamado;
    
    //dados a serem preenchidos pelo funcionario da empresa apos o chamado ser fechado
    private Avaliacao avaliacao;
     
    public Chamado()
    {
        count++;
        numero = new TextString(count.toString());        
    }
    public TextString getNumero()
    {        
        return numero;   
    }
    
    public TextString getIdFuncionario()
    {
        return idFuncionario;   
    }
    
    public TextString getPrioridade()
    {
        return prioridade;   
    }
    
    public TextString getDepartamento()
    {
        return departamento;   
    }
    
    public MultilineTextString getDescricao()
    {
        return descricao;   
    }
    
    public MultilineTextString getSolucao()
    {
        return solucao;   
    }
    
    public Date getDataStatus()
    {
        return dataStatus;   
    }
    
    public Date getDataChamado()
    {
        return dataChamado;   
    }
    
    public Avaliacao getAvaliacao()
    {
        resolve(avaliacao);
        return avaliacao;
    }
    
    public void setAvaliacao(Avaliacao avaliacao)
    {
        this.avaliacao = avaliacao;
        objectChanged();
    }
    
    public Atendente getAtendente()
    {
        resolve(atendente);
        return atendente;
    }
    
    public void setAtendente(Atendente atendente)
    {
        this.atendente = atendente;
        objectChanged();
    }
    
    public Gerente getGerente()
    {
        resolve(gerente);
        return gerente;
    }
    
    public void setGerente(Gerente gerente)
    {
        this.gerente = gerente;
        objectChanged();
    }
    
    public StatusChamado getStatusChamado()
    {
        resolve(statusChamado);
        return statusChamado;
    }
    
    public void setStatusChamado(StatusChamado statusChamado)
    {
        this.statusChamado = statusChamado;
        objectChanged();
    }
    
    public final InternalCollection getUsoPecas()
    {
        return usoPecas;
    }
    
    public void associateUsoPecas(UsoPeca usoPeca)
    {
        getUsoPecas().add(usoPeca);
        usoPeca.setChamado(this);
    }
    
    public Title title()
    {
        return numero.title();
    }
}
Personal tools