/*
* Criado em 17/12/2004
*
*/
package ecar.dao;
import java.util.ArrayList;
import java.util.Iterator;
import javax.servlet.http.HttpServletRequest;
import org.hibernate.HibernateException;
import org.hibernate.Transaction;
import comum.database.Dao;
import comum.util.Data;
import comum.util.Pagina;
import ecar.exception.ECARException;
import ecar.pojo.ItemEstrutAcaoIetta;
import ecar.pojo.ItemEstruturaIett;
import ecar.pojo.UsuarioUsu;
import ecar.util.Dominios;
/**
* @author felipev
*
*/
public class ItemEstruturaAcaoDao extends Dao {
/**
*
* @param request
*/
public ItemEstruturaAcaoDao(HttpServletRequest request) {
super();
this.request = request;
}
/**
* Cria um objeto itemEstruturaBeneficiario a partir de par�metros passados
* no objeto request
*
* @param request
* @param itemEstruturaAcao
* @throws ECARException
*/
public void setItemEstruturaAcao(HttpServletRequest request,
ItemEstrutAcaoIetta itemEstruturaAcao) throws ECARException {
ItemEstruturaIett itemEstrutura = (ItemEstruturaIett) this.buscar(
ItemEstruturaIett.class, Long.valueOf(Pagina.getParamStr(
request, "codIett")));
itemEstruturaAcao.setItemEstruturaIett(itemEstrutura);
itemEstruturaAcao.setDataIetta(Pagina.getParamDataBanco(request,
"dataIetta"));
itemEstruturaAcao.setDescricaoIetta(Pagina.getParamStr(request,
"descricaoIetta"));
itemEstruturaAcao.setIndAtivoIetta(Pagina.getParamStr(request,
"indAtivoIetta"));
String codUsu = Pagina.getParamStr(request,"Usuario");
UsuarioUsu usuario = (UsuarioUsu) new UsuarioDao(request).buscar(UsuarioUsu.class, Long.valueOf(codUsu));
itemEstruturaAcao.setUsuarioUsu(usuario);
}
/**
* Grava uma a��o
*
* @param itemEstruturaAcao
* @param usuario
* @throws ECARException
*/
public void salvar(ItemEstrutAcaoIetta itemEstruturaAcao, UsuarioUsu usuario) throws ECARException {
itemEstruturaAcao.setDataInclusaoIetta(Data.getDataAtual());
itemEstruturaAcao.setUsuarioUsu(usuario);
super.salvar(itemEstruturaAcao);
}
/**
* Recebe um array de c�digos de ItemEstruturaAcao e exclui os registro
* referenciados por estes c�digos
*
* @param codigosParaExcluir
* @param usuario
* @throws ECARException
*/
public void excluir(String[] codigosParaExcluir, UsuarioUsu usuario) throws ECARException {
Transaction tx = null;
try{
ArrayList objetos = new ArrayList();
super.inicializarLogBean();
tx = session.beginTransaction();
for (int i = 0; i < codigosParaExcluir.length; i++) {
ItemEstrutAcaoIetta itemEstruturaAcao = (ItemEstrutAcaoIetta) this
.buscar(ItemEstrutAcaoIetta.class, Long
.valueOf(codigosParaExcluir[i]));
itemEstruturaAcao.setUsuarioUsuManutencao(usuario);
itemEstruturaAcao.setIndAtivoIetta(Dominios.NAO);
itemEstruturaAcao.setIndExclusaoPosHistorico(Boolean.TRUE);
session.update(itemEstruturaAcao);
objetos.add(itemEstruturaAcao);
}
tx.commit();
if(super.logBean != null) {
super.logBean.setCodigoTransacao(Data.getHoraAtual(false));
super.logBean.setOperacao("EXC");
Iterator itObj = objetos.iterator();
while(itObj.hasNext()) {
super.logBean.setObj(itObj.next());
super.loggerAuditoria.info(logBean.toString());
}
}
} catch (HibernateException e) {
if (tx != null)
try {
tx.rollback();
} catch (HibernateException r) {
this.logger.error(r);
throw new ECARException("erro.hibernateException");
}
this.logger.error(e);
throw new ECARException("erro.hibernateException");
}
}
/**
*
* @param obj
* @param usuario
* @throws ECARException
*/
public void alterar(ItemEstrutAcaoIetta obj, UsuarioUsu usuario) throws ECARException {
obj.setUsuarioUsuManutencao(usuario);
super.alterar(obj);
}
}