Skip to content
Snippets Groups Projects
Select Git revision
  • 605a12bb33a9ee3ef313a26c4db97dd7efd6d4c2
  • dataset/1 default protected
  • issue#16
  • issue#15
  • vignette-01
  • devel
6 results

potatoYield.R

Blame
  • Programa.java 3.27 KiB
    package br.ufpr.c3sl.estacaojuventude;
    
    import java.util.Date;
    import java.util.HashSet;
    import java.util.List;
    import java.util.Set;
    
    import javax.persistence.CascadeType;
    import javax.persistence.Column;
    import javax.persistence.EnumType;
    import javax.persistence.Enumerated;
    import javax.persistence.ManyToMany;
    import javax.persistence.OneToOne;
    import javax.persistence.Temporal;
    import javax.persistence.TemporalType;
    
    import org.springframework.format.annotation.DateTimeFormat;
    import org.springframework.roo.addon.javabean.RooJavaBean;
    import org.springframework.roo.addon.jpa.activerecord.RooJpaActiveRecord;
    import org.springframework.roo.addon.tostring.RooToString;
    import org.springframework.security.core.context.SecurityContextHolder;
    
    import br.ufpr.c3sl.estacaojuventude.enums.NivelPrograma;
    import br.ufpr.c3sl.estacaojuventude.enums.TipoStatus;
    import br.ufpr.c3sl.estacaojuventude.enums.TipoTemporalidade;
    
    @RooJavaBean
    @RooToString
    @RooJpaActiveRecord
    public class Programa {
    	
    	private String nomeOficial;
    
        private String nomeDivulgacao;
    
        private String sigla;
    
        //NivelPrograma = {Nacional,Estadual,Municipal}
        @Enumerated(EnumType.STRING)
        private NivelPrograma nivel;
    
        @OneToOne
        private Programa programaVinculado;
    
        private String leiCriacao;
    
        @Column(columnDefinition = "text")
        private String descricao;
    
        @Column(columnDefinition = "text")
        private String objetivos;
        
        @Column(columnDefinition = "text")
        private String beneficios;
    
        @Temporal(TemporalType.DATE)
        @DateTimeFormat(style = "S-")
        private Date dataInicio;
    
        //TipoTemporalidade = {Permanente, Temporario, Eventual}
        @Enumerated(EnumType.STRING)
        private TipoTemporalidade temporalidade;
    
        @Column(columnDefinition = "text")
        private String publicoAlvo;
        
        private Integer idadeMinima;
    
        private Integer idadeMaxima;
    
        @Column(columnDefinition = "text")
        private String criteriosAcesso;
    
        private String duracao;
    
        @ManyToMany(cascade = CascadeType.ALL)
        private Set<Tematica> tematicas = new HashSet<Tematica>();
        
        @ManyToMany(cascade = CascadeType.ALL)
        private Set<OrgaoExecutor> orgaosExecutores = new HashSet<OrgaoExecutor>();
        
        @Column(columnDefinition = "text")
        private String parceiros;
        
        @Enumerated(EnumType.STRING)
    	private TipoStatus status;
    	
    	@OneToOne
    	private Usuario usuario;
    	
        public static List<Programa> findAllProgramasCandidatos() {
            return entityManager().createNativeQuery("SELECT * FROM Programa WHERE status = 'Candidato'", Programa.class).getResultList();
        }
        
    	public static List<Programa>  findAllProgramasEfetivos() {
    		return entityManager().createNativeQuery("SELECT * FROM Programa WHERE status = 'Efetivo'", Programa.class).getResultList();
    	}
    
    	public static List<Programa>  findAllProgramasRejeitados() {
    		return entityManager().createNativeQuery("SELECT * FROM Programa WHERE status = 'Rejeitado'", Programa.class).getResultList();
    	}
    	
    	public static List<Programa>  findMeusProgramas() {
    		String login = SecurityContextHolder.getContext().getAuthentication().getName();
    		
    		return entityManager().createNativeQuery("SELECT * FROM Programa p, Usuario u WHERE p.usuario = u.id and p.status = 'Candidato' and u.login = '"+login+"'", Programa.class).getResultList();
    	}
    }