package com.fp.armas.task;

import java.util.HashMap;
import java.util.Map;

import com.fp.persistence.commondb.PersistenceHelper;
import com.fp.persistence.parmas.param.TarmCentroControl;
import com.fp.persistence.parmas.param.TarmTramite;
import com.fp.persistence.parmas.soli.TarmSolicitud;
import com.fp.persistence.pgeneral.gene.TgeneCatalogDetail;
import com.fp.persistence.pgeneral.gene.TgeneCatalogDetailKey;
import com.fp.persistence.pgeneral.gene.TgeneParameters;
import com.fp.persistence.pgeneral.gene.TgeneParametersKey;
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 ObtienerCategoriaTramite 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("csolicitud");
        HashMap<String, Object> m = (HashMap<String, Object>) pParam;
        Map<String, Object> mrequest = (Map<String, Object>) m.get("request");
        
        if (mrequest.get("csolicitud") == null) {
            return;
        }
        TgeneParametersKey key= new TgeneParametersKey();
        key.setCode("CODIGO.CATEGORIA.IMPORTADOR");
        key.setCompanycode(1);
        TgeneParameters parameters= TgeneParameters.find(PersistenceHelper.getEntityManager(), key);
        String csolicitud=mrequest.get("csolicitud").toString();
        //datos del decomiso
        //consulta del centro de control
        TarmSolicitud solicitud=TarmSolicitud.find(PersistenceHelper.getEntityManager(), csolicitud);
        //lista de las armas decomisadas por el codigo de recepcion
        TarmTramite tarmTramite = PersistenceHelper.getEntityManager().
        														createQuery("select o from TarmTramite o where o.pk=:ctramite",TarmTramite.class)
        														.setParameter("ctramite", solicitud.getCtramite())
        														.getSingleResult();
        TgeneCatalogDetailKey pKey= new TgeneCatalogDetailKey();
        pKey.setCatalog(tarmTramite.getCategoria());
        pKey.setCatalogcode(tarmTramite.getCategoriacodigo());
        TgeneCatalogDetail catalogDetail=TgeneCatalogDetail.find(PersistenceHelper.getEntityManager(), pKey);
        if(catalogDetail.getPk().getCatalog().equals(parameters.getTextvalue())){
        	 m.put("importacion","A");
        }else{
        	 m.put("importacion","D");
        }
       
    }

}
