* @throws ECARException
*/
public void salvar(ItemEstrtBenefIettb itemEstruturaBeneficiario)
throws ECARException {
ItemEstrtBenefIettb itemEstruturaBeneficiarioConsultado = null;
try {
itemEstruturaBeneficiarioConsultado = buscar(itemEstruturaBeneficiario.getItemEstruturaIett().getCodIett(), itemEstruturaBeneficiario.getBeneficiarioBnf().getCodBnf());
} catch (ECARException ecarex) {
if (!(ecarex.getCausaRaiz() instanceof ObjectNotFoundException)){
throw ecarex;
}
}
//O benefici�rio nunca foi cadastrado para o item.
if (itemEstruturaBeneficiarioConsultado == null) {
itemEstruturaBeneficiario.atribuirPKPai();
super.salvar(itemEstruturaBeneficiario);
} else if (itemEstruturaBeneficiarioConsultado.getIndExclusaoPosHistorico() == null || !itemEstruturaBeneficiarioConsultado.getIndExclusaoPosHistorico()){ // O Beneficiario j� existe e est� ativo deve levantar erro de tentativa de cadastro duplicado
throw new ECARException("itemEstrutura.beneficiario.inclusao.jaExiste");
} else if (itemEstruturaBeneficiarioConsultado.getIndExclusaoPosHistorico()){//O Beneficiario j� existe e N�O est� ativo, portanto deve atualiz�-lo e ativ�-lo.
itemEstruturaBeneficiarioConsultado.setIndExclusaoPosHistorico(false);
itemEstruturaBeneficiarioConsultado.setComentarioIettb(itemEstruturaBeneficiario.getComentarioIettb());
itemEstruturaBeneficiarioConsultado.setDataUltManutencaoIettb(itemEstruturaBeneficiario.getDataUltManutencaoIettb());
itemEstruturaBeneficiarioConsultado.setQtdPrevistaIettb(itemEstruturaBeneficiario.getQtdPrevistaIettb());
itemEstruturaBeneficiarioConsultado.setUsuarioUsuManutencao(itemEstruturaBeneficiario.getUsuarioUsuManutencao());
super.alterar(itemEstruturaBeneficiarioConsultado);
}
}