Bom dia !
Pessoal estou com um problema em um combobox, em consigo carregar as espsecialidade dos médicos no form dos médicos, mas quando eu seleciono uma especialidade no combobox, ele não cadastra, se deixar em branco funciona.
[code]
package br.app.sisau.jsf;
/**
*
-
@author Jr.
*/
@ManagedBean(name = “medicoMB”)
@ViewScoped
public class MedicoManagedBean implements Serializable {private static Logger logger = Logger.getLogger(MedicoManagedBean.class);
private String pesquisa;//COMBO
private List<EspecialidadesBean> listaEspecialidade = new ArrayList<EspecialidadesBean>();
private EspecialidadesBean especialidade = new EspecialidadesBean();
private List<SelectItem> listaEspecialidadeItems = new ArrayList<SelectItem>();
private int idEspetcialidadeSelecionada;@ManagedProperty(value = "#{userSessionMB}")
private UserSessionManagedBean userSessionMB;public UserSessionManagedBean getUserSessionMB() {
return userSessionMB;
}public void setUserSessionMB(UserSessionManagedBean userSessionMB) {
this.userSessionMB = userSessionMB;
}@PostConstruct
public void postConstruct() {listaMedicos = Service.getInstance().listarMerdicos(); //COMBO especialidade setListaEspecialidade(Service.getInstance().listaEspecialidade()); for (EspecialidadesBean sec : listaEspecialidade){ //this.getListaEspecialidadeItems().add(new SelectItem(sec.getPkEspecialidade(),sec.getEspecialidade())); this.getListaEspecialidadeItems().add(new SelectItem(sec.getEspecialidade())); }
}
public boolean isAdicionarState() {
return ADICIONAR_STATE.equals(this.getCurrentState());
}public boolean isEditarState() {
return EDITAR_STATE.equals(this.getCurrentState());}
public void pesquisarMedicos() {
listaMedicos = Service.getInstance().pesquisarMedicosCriteria(pesquisa);
}public void prepareEditar() {
this.setCurrentState(EDITAR_STATE);
getListaMedicos().addAll(getListaMedicos());
logger.debug("MEDICO—>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + medicos);
logger.debug("CURRENTSTATES—>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" +currentState);
}public void clear() {
this.medicos = new MedicosBean();
}public void prepareAdicionar() {
logger.debug("==========Preparando==========");
this.setCurrentState(ADICIONAR_STATE);
medicos = new MedicosBean();
logger.debug("MEDICO—>>>>>>>>>>>>>>>>>>" + medicos);
// this.clear();
// this.setCurrentState(ADICIONAR_STATE);
//
logger.debug("MEDICO—>>>>>>>>>>>>>>>>>>" + medicos);
logger.debug("CURRENTSTATES—>>>>>>>>>>>" +currentState);}
public void gravar() {
logger.debug("===========gravando…============");
if (ADICIONAR_STATE.equals(this.currentState)) {
logger.debug("========ADICIONAR REGISTRO"+currentState);
Service.getInstance().cadastrarMedicos(medicos);
logger.debug("========MEDICOS ADD"+medicos);
Service.getInstance().atualizarMedicos(medicos);
logger.debug("========MEDICOS UPDATE"+medicos);
AuditoriaService.getInstance().gravarAcaoUsuario(getUserSessionMB().getLoggedUser(), "CADASTRO DE MÉDICO", "CADASTRO DE MÉDICO", "CADASTRO DE MÉDICO");} else if (EDITAR_STATE.equals(this.currentState)) { logger.debug("========EDITAR REGISTRO"); Service.getInstance().atualizarMedicos(getMedicos()); AuditoriaService.getInstance().gravarAcaoUsuario(getUserSessionMB().getLoggedUser(), "EDITAR MÉDICO", "EDITAR MÉDICO", "EDITAR MÉDICO"); } this.pesquisarMedicos();
}
public void excluir() {
logger.debug("EXCLUIR REGISTRO");
Service.getInstance().excluirMedicos(getMedicos());
this.pesquisarMedicos();
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("teste"));
AuditoriaService.getInstance().gravarAcaoUsuario(getUserSessionMB().getLoggedUser(), "APGAR MÉDICO", "APAGAR MÉDICO", "APAGAR MÉDICO");
}public StreamedContent downloadReportPdf() {
logger.debug("GERAR RELATORIO PDF");
InputStream stream = ReportService.getInstance().emiteRelatorioMedicos(getListaMedicos(), ReportService.FORMATO_PDF);
StreamedContent file = new DefaultStreamedContent(stream, "application/pdf", "report.pdf");
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("teste"));
return file;
}
[/code]
XHTML
<h:outputText value="Especialidade"/>
<h:selectOneMenu value = "#{medicoMB.medicos.fkEspecialidade}" >
<f:selectItem itemLabel = "SELECIONE" itemValue="" />
<f:selectItems value="#{medicoMB.listaEspecialidadeItems}"/>
</h:selectOneMenu>