package com.fp.armas.task; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.persistence.EntityManager; import javax.persistence.Query; import com.fp.persistence.commondb.PersistenceHelper; import com.fp.persistence.parmas.soli.TarmDocumentoHabilitante; import com.fp.simple.action.TaskAction; public class FinalizarDocumentoHabilitante extends TaskAction { private EntityManager em; private static final String QUERY_DOCUMENTOS_ACTUALIZAR = "SELECT p from TarmDocumentoHabilitante p where p.ctramite in (SELECT o.ctramitepadre FROM TarmTramite o WHERE o.pk=:codigotramite) and p.estado <> 'FIN' order by p.fechaemision desc"; /* * (non-Javadoc) * * @see com.fp.simple.action.TaskAction#assignOwner(com.fp.dto.Request) */ @SuppressWarnings("unchecked") @Override public void assignOwner(Object pParam) throws Exception { HashMap m = (HashMap) pParam; Map mrequest = (Map) m.get("request"); if (mrequest.get("csolicitud") == null && mrequest.get("numerotransaccion") == null) { //mrequest.get("numerotransaccion") return; } em=PersistenceHelper.getEntityManager(); //String csolicitud = (String)mrequest.get("csolicitud"); Long ctramite = (Long)mrequest.get("numerotransaccion"); //TarmSolicitudTramiteKey codigoSolicitudKey = new TarmSolicitudTramiteKey(csolicitud, ctramite); //TarmSolicitudTramite solicitudTramite=TarmSolicitudTramite.find(em, codigoSolicitudKey); TarmDocumentoHabilitante documentoHabilitante= getCodigoDocumentoHabilitanteFinalizar(ctramite); // if(documentoHabilitante!=null){ // documentoHabilitante.setEstado("FIN"); // em.merge(documentoHabilitante); // em.flush(); // } } private TarmDocumentoHabilitante getCodigoDocumentoHabilitanteFinalizar(Long codigotramite) throws Exception{ //tanto el tag como el arma deben estar relacionados entre si, no se puede producir el caso en que un tag este relacionado con mas de un arma y viceversa TarmDocumentoHabilitante codigoDocumentohabilitanteActualizar = null; Query query = PersistenceHelper.getEntityManager().createQuery(QUERY_DOCUMENTOS_ACTUALIZAR); query.setParameter("codigotramite", codigotramite); List ltDocumentosHabilitantesSeleccionados = query.getResultList(); if(ltDocumentosHabilitantesSeleccionados != null && !ltDocumentosHabilitantesSeleccionados.isEmpty()){ codigoDocumentohabilitanteActualizar = ltDocumentosHabilitantesSeleccionados.get(0); } return codigoDocumentohabilitanteActualizar; } }