Dúvidas com Jsf

1 resposta
java
E

Pessoal estou com o seguinte problema em Jsf, como sou novato não sei como resolver:
Tenho uma classe funcionário e uma classe escala, logo um funcionário pode ter zero ou mais escalas (abaixo o código das classes modelos), o problema é como faço para montar a tela que o cliente quer conforme o modelo abaixo, não sei como mapear o value neste caso.
Classe funcionario

@Entity
@Table(name = “Fun_Funcionario”)
public class Fun_Funcionario implements Serializable {

/**
 * 
 */
private static final long serialVersionUID = 1L;
private Long id;
private String fun_cracha_txt_pk;
private Fun_Funcionario gestor;
private String fun_usuariorede_txt;
private String fun_senha_txt;
private int fun_monitorar_int;
private int fun_ativo_int;
private int fun_responsavel_int;
private String fun_nomefuncionario_txt;
private String fun_email_txt;
private String fun_status_txt;
private int fun_cargahoraria_int;
private int fun_avisos_int;
private int fun_bloqmaquina_int;
private int fun_bloqcatraca_int;
private int fun_bloqdominio_int;
private Grp_GrupoAcesso grp_grupoacesso;
private int fun_deslmaquina_int;
private int fun_deslmaquinatol_int;
private String fun_usuarioredealt_txt;
private String fun_telefone_txt;
private String fun_statusaviso_txt;
private String fun_statuscadastro_txt;
private Per_Perfil per_perfil;
private Set<Cho_CargaHoraria> cargahoraria = new HashSet<Cho_CargaHoraria>(0);


@Id
@GeneratedValue(strategy = GenerationType.AUTO)
public Long getId() {
	return id;
}
public void setId(Long id) {
	this.id = id;
}

@Size(max = 15, min=15)
@Column(length = 15, nullable = true)	
public String getFun_cracha_txt_pk() {
	return fun_cracha_txt_pk;
}

public void setFun_cracha_txt_pk(String fun_cracha_txt_pk) {
	this.fun_cracha_txt_pk = fun_cracha_txt_pk;
}

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "fun_cracharesponsavel_txt_fk", insertable = true, updatable = true, nullable = true)
public Fun_Funcionario getGestor() {
	return gestor;
}
public void setGestor(Fun_Funcionario gestor) {
	this.gestor = gestor;
}

@Size(max = 30)
@Column(length = 30, nullable = true)
public String getFun_usuariorede_txt() {
	return fun_usuariorede_txt;
}
public void setFun_usuariorede_txt(String fun_usuariorede_txt) {
	this.fun_usuariorede_txt = fun_usuariorede_txt;
}

@Size(max = 30)
@Column(length = 30, nullable = false)
public String getFun_senha_txt() {
	return fun_senha_txt;
}
public void setFun_senha_txt(String fun_senha_txt) {
	this.fun_senha_txt = fun_senha_txt;
}

//numero
public int getFun_ativo_int() {
	return fun_ativo_int;
}
public void setFun_ativo_int(int fun_ativo_int) {
	this.fun_ativo_int = fun_ativo_int;
}

//numero
public int getFun_responsavel_int() {
	return fun_responsavel_int;
}
public void setFun_responsavel_int(int fun_responsavel_int) {
	this.fun_responsavel_int = fun_responsavel_int;
}

@Size(max = 150)
@Column(length = 150, nullable = false)
public String getFun_nomefuncionario_txt() {
	return fun_nomefuncionario_txt;
}
public void setFun_nomefuncionario_txt(String fun_nomefuncionario_txt) {
	this.fun_nomefuncionario_txt = fun_nomefuncionario_txt;
}

@Size(max = 100)
@Column(length = 100, nullable = false)
public String getFun_email_txt() {
	return fun_email_txt;
}
public void setFun_email_txt(String fun_email_txt) {
	this.fun_email_txt = fun_email_txt;
}

@Size(max = 2)
@Column(length = 2, nullable = false)
public String getFun_status_txt() {
	return fun_status_txt;
}
public void setFun_status_txt(String fun_status_txt) {
	this.fun_status_txt = fun_status_txt;
}


