maia/.svn/pristine/32/32600b7caa52c8342b8371748a0...

78 lines
3.4 KiB
Plaintext
Executable File

package com.fp.armas.task;
import java.sql.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.persistence.EntityManager;
import com.fp.persistence.commondb.PersistenceHelper;
import com.fp.persistence.parmas.param.TarmTramite;
import com.fp.persistence.parmas.soli.TarmArmas;
import com.fp.persistence.parmas.soli.TarmDocumentoHabilitante;
import com.fp.persistence.parmas.soli.TarmSolicitudArmas;
import com.fp.persistence.parmas.soli.TarmSolicitudTramite;
import com.fp.persistence.parmas.soli.TarmSolicitudTramiteKey;
import com.fp.persistence.pgeneral.gene.TgeneCatalogDetail;
import com.fp.sessionbeans.helper.Sequence;
import com.fp.simple.action.TaskAction;
/**
* Clase que se encarga de fijar el codigo del tipo de archivo
*
* @version 2.1
*/
public class FechaCaducidadEstadoArma 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 {
HashMap<String, Object> m = (HashMap<String, Object>) pParam;
Map<String, Object> mrequest = (Map<String, Object>) m.get("request");
if (mrequest.get("csolicitud") == null || mrequest.get("numerotransaccion") == null) {
return;
}
EntityManager em = PersistenceHelper.getEntityManager();
TarmSolicitudTramiteKey codigoSolicitudKey = new TarmSolicitudTramiteKey();
codigoSolicitudKey.setCsolicitud(mrequest.get("csolicitud").toString());
codigoSolicitudKey.setCtramite(Long.valueOf(mrequest.get("numerotransaccion").toString()));
TarmSolicitudTramite solicitudTramite=TarmSolicitudTramite.find(em, codigoSolicitudKey);
TarmTramite tramite = TarmTramite.find(em, solicitudTramite.getPk().getCtramite());
if(!tramite.getTipoautorizacion().equals("6")){// diferente 6 TIPOAUTORIZACION 0 PERMISO
return;
}
System.out.println("select o from TarmDocumentoHabilitante o where o.csolicitud=:csolicitud" + mrequest.get("csolicitud").toString());
List<TarmDocumentoHabilitante> documentoHab= em.createQuery("select o from TarmDocumentoHabilitante o where o.csolicitud=:csolicitud",TarmDocumentoHabilitante.class)
.setParameter("csolicitud", mrequest.get("csolicitud").toString()).
getResultList();
System.out.println("............................"+documentoHab.size());
List<TarmArmas> tarmArmas = em.
createQuery("select o from TarmArmas o where o.pk in (select p.pk.carma from TarmSolicitudArmas p where p.pk.csolicitud=:csolicitud)",TarmArmas.class)
.setParameter("csolicitud",mrequest.get("csolicitud").toString())
.getResultList();
System.out.println("............................"+tarmArmas.size());
for(TarmArmas arma:tarmArmas){
arma.setPk(this.getCodigoArma());
arma.setFechacaducidad(documentoHab.get(0).getFechaexpiracion());
arma.setFecharegistro(new Date(System.currentTimeMillis()));
em.clear();
em.persist(arma);
em.flush();
}
}
private String getCodigoArma() throws Exception{
Sequence sequence = new Sequence();
String carma = sequence.getNextValue("CARMA").toString();
return carma;
}
}