maia/.svn/pristine/1e/1ea1996565a6402a572d630557a...

94 lines
4.2 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.inte.TarmColadeImpresion;
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.TarmSolicitudTramite;
import com.fp.persistence.parmas.soli.TarmSolicitudTramiteKey;
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");
System.out.println("SOLICITUD : "+mrequest.get("csolicitud"));
System.out.println("NUMERO DE TRANSACCION: "+mrequest.get("numerotransaccion"));
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 (TarmDocumentoHabilitante itemDocHab : documentoHab) {
StringBuilder sqlColaImpresion= new StringBuilder("select c from TarmColadeImpresion c where c.cdocumento ="+itemDocHab.getPk());
List<TarmColadeImpresion>listaColaImpresion= em.createQuery(sqlColaImpresion.toString(),TarmColadeImpresion.class).getResultList();
if(listaColaImpresion!=null && listaColaImpresion.size()>0){
for (TarmColadeImpresion itemColaImp : listaColaImpresion) {
itemColaImp.setEstadoimpresion("PIMPR");
itemColaImp.setEstadoimpresioncode("ESTADOIMPRESION");
em.merge(itemColaImp);
em.flush();
}
}
}
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;
}
}