//numero
public int getFun_cargahoraria_int() {
	return fun_cargahoraria_int;
}
public void setFun_cargahoraria_int(int fun_cargahoraria_int) {
	this.fun_cargahoraria_int = fun_cargahoraria_int;
}

//número
public boolean isFun_monitorar_int() {
	return fun_monitorar_int != 0 ;
}
public void setFun_monitorar_int(boolean checked) {
	this.fun_monitorar_int = (checked ? 1 : 0);
}

//numero
public boolean isFun_avisos_int() {
	return fun_avisos_int  != 0;
}
public void setFun_avisos_int(boolean checked) {
	this.fun_avisos_int = (checked ? 1 : 0);
}

//numero
public boolean isFun_bloqmaquina_int() {
	return fun_bloqmaquina_int  != 0;
}
public void setFun_bloqmaquina_int(boolean checked) {
	this.fun_bloqmaquina_int = (checked ? 1 : 0);
}

//numero
public boolean isFun_bloqcatraca_int() {
	return fun_bloqcatraca_int != 0;
}
public void setFun_bloqcatraca_int(boolean checked) {
	this.fun_bloqcatraca_int = (checked ? 1 : 0);
}

//numero
public boolean isFun_bloqdominio_int() {
	return fun_bloqdominio_int != 0;
}
public void setFun_bloqdominio_int(boolean checked) {
	this.fun_bloqdominio_int = (checked ? 1 : 0);
}

//numero
public boolean isFun_deslmaquina_int() {
	return fun_deslmaquina_int != 0;
}
public void setFun_deslmaquina_int(boolean checked) {
	this.fun_deslmaquina_int = (checked ? 1 : 0);
}

//numero
public int getFun_deslmaquinatol_int() {
	return fun_deslmaquinatol_int;
}
public void setFun_deslmaquinatol_int(int fun_deslmaquinatol_int) {
	this.fun_deslmaquinatol_int = fun_deslmaquinatol_int;
}

@ManyToOne(optional = false)
@JoinColumn(name = "grp_grupoacesso")
public Grp_GrupoAcesso getGrupo_acesso() {
	return grp_grupoacesso;
}
public void setGrupo_acesso(Grp_GrupoAcesso grp_grupoacesso) {
	this.grp_grupoacesso = grp_grupoacesso;
}

@Size(max = 20)
@Column(length = 20, nullable = false)
public String getFun_usuarioredealt_txt() {
	return fun_usuarioredealt_txt;
}
public void setFun_usuarioredealt_txt(String fun_usuarioredealt_txt) {
	this.fun_usuarioredealt_txt = fun_usuarioredealt_txt;
}

@Size(max = 11)
@Column(length = 11, nullable = false)
public String getFun_telefone_txt() {
	return fun_telefone_txt;
}
public void setFun_telefone_txt(String fun_telefone_txt) {
	this.fun_telefone_txt = fun_telefone_txt;
}

@Size(max = 2, min=2)
@Column(length = 2, nullable = false)

public String getFun_statusaviso_txt() {
	return fun_statusaviso_txt;
}
public void setFun_statusaviso_txt(String fun_statusaviso_txt) {
	this.fun_statusaviso_txt = fun_statusaviso_txt;
}

@Size(max = 2)
@Column(length = 2, nullable = false)
public String getFun_statuscadastro_txt() {
	return fun_statuscadastro_txt;
}
public void setFun_statuscadastro_txt(String fun_statuscadastro_txt) {
	this.fun_statuscadastro_txt = fun_statuscadastro_txt;
}
@ManyToOne(optional = false)
@JoinColumn(name = "per_perfil")
public Per_Perfil getPer_perfil() {
	return per_perfil;
}
public void setPer_perfil(Per_Perfil per_perfil) {
	this.per_perfil = per_perfil;
}

