package com.fp.armas.task; import java.util.HashMap; import java.util.Map; import javax.persistence.EntityManager; import org.apache.commons.lang.StringUtils; import com.fp.armas.rules.exception.ControlArmasException; import com.fp.persistence.commondb.PersistenceHelper; import com.fp.persistence.pbpm.gene.TbpmGroups; import com.fp.persistence.pbpm.gene.TbpmGroupsKey; import com.fp.persistence.pgeneral.gene.TgeneParameters; import com.fp.persistence.pgeneral.gene.TgeneParametersKey; import com.fp.persistence.pgeneral.gene.TgeneProvince; import com.fp.persistence.pgeneral.gene.TgeneProvinceKey; import com.fp.simple.action.TaskAction; /** * Clase que se encarga de buscar el grupo para asignar la tarea * una tarea. * * @version 2.1 */ public class ValidacionGrupoDecRecep 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 validar el grupo recepcion"); HashMap m = (HashMap) pParam; Map mrequest = (Map) m.get("request"); if (mrequest.get("cprovincia") == null) { m.put("grupo",null); throw new ControlArmasException("BPM-0014", "SIN PROVINCIA", ""); } String cprovince=mrequest.get("cprovincia").toString(); TgeneParameters paramDepartamentoControl=TgeneParameters.find(em, new TgeneParametersKey("CODIGO.DEPT.CONTROL", 1));//DPCA System.out.println("Parametro codigo del departamento "+paramDepartamentoControl.getTextvalue()+ " codigo de la provincia"+cprovince); if(cprovince.equals(paramDepartamentoControl.getTextvalue())){ //maia.put("grupo","TEC_ALM_CENTRO_"); m.put("grupo","JEFE_DEPARTAMENTO_ARMAS_"); System.out.println("...................GRUPO . "+m.get("grupo")); System.out.println("csolicitud "+mrequest.get("csolicitud")); System.out.println("cdecomiso "+mrequest.get("cdecomiso")); return; } TgeneProvince province= TgeneProvince.find(em, new TgeneProvinceKey("EC", cprovince)); if(province!=null && province.getPk()!=null){ System.out.println(" PROVINCIA "+obtieneNombreLimpio(province.getDescription())); //se setea al grupo asignado m.put("grupo",m.get("grupo")+obtieneNombreLimpio(province.getDescription())); TbpmGroups groups= TbpmGroups.find(em, new TbpmGroupsKey(m.get("grupo").toString(), 1)); if(groups!=null && groups.getPk()!=null ){ System.out.println("...................GRUPO . "+m.get("grupo")); System.out.println("csolicitud "+mrequest.get("csolicitud")); System.out.println("cdecomiso "+mrequest.get("cdecomiso")); }else{ m.put("grupo",null); throw new ControlArmasException("BPM-0012", "NO EXISTE EL GRUPO {0}", m.get("grupo")); // throw new Exception("NO EXISTE EL GRUPO "+m.get("grupo")) ; } }else{ throw new ControlArmasException("BPM-0013", "NO TIENE CENTRO DE CONTROL ASIGNADO LA PROVINCIA {0}", cprovince); } } /* Reemplazo un string los caracteres en blanco y reemplazo caracteres especiales * @param toConvert * @return la cadena convertida */ private String obtieneNombreLimpio(String toConvert){ return StringUtils.replaceEach(StringUtils.deleteWhitespace(toConvert), new String[]{"\u00e1","\u00e9","\u00ed","\u00f3","\u00fa","\u00c1","\u00c9","\u00cd","\u00d3","\u00da","\u00F1","\u00d1"}, new String[]{"a","e","i","o","u","A","E","I","O","U","n","N"}); } }