package com.fp.armas.task.traspasodominio;

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

import javax.persistence.EntityManager;

import com.fp.armas.rules.exception.ControlArmasException;
import com.fp.persistence.commondb.PersistenceHelper;
import com.fp.persistence.parmas.fun.TarmVentaArmaTem;
import com.fp.persistence.parmas.soli.TarmArmas;
import com.fp.simple.action.TaskAction;

/**
 * 
 * @version 2.1
 */
public class TraspasoDominioAnula 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 {
    	EntityManager em=PersistenceHelper.getEntityManager();
    	System.out.println("Ingresa a traspaso dominio");
        HashMap<String, Object> m = (HashMap<String, Object>) pParam;
        Map<String, Object> mrequest = (Map<String, Object>) m.get("request");
        if (mrequest.get("csolicitud") == null) {
        	m.put("grupo",null);
        	throw new ControlArmasException("BPM-0014", "SIN CODIGO", "");
        }
        String csolicitud=mrequest.get("csolicitud").toString();
        TarmArmas arma= TarmArmas.find(em, csolicitud);
        List<TarmVentaArmaTem>listaventa= em.createQuery("select p from TarmVentaArmaTem p where p.carma=:carma and p.estado=:estado")
        		.setParameter("carma", arma.getPk())
        		.setParameter("estado", "PENDIENTE")
        		.getResultList();
		for (TarmVentaArmaTem item : listaventa) {
			item.setEstado("RECHAZADO");
			em.merge(item);
		}
		arma.setEstadoventa(null);
		em.merge(arma);
    }

}
