package com.fp.armas.task;

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.soli.TarmInspeccion;
import com.fp.simple.action.TaskAction;

/**
 * Clase que se encarga de validar si la inspeccion aprueba o niega el tramite
 * c.p
 * @version 2.1
 */
public class ValidaInspeccion extends TaskAction {

	private EntityManager em;
    /*
     * (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) { //mrequest.get("numerotransaccion")
            return;
        }
        em=PersistenceHelper.getEntityManager();
        String csolicitud = (String)mrequest.get("csolicitud");
        Long ctramite = (Long)mrequest.get("numerotransaccion");
        
        List<TarmInspeccion> inspeccionsList=em.createQuery("select o from TarmInspeccion o where o.csolicitud=:csolicitud and o.ctramite=:ctramite order by o.pk desc ")
        								.setParameter("csolicitud", csolicitud)
        								.setParameter("ctramite", ctramite)
        								.getResultList();
        System.out.println("Requiere Inspeccion :"+inspeccionsList);
        if(inspeccionsList!=null && inspeccionsList.size()>0){
        	if(inspeccionsList.get(0).getTramiteproceso()!=null ){
           	 m.put("tramiteproceso",inspeccionsList.get(0).getTramiteproceso());
           }else{
           	 m.put("tramiteproceso","N");
           }
        }
    }

}