@OneToMany
@JoinColumn(name="cho_cargahoraria_id")
public List<Cho_CargaHoraria> getCargahoraria() {
	List<Cho_CargaHoraria> lista = new ArrayList<>(cargahoraria);
	return lista;
}
public void setCargahoraria(Set<Cho_CargaHoraria> cargahoraria) {
	this.cargahoraria = cargahoraria;
}
@Override
public int hashCode() {
	final int prime = 31;
	int result = 1;
	result = prime * result + ((id == null) ? 0 : id.hashCode());
	return result;
}
@Override
public boolean equals(Object obj) {
	if (this == obj)
		return true;
	if (obj == null)
		return false;
	if (getClass() != obj.getClass())
		return false;
	Fun_Funcionario other = (Fun_Funcionario) obj;
	if (id == null) {
		if (other.id != null)
			return false;
	} else if (!id.equals(other.id))
		return false;
	return true;
}

}

Classe carga_horaria

@Entity
@Table(name = “Cho_CargaHoraria”)
public class Cho_CargaHoraria implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
private Long id;
private Fun_Funcionario funcionario;
private int cho_diadasemana_int;
private int cho_horaentrada_int;
private int cho_tolerancia_int;
private int cho_cargahoraria_int;
private int cho_horaextraaut_int;
private int cho_intervalointrajor_int;
private int cho_tempmaxconsecutivo_int;

@Id	
@GeneratedValue(strategy = GenerationType.AUTO)
public Long getId() {
	return id;
}
public void setId(Long id) {
	this.id = id;
}

@OneToOne(optional=false)
@JoinColumn(
	name="fun_funcionario_id", unique=true, nullable=false, updatable=false)
public Fun_Funcionario getFuncionario() {
	return funcionario;
}
public void setFuncionario(Fun_Funcionario funcionario) {
	this.funcionario = funcionario;
}

public int getCho_diadasemana_int() {
	return cho_diadasemana_int;
}
public void setCho_diadasemana_int(int cho_diadasemana_int) {
	this.cho_diadasemana_int = cho_diadasemana_int;
}
public int getCho_horaentrada_int() {
	return cho_horaentrada_int;
}
public void setCho_horaentrada_int(int cho_horaentrada_int) {
	this.cho_horaentrada_int = cho_horaentrada_int;
}
public int getCho_tolerancia_int() {
	return cho_tolerancia_int;
}
public void setCho_tolerancia_int(int cho_tolerancia_int) {
	this.cho_tolerancia_int = cho_tolerancia_int;
}
public int getCho_cargahoraria_int() {
	return cho_cargahoraria_int;
}
public void setCho_cargahoraria_int(int cho_cargahoraria_int) {
	this.cho_cargahoraria_int = cho_cargahoraria_int;
}
public int getCho_horaextraaut_int() {
	return cho_horaextraaut_int;
}
public void setCho_horaextraaut_int(int cho_horaextraaut_int) {
	this.cho_horaextraaut_int = cho_horaextraaut_int;
}
public int getCho_intervalointrajor_int() {
	return cho_intervalointrajor_int;
}
public void setCho_intervalointrajor_int(int cho_intervalointrajor_int) {
	this.cho_intervalointrajor_int = cho_intervalointrajor_int;
}
public int getCho_tempmaxconsecutivo_int() {
	return cho_tempmaxconsecutivo_int;
}
public void setCho_tempmaxconsecutivo_int(int cho_tempmaxconsecutivo_int) {
	this.cho_tempmaxconsecutivo_int = cho_tempmaxconsecutivo_int;
}
@Override
public int hashCode() {
	final int prime = 31;
	int result = 1;
	result = prime * result + ((id == null) ? 0 : id.hashCode());
	return result;
}
@Override
public boolean equals(Object obj) {
	if (this == obj)
		return true;
	if (obj == null)
		return false;
	if (getClass() != obj.getClass())
		return false;
	Cho_CargaHoraria other = (Cho_CargaHoraria) obj;
	if (id == null) {
		if (other.id != null)
			return false;
	} else if (!id.equals(other.id))
		return false;
	return true;
}

}

Imagem da tela

value dos inputs value="#{fun_FuncionarioBean.funcionario.cargahoraria.get(0)}"
Desde já agradeço.

1 Resposta

campelo.m

Boa tarde,

Você esta usando algo como primefaces, richfaces?

Criado 23 de fevereiro de 2016
Ultima resposta 23 de fev. de 2016
Respostas 1
Participantes 2