Estou fazendo uma aplicação simples de cadastro
onde possui o seguinte modelo
[code]
package modelo;
import java.util.Date;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
@SuppressWarnings(“serial”)
@Entity
@Table(name=“obri_aquisicao_servicos”, catalog = “lafs”)
public class AquisicaoServicos implements java.io.Serializable{
@Id
@GeneratedValue
private int id;
private String contratado_razao;
private String contratado_documento;
private String nf_numero;
private Date emissao;
private Double valor;
private Double retencoes_ir_3280;
private Double retencoes_ir_3208;
private Double retencoes_ir_1708;
private Double retencoes_ir_0561;
private Double retencoes_ir_8045;
private Double retencoes_ir_5952;
private Double previdencia_gps;
private Double municipio_iss;
private String obs_envio;
private Integer ano;
public AquisicaoServicos(int id, String contratado_razao,
String contratado_documento, String nf_numero, Date emissao,
Double valor, Double retencoes_ir_3280, Double retencoes_ir_3208,
Double retencoes_ir_1708, Double retencoes_ir_0561,
Double retencoes_ir_8045, Double retencoes_ir_5952,
Double previdencia_gps, Double municipio_iss, String obs_envio,
Integer ano, Cli cliente, Usuario usuario, Mes mes) {
super();
this.id = id;
this.contratado_razao = contratado_razao;
this.contratado_documento = contratado_documento;
this.nf_numero = nf_numero;
this.emissao = emissao;
this.valor = valor;
this.retencoes_ir_3280 = retencoes_ir_3280;
this.retencoes_ir_3208 = retencoes_ir_3208;
this.retencoes_ir_1708 = retencoes_ir_1708;
this.retencoes_ir_0561 = retencoes_ir_0561;
this.retencoes_ir_8045 = retencoes_ir_8045;
this.retencoes_ir_5952 = retencoes_ir_5952;
this.previdencia_gps = previdencia_gps;
this.municipio_iss = municipio_iss;
this.obs_envio = obs_envio;
this.ano = ano;
this.cliente = cliente;
this.usuario = usuario;
this.mes = mes;
}
public AquisicaoServicos() {
super();
}
@ManyToOne(cascade = CascadeType.PERSIST)
@JoinColumn(name="id_cliente",nullable=false)
private Cli cliente;
@ManyToOne(cascade = CascadeType.PERSIST)
@JoinColumn(name="id_usuario")
private Usuario usuario;
@ManyToOne(cascade = CascadeType.PERSIST)
@JoinColumn(name="id_mes", nullable=false)
private Mes mes;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getContratado_razao() {
return contratado_razao;
}
public void setContratado_razao(String contratado_razao) {
this.contratado_razao = contratado_razao;
}
public String getContratado_documento() {
return contratado_documento;
}
public void setContratado_documento(String contratado_documento) {
this.contratado_documento = contratado_documento;
}
public String getNf_numero() {
return nf_numero;
}
public void setNf_numero(String nf_numero) {
this.nf_numero = nf_numero;
}
public Date getEmissao() {
return emissao;
}
public void setEmissao(Date emissao) {
this.emissao = emissao;
}
public Double getValor() {
return valor;
}
public void setValor(Double valor) {
this.valor = valor;
}
public Double getRetencoes_ir_3280() {
return retencoes_ir_3280;
}
public void setRetencoes_ir_3280(Double retencoes_ir_3280) {
this.retencoes_ir_3280 = retencoes_ir_3280;
}
public Double getRetencoes_ir_3208() {
return retencoes_ir_3208;
}
public void setRetencoes_ir_3208(Double retencoes_ir_3208) {
this.retencoes_ir_3208 = retencoes_ir_3208;
}
public Double getRetencoes_ir_1708() {
return retencoes_ir_1708;
}
public void setRetencoes_ir_1708(Double retencoes_ir_1708) {
this.retencoes_ir_1708 = retencoes_ir_1708;
}
public Double getRetencoes_ir_0561() {
return retencoes_ir_0561;
}
public void setRetencoes_ir_0561(Double retencoes_ir_0561) {
this.retencoes_ir_0561 = retencoes_ir_0561;
}
public Double getRetencoes_ir_8045() {
return retencoes_ir_8045;
}
public void setRetencoes_ir_8045(Double retencoes_ir_8045) {
this.retencoes_ir_8045 = retencoes_ir_8045;
}
public Double getRetencoes_ir_5952() {
return retencoes_ir_5952;
}
public void setRetencoes_ir_5952(Double retencoes_ir_5952) {
this.retencoes_ir_5952 = retencoes_ir_5952;
}
public Double getPrevidencia_gps() {
return previdencia_gps;
}
public void setPrevidencia_gps(Double previdencia_gps) {
this.previdencia_gps = previdencia_gps;
}
public Double getMunicipio_iss() {
return municipio_iss;
}
public void setMunicipio_iss(Double municipio_iss) {
this.municipio_iss = municipio_iss;
}
public String getObs_envio() {
return obs_envio;
}
public void setObs_envio(String obs_envio) {
this.obs_envio = obs_envio;
}
public Integer getAno() {
return ano;
}
public void setAno(Integer ano) {
this.ano = ano;
}
public Cli getCliente() {
return cliente;
}
public void setCliente(Cli cliente) {
this.cliente = cliente;
}
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
public Mes getMes() {
return mes;
}
public void setMes(Mes mes) {
this.mes = mes;
}
}
[code]
no controle tentei de 2 formas, chamando cada componente da view em uma variavel especifica
para depois contruir o objeto para salvar no banco, e a outra, ja inserindos os dados no proprio objeto
da Classe “AquisicaoServicos”
segue o codigo da 2
package controle.cadastro;
import java.awt.event.ActionEvent;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import modelo.AquisicaoServicos;
import modelo.Cli;
import modelo.Mes;
import modelo.Usuario;
import org.primefaces.event.DateSelectEvent;
import dao.CliDAO;
import dao.MesDAO;
import dao.ObrigacoesDAO;
@ManagedBean(name="aquisicaoServicosControle")
@SessionScoped
public class Aquisicao_Servicos_Controle {
//listas
private List<Integer>anos = new ArrayList<Integer>();
private List<Mes>meses = new ArrayList<Mes>();
private List<Cli>clientes = new ArrayList<Cli>();
//obj daos
private CliDAO clienteDao = new CliDAO();
private MesDAO mesDao = new MesDAO();
private ObrigacoesDAO obrigacoesDao = new ObrigacoesDAO();
//obj que vai receber
private AquisicaoServicos aquisicao = new AquisicaoServicos();
private String tipoDocumento = "CNPJ";
private Date date = new Date();
public void handleDateSelect(DateSelectEvent event) {
FacesContext facesContext = FacesContext.getCurrentInstance();
SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
facesContext.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Data Selecionada", format.format(event.getDate())));
}
public void cadastrar(ActionEvent actionEvent) {
FacesContext context = FacesContext.getCurrentInstance();
context.addMessage(null, new FacesMessage("Cadastro Efetuado com Sucesso"));
}
@PostConstruct
public void inicializar(){
this.anos = obrigacoesDao.listarAnos();
this.meses = mesDao.listar();
this.clientes = clienteDao.listar();
this.aquisicao.setAno(0);
this.aquisicao.setCliente(new Cli());
this.aquisicao.setContratado_documento("");
this.aquisicao.setContratado_razao("");
this.aquisicao.setEmissao(new Date());
this.aquisicao.setMes(new Mes());
this.aquisicao.setMunicipio_iss(0.0);
this.aquisicao.setNf_numero("");
this.aquisicao.setObs_envio("");
this.aquisicao.setPrevidencia_gps(0.0);
this.aquisicao.setRetencoes_ir_0561(0.0);
this.aquisicao.setRetencoes_ir_1708(0.0);
this.aquisicao.setRetencoes_ir_3208(0.0);
this.aquisicao.setRetencoes_ir_3280(0.0);
this.aquisicao.setRetencoes_ir_5952(0.0);
this.aquisicao.setRetencoes_ir_8045(0.0);
this.aquisicao.setUsuario(new Usuario());
this.aquisicao.setValor(0.0);
}
public List<Integer> getAnos() {
return anos;
}
public void setAnos(List<Integer> anos) {
this.anos = anos;
}
public List<Mes> getMeses() {
return meses;
}
public void setMeses(List<Mes> meses) {
this.meses = meses;
}
public List<Cli> getClientes() {
return clientes;
}
public void setClientes(List<Cli> clientes) {
this.clientes = clientes;
}
public AquisicaoServicos getAquisicao() {
return aquisicao;
}
public void setAquisicao(AquisicaoServicos aquisicao) {
this.aquisicao = aquisicao;
}
public String getTipoDocumento() {
return tipoDocumento;
}
public void setTipoDocumento(String tipoDocumento) {
this.tipoDocumento = tipoDocumento;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
}
segue a viu do cadastro
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:pe="http://primefaces.org/ui/extensions">
<h:head >
<title>Cadastro de Obrigacoes</title>
<meta http-equiv="refresh" content="#{session.maxInactiveInterval};url=./../../index.html" />
</h:head>
<h:body>
<h:form id="form">
<p:panelGrid >
<f:facet name="header">
<p:row >
<p:column colspan="6">Cadastro das Aquisições de Serviços</p:column>
</p:row>
</f:facet>
<p:row>
<p:column colspan="2" rowspan="2">
<h:outputText value="Ano:" />
<p:spacer width="10" height="0"/>
<p:selectOneMenu height="350" value="#{aquisicaoServicosControle.aquisicao.ano}" panelStyle="width:10%;height:10%">
<f:selectItem itemLabel="Selecione um.." />
<f:selectItems value="#{aquisicaoServicosControle.anos}" var="ano" itemLabel="#{ano}" itemValue="#{ano}"/>
</p:selectOneMenu>
<p:separator/>
<h:outputText value="Mes:" />
<p:spacer width="10" height="0"/>
<p:selectOneMenu height="380" value="#{aquisicaoServicosControle.aquisicao.mes}">
<f:selectItem itemLabel="Selecione um.." />
<f:selectItems value="#{aquisicaoServicosControle.meses}" var="mes" itemLabel="#{mes.nome}" itemValue="#{mes.id}" />
</p:selectOneMenu>
</p:column>
</p:row>
<p:row>
<p:column colspan="4" >
<h:outputLabel value="Cliente:" for="selectonemenucliente"/>
<p:spacer width="10" height="0" />
<p:selectOneMenu id="selectonemenucliente" value="#{aquisicaoServicosControle.aquisicao.cliente}" >
<f:selectItem itemLabel="Selecione um.." />
<f:selectItems value="#{aquisicaoServicosControle.clientes}"
var="cliente" itemLabel="#{cliente.razao}" itemValue="#{cliente.cod}"/>
</p:selectOneMenu>
</p:column>
</p:row>
<p:row>
<p:column colspan="6">
<h:outputLabel value="Razão do Contratado:" for="razao_contratado" />
<p:spacer width="10" height="0" />
<p:inputText id="razao_contratado" size="50" required="true" value="#{aquisicaoServicosControle.aquisicao.contratado_razao}"/>
</p:column>
</p:row>
<p:row>
<p:column colspan="2" rowspan="2">
<p:selectOneRadio value="#{aquisicaoServicosControle.tipoDocumento}">
<f:selectItem itemLabel="CNPJ" itemValue="CNPJ" />
<f:selectItem itemLabel="CPF" itemValue="CPF" />
<f:selectItem itemLabel="PIS" itemValue="PIS" />
<f:selectItem itemLabel="Outros" itemValue="OUTROS" />
<p:ajax event="change" update=":form:mascaraTipoDocumento"/>
</p:selectOneRadio>
<h:panelGroup id="mascaraTipoDocumento">
<p:inputMask value="#{aquisicaoServicosControle.aquisicao.contratado_documento}" rendered="#{aquisicaoServicosControle.tipoDocumento eq 'CNPJ'}" mask="99.999.999/9999-99" />
<p:inputMask value="#{aquisicaoServicosControle.aquisicao.contratado_documento}" rendered="#{aquisicaoServicosControle.tipoDocumento eq 'CPF'}" mask="999.999.999-99" />
<p:inputMask value="#{aquisicaoServicosControle.aquisicao.contratado_documento}" rendered="#{aquisicaoServicosControle.tipoDocumento eq 'PIS'}" mask="999.999.999-**" />
<p:inputMask value="#{aquisicaoServicosControle.aquisicao.contratado_documento}" rendered="#{aquisicaoServicosControle.tipoDocumento eq 'OUTROS'}"/>
</h:panelGroup>
</p:column>
</p:row>
<p:row>
<p:column colspan="2">
<h:outputLabel value="Numero da Nota:" for="nf_numero" />
<p:spacer width="10" height="0" />
<p:inputText id="nf_numero" size="10" value="#{aquisicaoServicosControle.aquisicao.nf_numero}"/>
</p:column>
<p:column colspan="2">
<h:outputLabel value="Valor:" for="valor" />
<p:spacer width="10" height="0" />
<pe:inputNumber id="valor" value="#{aquisicaoServicosControle.aquisicao.valor}" symbol="R$ "
/>
</p:column>
</p:row>
<p:row>
<p:column colspan="6">
<h:outputLabel value="Data de Emissão:" for="calendario" />
<p:spacer width="10" height="0" />
<p:calendar id="calendario" value="#{aquisicaoServicosControle.date}" showOn="button" />
</p:column>
</p:row>
<p:row>
<p:column colspan="6" styleClass="ui-widget-header" style="text-align:center;">
<h:outputText value="Darf's Retenções Gerados" />
</p:column>
</p:row>
<p:row>
<p:column colspan="1">
<h:outputLabel value="IR 0561:" for="retencoes_ir_0561" />
<p:spacer width="10" height="0" />
<pe:inputNumber id="retencoes_ir_0561" value="#{aquisicaoServicosControle.aquisicao.retencoes_ir_0561}" symbol="R$ "
validatorMessage="The value must be greater than 50.00"/>
</p:column>
<p:column colspan="1">
<h:outputLabel value="IR 1708:" for="retencoes_ir_1708" />
<p:spacer width="10" height="0" />
<pe:inputNumber id="retencoes_ir_1708" value="#{aquisicaoServicosControle.aquisicao.retencoes_ir_1708}" symbol="R$ "
validatorMessage="The value must be greater than 50.00"/>
</p:column>
<p:column colspan="1">
<h:outputLabel value="IR 3208:" for="retencoes_ir_3208" />
<p:spacer width="10" height="0" />
<pe:inputNumber id="retencoes_ir_3208" value="#{aquisicaoServicosControle.aquisicao.retencoes_ir_3208}" symbol="R$ "
validatorMessage="The value must be greater than 50.00"/>
</p:column>
<p:column colspan="1">
<h:outputLabel value="IR 3280:" for="retencoes_ir_3280" />
<p:spacer width="10" height="0" />
<pe:inputNumber id="retencoes_ir_3280" value="#{aquisicaoServicosControle.aquisicao.retencoes_ir_3280}" symbol="R$ "
validatorMessage="The value must be greater than 50.00"/>
</p:column>
<p:column colspan="1">
<h:outputLabel value="IR 5952:" for="retencoes_ir_5952" />
<p:spacer width="10" height="0" />
<pe:inputNumber id="retencoes_ir_5952" value="#{aquisicaoServicosControle.aquisicao.retencoes_ir_5952}" symbol="R$ "
validatorMessage="The value must be greater than 50.00"/>
</p:column>
<p:column colspan="1">
<h:outputLabel value="IR 8045:" for="retencoes_ir_8045" />
<p:spacer width="10" height="0" />
<pe:inputNumber id="retencoes_ir_8045" value="#{aquisicaoServicosControle.aquisicao.retencoes_ir_8045}" symbol="R$ "
validatorMessage="The value must be greater than 50.00"/>
</p:column>
</p:row>
<p:row>
<p:column colspan="1" styleClass="ui-widget-header" style="text-align:center;">
<h:outputText value="Município" />
</p:column>
<p:column colspan="1" styleClass="ui-widget-header" style="text-align:center;">
<h:outputText value="Previdência"/>
</p:column>
<p:column colspan="4" styleClass="ui-widget-header" style="text-align:center;">
<h:outputText value="Observação de Envio"/>
</p:column>
</p:row>
<p:row>
<p:column colspan="1">
<h:outputLabel value="ISS:" for="municipio_iss" />
<p:spacer width="10" height="0" />
<pe:inputNumber id="municipio_iss" value="#{aquisicaoServicosControle.aquisicao.municipio_iss}" symbol="R$ "
validatorMessage="The value must be greater than 50.00"/>
</p:column>
<p:column colspan="1">
<h:outputLabel value="GPS:" for="previdencia_gps" />
<p:spacer width="10" height="0" />
<pe:inputNumber id="previdencia_gps" value="#{aquisicaoServicosControle.aquisicao.previdencia_gps}" symbol="R$ "
validatorMessage="The value must be greater than 50.00"/>
</p:column>
<p:column colspan="4">
<p:inputTextarea autoResize="false"
maxlength="250" rows="1" cols="110"
value="#{aquisicaoServicosControle.aquisicao.obs_envio}"/>
</p:column>
</p:row>
<p:row>
<p:column colspan="6" style="align:center">
<div align="center">
<p:commandButton value="Cadastrar" label="Cadastrar" oncomplete="dlg.show()"
update=":formdialogo:display" />
</div>
</p:column>
</p:row>
</p:panelGrid>
</h:form>
<h:form id="formdialogo">
<p:dialog widgetVar="dlg" id="dlgconfirmacao" position="top">
<p:panelGrid columns="2" id="display">
<h:outputText value="Voce tem certeza sobre este cadastro?" />
<h:outputText value="" />
<h:outputText value="Ano :" />
<h:outputText value="#{aquisicaoServicosControle.aquisicao.ano}" />
<h:outputText value="Cliente :" />
<h:outputText value="#{aquisicaoServicosControle.aquisicao.cliente}" />
<h:outputText value="Mes :" />
<h:outputText value="#{aquisicaoServicosControle.aquisicao.mes}" />
<h:outputText value="Valor :" />
<h:outputText value="#{aquisicaoServicosControle.aquisicao.valor}" />
</p:panelGrid>
</p:dialog>
</h:form>
</h:body>
</html>
quando tento visualizar para ter a validação dos dados, sempre me aparece vazio, com o valor da inicialização
pretendo vizualizar em um dialog primeiro para depois chamar o método de cadastro
alguma ideia?