Normalização

Pessoal

Toda vez que vou salvar, ele cria um novo registro na tabela item_x_requiscao… Ate ai tudo bem… Mas eu preciso q
o codigoRequisicao seja igual… Nao sei como fazer isso

o a parte q serve p pegar o codigoRequisicao eh essa aqui:

 // Pega codigo da requisicao
Requisicao codigoRequisicaoAtual = requisicaoRN.buscarCodigoPendente(requisicao.getCodigo());
System.out.println("Codigo requisicao:" +codigoRequisicaoAtual);
itemRequisicao.setRequisicao(codigoRequisicaoAtual);
itemRequisicaoRN.salvar(itemRequisicao);

Página:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core">

<ui:composition template="/templates/interna.xhtml">
	<ui:define name="titulo">
Nova Requisição
</ui:define>
	<ui:define name="corpo">
		<h:form id="cadastro">
			<h:messages />
			<br/>
			
				
				<h:outputText value="Item:"/>  
				&nbsp;
        		<h:selectOneMenu id="selecioneitem" value ="#{itemBean.itemm}">
 				<f:selectItem itemLabel="Selecione" itemValue=""/>  
 				<f:selectItems 
 					value="#{itemBean.itens}"
 					var ="itens"
					itemValue="#{itens}"
					itemLabel="#{itens}"/>
				</h:selectOneMenu>		
				<br/>
				<br/>
				<h:outputLabel value="Quantidade:" for="qntsoli" />
				<h:inputText id="qntsoli" label="Quantidade"
					value="#{requisicaoBean.qntSoli}" required="true" />
				<br/>
				<br/>
				<br/>
				<br/>
				<h:commandButton action="#{requisicaoBean.salvar}" value="Salvar" />
		
		</h:form>
	</ui:define>
</ui:composition>
</html>

Meu metodo Salvar:

public String salvar() {	
		
		ContextoBean contextoBean = ContextoUtil.getContextoBean();  
        FacesContext context = FacesContext.getCurrentInstance(); 
       
		UsuarioRN usuarioRN = new UsuarioRN();
		RequisicaoRN requisicaoRN = new RequisicaoRN();
		ItemRN itemRN = new ItemRN();
		ItemRequisicaoRN itemRequisicaoRN = new ItemRequisicaoRN();
		StatusRN statusRN = new StatusRN();
		ItemRequisicao itemRequisicao = new ItemRequisicao();
		
		/*
		 * Salvando na tabela requisicao
		 */
		
		//pega objeto usuario (usuarioLogado)
		Usuario usuarioLogado=  usuarioRN.buscarPorLogin(contextoBean.getUsuarioLogado().getLogin()); //getUsuarioLogado
		System.out.println("objeto usuario:  " + usuarioLogado);
		requisicao.setUsuario(usuarioLogado);
	
		//Nova requisicao -> codigoStatus sempre = 1
		 codigoPendente = "pendente";
		 Status codigoStatus = statusRN.buscarPorNome(getCodigoPendente());
		 System.out.println(getCodigoPendente());
		 requisicao.setStatus(codigoStatus);
		
		 //GetDatahora do computador do cliente
		 Locale locale = new Locale("pt","BR"); 
		 GregorianCalendar calendar = new GregorianCalendar(); 
		 SimpleDateFormat formatador = new SimpleDateFormat("dd' de 'MMMMM' de 'yyyy' - 'HH':'mm'h'",locale); 
		 String df = formatador.format(calendar.getTime());
		 System.out.println(formatador.format(calendar.getTime())); 
		 requisicao.setDataHora(df);
		 requisicaoRN.salvar(requisicao);
		 
		/*
		 * Salvando na tabela item_x_requisicao
		 */
		 
		//pega objeto item (item selecionado)
		Item  itemSelecionado= itemRN.buscarItem(itemBean.getItemm());
		System.out.println(itemSelecionado);
		itemRequisicao.setItem(itemSelecionado);
		
		 // Pega codigo da requisicao
		 Requisicao codigoRequisicaoAtual = requisicaoRN.buscarCodigoPendente(requisicao.getCodigo());
		 System.out.println("Codigo requisicao:" +codigoRequisicaoAtual);
		 itemRequisicao.setRequisicao(codigoRequisicaoAtual);
		 itemRequisicaoRN.salvar(itemRequisicao);
		 
		 itemRequisicao.setQuantidadeSolicitada(qntSoli);
	   	
		return "this.destinoSalvar";
	}

Obrigado :slight_smile: