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.TarmDecomiso; 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 fijar el codigo de empleado asociado a la solicitud en el request campo userId, para asignar * una tarea. * * @version 2.1 */ public class ActualizarInventario extends TaskAction { /* * (non-Javadoc) * * @see com.fp.simple.action.TaskAction#assignOwner(com.fp.dto.Request) */ @SuppressWarnings("unchecked") @Override public void assignOwner(Object pParam) throws Exception { System.out.println("ingresa a actualizar a la clase"); HashMap m = (HashMap) pParam; Map mrequest = (Map) m.get("request"); if (mrequest.get("numerotransaccion") == null) { return; } Long numeroTransacion=Long.parseLong(mrequest.get("numerotransaccion").toString()); //datos de la transaccion TarmDecomisoArmaTransaccion tarmDecomisoArmaTransaccion=TarmDecomisoArmaTransaccion.find(PersistenceHelper.getEntityManager(), numeroTransacion); //lista de las armas decomisadas por el codigo de recepcion List tarmDecomisoArmaTransaccionList= PersistenceHelper.getEntityManager(). createQuery("select o from TarmDecomisoArma o where o.cdecarmtranrecepcion=:cdecarmtranrecepcion") .setParameter("cdecarmtranrecepcion", numeroTransacion) .getResultList(); //se recorre la lista de las armas decomisadas for(TarmDecomisoArma decomisoArma:tarmDecomisoArmaTransaccionList){ //se busca l tabla de decomiso para actualizar el campo del centro de control que esta recibiendo las armas TarmDecomiso decomiso= TarmDecomiso.find(PersistenceHelper.getEntityManager(), decomisoArma.getCdecomiso()); decomiso.setCcentrocontroldestino(tarmDecomisoArmaTransaccion.getCcentrocontrol()); PersistenceHelper.getEntityManager().merge(decomiso); } PersistenceHelper.getEntityManager().flush(); } }