72 lines
3.1 KiB
Plaintext
Executable File
72 lines
3.1 KiB
Plaintext
Executable File
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.param.TarmCentroControl;
|
|
import com.fp.persistence.parmas.soli.TarmDecomisoArma;
|
|
import com.fp.persistence.parmas.soli.TarmDecomisoArmaTransaccion;
|
|
import com.fp.persistence.pgeneral.gene.TgeneCatalogDetail;
|
|
import com.fp.persistence.pgeneral.gene.TgeneCatalogDetailKey;
|
|
import com.fp.simple.action.TaskAction;
|
|
|
|
/**
|
|
* Clase que se encarga de fijar el valor de deposito para la solicitud
|
|
* @author Christian Pazmino
|
|
* @version 2.1
|
|
*/
|
|
public class AplicarSancion 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("Rutina que determina si es un CENTRO DE CONTROL y hay al menos un arma en estado RECLAMADO");
|
|
HashMap<String, Object> m = (HashMap<String, Object>) pParam;
|
|
Map<String, Object> mrequest = (Map<String, Object>) m.get("request");
|
|
if (mrequest.get("numerotransaccion") == null) {
|
|
return;
|
|
}
|
|
// DETERMINA SI SE DEBE O NO APLICAR LA SANCION
|
|
Boolean aplicarSancionBLN = Boolean.FALSE;
|
|
EntityManager em = PersistenceHelper.getEntityManager();
|
|
TarmDecomisoArmaTransaccion decomisoArmaTransaccionObj = TarmDecomisoArmaTransaccion.find(PersistenceHelper.getEntityManager(), Long.parseLong(mrequest.get("numerotransaccion").toString()));
|
|
if(decomisoArmaTransaccionObj!=null){
|
|
TarmCentroControl centroControlObj = TarmCentroControl.find(em, decomisoArmaTransaccionObj.getCcentrocontrol());
|
|
if(centroControlObj!=null){
|
|
TgeneCatalogDetailKey pk = new TgeneCatalogDetailKey(centroControlObj.getNombreinstitucion(), centroControlObj.getNombreinstitucioncodigo());
|
|
TgeneCatalogDetail unidadCD = TgeneCatalogDetail.find(em, pk);
|
|
// SI ES UN DEPARTAMENTO DE CONTROL DE ARMAS, Y ES UN CENTRO DE CONTROL DE ARMAS
|
|
if(centroControlObj.getInstitucion().equals("1")&& unidadCD.getDescription().contains("CENTRO CONTROL DE ARMAS")){
|
|
Long numeroTransacion=Long.parseLong(mrequest.get("numerotransaccion").toString());
|
|
//lista de las armas decomisadas por el codigo de recepcion
|
|
List<TarmDecomisoArma> lArmasRecibidas= em.createQuery("select o from TarmDecomisoArma o where o.cdecarmtranrecepcion=:cdecarmtranrecepcion")
|
|
.setParameter("cdecarmtranrecepcion", numeroTransacion).getResultList();
|
|
|
|
for(TarmDecomisoArma decomisoArma:lArmasRecibidas){
|
|
if("RECL".equals(decomisoArma.getEstado())){
|
|
aplicarSancionBLN = Boolean.TRUE;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(aplicarSancionBLN){
|
|
m.put("BPMStatus","A");
|
|
}
|
|
else{
|
|
m.put("BPMStatus","D");
|
|
}
|
|
|
|
}
|
|
|
|
}
|