maia_modificado/.svn/pristine/31/31c4efa67657fdd99858265193e...

68 lines
2.4 KiB
Plaintext
Executable File

package com.fp.armas.task;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.fp.persistence.commondb.PersistenceHelper;
import com.fp.persistence.parmas.soli.TarmBodega;
import com.fp.persistence.parmas.soli.TarmDecomisoArma;
import com.fp.persistence.parmas.soli.TarmDecomisoArmaTransaccion;
import com.fp.simple.action.TaskAction;
/**
* Clase que se encarga de setear a nulos aquellas armas que recibieron asignacion de codigos
*
*/
public class RechazarActa extends TaskAction {
private static String SQL = "select o from TarmBodega o where o.pk in (select max(t.pk) from TarmBodega t where t.carma=:ccarma and t.ccentrocontrol=:ccentrocontrol) order by o.carma";
/*
* (non-Javadoc)
*
* @see com.fp.simple.action.TaskAction#assignOwner(com.fp.dto.Request)
*/
@SuppressWarnings("unchecked")
@Override
public void assignOwner(Object pParam) throws Exception {
HashMap<String, Object> m = (HashMap<String, Object>) pParam;
Map<String, Object> mrequest = (Map<String, Object>) m.get("request");
Long numeroTransacion=Long.parseLong(mrequest.get("numerotransaccion").toString());
if (numeroTransacion == null) {
return;
}
List<TarmDecomisoArma> lstDecomisoArma = PersistenceHelper.getEntityManager().
createQuery("select o from TarmDecomisoArma o where o.cdecomisoarmatransaccion=:decomiso",TarmDecomisoArma.class)
.setParameter("decomiso", numeroTransacion).getResultList();
for(TarmDecomisoArma decomisoArma:lstDecomisoArma){
bodegaEliminar(numeroTransacion, decomisoArma.getCarma());
decomisoArma.setCdecomisoarmatransaccion(null);
PersistenceHelper.saveOrUpdate(decomisoArma);
}
}
/**
* @param ccentrocontrol
* @param decomisoArma
*/
private void bodegaEliminar(Long numeroTransacion,
String carma) throws Exception {
TarmDecomisoArmaTransaccion tarmDecomisoArmaTransaccion = TarmDecomisoArmaTransaccion
.find(PersistenceHelper.getEntityManager(), numeroTransacion);
String ccentrocontrol = tarmDecomisoArmaTransaccion.getCcentrocontrol();
TarmBodega tarmBodegas = (TarmBodega) PersistenceHelper
.getEntityManager().createQuery(SQL)
.setParameter("ccentrocontrol", ccentrocontrol)
.setParameter("ccarma", carma)
.getSingleResult();
PersistenceHelper.getEntityManager().remove(tarmBodegas);
PersistenceHelper.getEntityManager().flush();
}
}