* @param usuario
* @throws ECARException
*/
public void salvar(Long codCriterio, Long codItemEstrutura, UsuarioUsu usuario ) throws ECARException {
ItemEstrutCriterioIettc itemEstruturaCriterio = null;
try {
itemEstruturaCriterio = this.buscar(codItemEstrutura, codCriterio);
} catch (ECARException ecarex) {
if (!(ecarex.getCausaRaiz() instanceof ObjectNotFoundException)){
throw ecarex;
}
}
//O Criterio nunca foi cadastrado para o item
if (itemEstruturaCriterio == null) {
ItemEstrutCriterioIettcPK pk = new ItemEstrutCriterioIettcPK();
pk.setCodCri(codCriterio);
pk.setCodIett(codItemEstrutura);
ItemEstrutCriterioIettc ieCriterio = new ItemEstrutCriterioIettc();
ieCriterio.setComp_id(pk);
ieCriterio.setCriterioCri((CriterioCri) super.buscar(CriterioCri.class, codCriterio));
ieCriterio.setItemEstruturaIett((ItemEstruturaIett) super.buscar(ItemEstruturaIett.class, codItemEstrutura));
ieCriterio.setDataUltManutencao(Data.getDataAtual());
ieCriterio.setUsuManutencao(usuario);
super.salvar(ieCriterio);
} else if (!itemEstruturaCriterio.getIndExclusaoPosHistorico()){ // O Criterio j� existe e est� ativo deve levantar erro de tentativa de cadastro duplicado
throw new ECARException("itemEstrutura.criterio.inclusao.jaExiste");
} else if (itemEstruturaCriterio.getIndExclusaoPosHistorico()){//O Criterio j� existe e N�O est� ativo deve apenas ativ�-lo