986 lines
38 KiB
Plaintext
Executable File
986 lines
38 KiB
Plaintext
Executable File
package com.fp.frontend.controller.armas.solicitud;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
import javax.annotation.PostConstruct;
|
|
import javax.faces.bean.ManagedBean;
|
|
import javax.faces.bean.ManagedProperty;
|
|
import javax.faces.bean.ViewScoped;
|
|
import javax.faces.context.FacesContext;
|
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
import org.apache.commons.collections.PredicateUtils;
|
|
import org.apache.commons.collections.TransformerUtils;
|
|
import org.apache.commons.lang.StringUtils;
|
|
import org.primefaces.context.RequestContext;
|
|
|
|
import com.fp.common.helper.Constant;
|
|
import com.fp.dto.AbstractDataTransport;
|
|
import com.fp.dto.Request;
|
|
import com.fp.dto.Response;
|
|
import com.fp.frontend.controller.AbstractController;
|
|
import com.fp.frontend.controller.armas.funcionalidad.CargaController;
|
|
import com.fp.frontend.controller.armas.funcionalidad.RegistroArmController;
|
|
import com.fp.frontend.controller.armas.parametros.ArmaController;
|
|
import com.fp.frontend.controller.armas.parametros.CentroControlArmasController;
|
|
import com.fp.frontend.controller.armas.parametros.GuardiasController;
|
|
import com.fp.frontend.controller.armas.parametros.RequisitoController;
|
|
import com.fp.frontend.controller.armas.parametros.TarmCentroControlJurController;
|
|
import com.fp.frontend.controller.pcustomer.PeopleController;
|
|
import com.fp.frontend.controller.pcustomer.PersonAddressController;
|
|
import com.fp.frontend.controller.pcustomer.PersonDetailController;
|
|
import com.fp.frontend.controller.pcustomer.PersonPhoneController;
|
|
import com.fp.frontend.controller.pgeneral.gene.CantonController;
|
|
import com.fp.frontend.controller.pgeneral.gene.CatalogDetailController;
|
|
import com.fp.frontend.controller.pgeneral.gene.CityController;
|
|
import com.fp.frontend.controller.pgeneral.gene.ParametersController;
|
|
import com.fp.frontend.controller.pgeneral.gene.ParroquiaController;
|
|
import com.fp.frontend.controller.pgeneral.gene.ProvinceController;
|
|
import com.fp.frontend.controller.pgeneral.safe.UserDetailController;
|
|
import com.fp.frontend.helper.MessageHelper;
|
|
import com.fp.frontend.utility.MsgControlArmas;
|
|
import com.fp.frontend.utility.Utilidades;
|
|
import com.fp.persistence.parmas.fun.TarmCarga;
|
|
import com.fp.persistence.parmas.fun.TarmRegistroArmas;
|
|
import com.fp.persistence.parmas.param.TarmCentroControl;
|
|
import com.fp.persistence.parmas.param.TarmCentroControlJur;
|
|
import com.fp.persistence.parmas.param.TarmTramite;
|
|
import com.fp.persistence.parmas.soli.TarmAgenciaSucursal;
|
|
import com.fp.persistence.parmas.soli.TarmArmas;
|
|
import com.fp.persistence.parmas.soli.TarmDocumentoHabilitante;
|
|
import com.fp.persistence.parmas.soli.TarmSolicitud;
|
|
import com.fp.persistence.parmas.soli.TarmSolicitudAgenciaSucursal;
|
|
import com.fp.persistence.parmas.soli.TarmSolicitudDocumento;
|
|
import com.fp.persistence.parmas.soli.TarmSolicitudGuardias;
|
|
import com.fp.persistence.parmas.soli.TarmSolicitudRequisitos;
|
|
import com.fp.persistence.pcustomer.gene.TcustPersonAddress;
|
|
import com.fp.persistence.pcustomer.gene.TcustPersonDetail;
|
|
import com.fp.persistence.pcustomer.gene.TcustPersonPhone;
|
|
import com.fp.persistence.pgeneral.gene.TgeneCanton;
|
|
import com.fp.persistence.pgeneral.gene.TgeneCatalogDetail;
|
|
import com.fp.persistence.pgeneral.gene.TgeneCity;
|
|
import com.fp.persistence.pgeneral.gene.TgeneParroquia;
|
|
import com.fp.persistence.pgeneral.gene.TgeneProvince;
|
|
import com.fp.persistence.pgeneral.safe.TsafeUserDetail;
|
|
|
|
@ManagedBean
|
|
@ViewScoped
|
|
public class ReporteConsultaSolicitudController extends
|
|
AbstractController<AbstractDataTransport> {
|
|
|
|
private static final long serialVersionUID = -4049698904561227471L;
|
|
|
|
/**
|
|
* Lista de tipos de persona.
|
|
*/
|
|
private List<TgeneCatalogDetail> ltipopersona;
|
|
|
|
/**
|
|
* Atributo para la lista de objetos TgeneCatalogDetail de identificación
|
|
*/
|
|
private List<TgeneCatalogDetail> ltipoidenti;
|
|
|
|
/**
|
|
* Lista de tipos de trámite.
|
|
*/
|
|
private List<TgeneCatalogDetail> ltipotramite;
|
|
|
|
/**
|
|
* Lista de origen de adquisición
|
|
*/
|
|
private List<TgeneCatalogDetail> lorigenadquisicion;
|
|
/**
|
|
* Bandera que indica si existe o no un registro para mostrar la solicitud
|
|
*/
|
|
private boolean existeSolicitud;
|
|
/**
|
|
* Indica si se debe activar la pestana de ingresar requisitos
|
|
*/
|
|
private boolean ingresarRequisitos;
|
|
|
|
/**
|
|
* Indica si se debe activar la pestana de seleccionar armas
|
|
*/
|
|
private boolean seleccionarArmas;
|
|
|
|
/**
|
|
* Indica si se debe activar la pestana seleccionar guardias
|
|
*/
|
|
private boolean seleccionarGuardias;
|
|
|
|
/**
|
|
* Indica si se debe activar la pestana seleccionar agencias
|
|
*/
|
|
private boolean seleccionarAgencias;
|
|
|
|
/**
|
|
* Indica si se debe activar la pestana listar guardias
|
|
*/
|
|
private boolean listarDocumentos;
|
|
/**
|
|
* Bandera que indica si la transacción inicio por flujo
|
|
*/
|
|
private boolean inicioPorFlujo;
|
|
|
|
private List<TgeneProvince> lprovincias;
|
|
private List<TgeneCanton> lcantones;
|
|
private List<TgeneParroquia> lparroquias;
|
|
private List<TgeneCity> lcities;
|
|
|
|
private List<TgeneCatalogDetail> lmarca;
|
|
/**
|
|
* Controlador de la solicitud
|
|
*/
|
|
/**
|
|
* Controlador que maneja el usuario
|
|
*/
|
|
@ManagedProperty(value = "#{userDetailController}")
|
|
private UserDetailController detalleusuario;
|
|
|
|
/**
|
|
* Controlador que maneja las armas dentro de la solicitud
|
|
*/
|
|
@ManagedProperty(value = "#{solicitudArmasController}")
|
|
private SolicitudArmasController solicitud;
|
|
|
|
/**
|
|
* Controlador que maneja la persona
|
|
*/
|
|
@ManagedProperty(value = "#{personDetailController}")
|
|
private PersonDetailController detallepersona;
|
|
|
|
/**
|
|
* Controlador que maneja los datos de personas naturales
|
|
*/
|
|
@ManagedProperty(value = "#{peopleController}")
|
|
private PeopleController natural;
|
|
|
|
/**
|
|
* Controlador que maneja direcciones de la persona
|
|
*/
|
|
@ManagedProperty(value = "#{personAddressController}")
|
|
private PersonAddressController direccion;
|
|
|
|
/**
|
|
* Controlador que maneja teléfonos de la persona
|
|
*/
|
|
@ManagedProperty(value = "#{personPhoneController}")
|
|
private PersonPhoneController telefono;
|
|
|
|
/**
|
|
* Controlador que maneja requisitos dentro de la solicitud
|
|
*/
|
|
@ManagedProperty(value = "#{solicitudRequisitosController}")
|
|
private SolicitudRequisitosController requisitos;
|
|
|
|
/**
|
|
* Controlador que maneja los guardias en la solicitud
|
|
*/
|
|
@ManagedProperty(value = "#{solicitudGuardiasController}")
|
|
private SolicitudGuardiasController solicitudGuardias;
|
|
|
|
/**
|
|
* Controlador que maneja armas
|
|
*/
|
|
@ManagedProperty(value = "#{armasController}")
|
|
private ArmasController armas;
|
|
|
|
/**
|
|
* Controlador que maneja las armas dentro de la solicitud
|
|
*/
|
|
@ManagedProperty(value = "#{recepcionArmasController}")
|
|
private RecepcionArmasController solicitudArmas;
|
|
|
|
/**
|
|
* Controlador que maneja registro de armas
|
|
*/
|
|
@ManagedProperty(value = "#{registroArmController}")
|
|
private RegistroArmController registroArmas;
|
|
|
|
/**
|
|
* Controlador que maneja agencias y sucursales
|
|
*/
|
|
@ManagedProperty(value = "#{agenciaSucursalController}")
|
|
private AgenciaSucursalController agenciaSucursal;
|
|
|
|
/**
|
|
* Controlador que maneja las agencias y sucursales dentro de la solicitud
|
|
*/
|
|
@ManagedProperty(value = "#{solicitudAgenciaSucursalController}")
|
|
private SolicitudAgenciaSucursalController solicitudAgenciaSucursal;
|
|
|
|
/**
|
|
* Controlador que maneja los documentos habilitantes
|
|
*/
|
|
@ManagedProperty(value = "#{documentoHabilitanteController}")
|
|
private DocumentoHabilitanteController documentoHabilitante;
|
|
|
|
/**
|
|
* Controlador que maneja los documentos dentro de la solicitud
|
|
*/
|
|
@ManagedProperty(value = "#{tarmSolicitudDocumentoController}")
|
|
private TarmSolicitudDocumentoController solicitudDocumento;
|
|
|
|
/**
|
|
* Controlador que maneja cargas para previa importacion
|
|
*/
|
|
@ManagedProperty(value = "#{cargaController}")
|
|
private CargaController cargaController;
|
|
|
|
private Boolean requiereNoSolAucpBln;
|
|
|
|
/**
|
|
*Referencia al Centro de control;
|
|
*/
|
|
private TarmCentroControl centroControl = new TarmCentroControl();
|
|
|
|
/**
|
|
*Nombre de la Institucion
|
|
*/
|
|
private String nombreInstitucion;
|
|
|
|
/**
|
|
*
|
|
* @throws Exception
|
|
*/
|
|
public ReporteConsultaSolicitudController() throws Exception{
|
|
super(AbstractDataTransport.class);
|
|
}
|
|
|
|
/**
|
|
* postCosntruct
|
|
* @throws Exception
|
|
*/
|
|
@PostConstruct
|
|
private void postconstruct() throws Exception{
|
|
this.init();
|
|
requiereNoSolAucpBln=Boolean.FALSE;
|
|
this.startQuery();
|
|
if(tid!=null){
|
|
FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("taskId", tid);
|
|
}
|
|
if(this.getMfilters().get("pk")!=null && !this.getMfilters().get("pk").equals("")){
|
|
this.solicitud.getMfilters().clear();
|
|
this.solicitud.getMfilters().put("pk", this.getMfilters().get("pk"));
|
|
solicitud.query();
|
|
this.inicioPorFlujo = Boolean.TRUE;
|
|
if(this.solicitud.getMfilters().get("numerosolicitud")==null || this.solicitud.getMfilters().get("numerosolicitud").equals("")){
|
|
this.solicitud.getMfilters().put("numerosolicitud",solicitud.getRecord().getNumerosolicitud());
|
|
this.querydatabase();
|
|
}
|
|
} else{
|
|
this.inicioPorFlujo = Boolean.FALSE;
|
|
}
|
|
}
|
|
|
|
private void init(){
|
|
this.beanalias = "REPORTESOLICITUD";
|
|
ltipopersona = CatalogDetailController.find("PERSONTYPE");
|
|
ltipoidenti = CatalogDetailController.find("IDENTIFICATION");
|
|
ltipotramite = CatalogDetailController.find("TIPOTRAMITE");
|
|
lorigenadquisicion = CatalogDetailController.find("ORIGENADQUISICION");
|
|
}
|
|
|
|
@Override
|
|
protected void querydatabase() {
|
|
// TODO Auto-generated method stub
|
|
//Realizo las busquedas en base a los controladores
|
|
try {
|
|
limpiaDatos();
|
|
// if(solicitud.getRecord() == null || solicitud.getRecord().getPk()==null){
|
|
Utilidades.caracterEspecial(solicitud.getMfilters().get("numerosolicitud"));
|
|
solicitud.query();
|
|
// }
|
|
if(solicitud.getRecord() != null && solicitud.getRecord().getPk() != null){
|
|
if(this.solicitud.getMfilters().get("numerosolicitud")==null || this.solicitud.getMfilters().get("numerosolicitud").equals(""))
|
|
this.solicitud.getMfilters().put("numerosolicitud",solicitud.getRecord().getNumerosolicitud());
|
|
existeSolicitud = Boolean.TRUE;
|
|
// solicitud.setRecord(solicitud.getLrecord().get(0));
|
|
detallepersona.getMfilters().clear();
|
|
detallepersona.getMfilters().put("pk.personcode", solicitud.getRecord().getPersoncode().toString());
|
|
detallepersona.addFilterDateto();
|
|
detallepersona.query();
|
|
|
|
natural.getMfilters().clear();
|
|
natural.addPersoncodeFilter(solicitud.getRecord().getPersoncode().toString());
|
|
natural.addFilterDateto();
|
|
natural.query();
|
|
|
|
direccion.getMfilters().clear();
|
|
direccion.addPersoncodeFilter(solicitud.getRecord().getPersoncode().toString());
|
|
direccion.addFilterDateto();
|
|
direccion.query();
|
|
|
|
this.obtenerDireccionesGenerales();
|
|
|
|
telefono.getMfilters().clear();
|
|
telefono.addPersoncodeFilter(solicitud.getRecord().getPersoncode().toString());
|
|
telefono.addFilterDateto();
|
|
telefono.query();
|
|
this.obtenerTelefonos();
|
|
// this.setearCodigoCentroControl();
|
|
this.setearTramite();
|
|
} else{
|
|
existeSolicitud = Boolean.FALSE;
|
|
}
|
|
} catch (Throwable e) {
|
|
// TODO Auto-generated catch block
|
|
MessageHelper.setMessageError(e);
|
|
}
|
|
}
|
|
|
|
@SuppressWarnings("unchecked")
|
|
public void loadEdit() throws Exception {
|
|
//TarmArmas arma = ((TarmArmas) solicitudArmas.getRecord().getModifiedData().get("arma"));
|
|
TarmArmas arma = ArmasController.findxCodigo(solicitudArmas.getRecord().getModifiedData().get("carma").toString());
|
|
if(arma.getCountrycode() == null){
|
|
arma.setCountrycode("EC");
|
|
}
|
|
this.lmarca =(List<TgeneCatalogDetail>) ArmasController.findxCodigo(solicitudArmas.getRecord().getModifiedData().get("carma").toString()).getModifiedData().get("lmarca");
|
|
lprovincias = ProvinceController.find(arma.getCountrycode());
|
|
executeProvince(arma);
|
|
if(arma.getProvincecode() != null){
|
|
lcantones = CantonController.find(arma.getCountrycode(), arma.getProvincecode());
|
|
executeCanton(arma);
|
|
}
|
|
completaInfTipoArma(arma);
|
|
registroArmas.clearAll();
|
|
if(arma.getCregistro() != null){
|
|
registroArmas.addFilter("pk", arma.getCregistro().toString());
|
|
registroArmas.query();
|
|
List<TarmRegistroArmas> registroArmasList = registroArmas.getLrecord();
|
|
registroArmas.setRecord(registroArmasList.get(0));
|
|
registroArmas.getRecord().setIsnew(Boolean.FALSE);
|
|
}
|
|
|
|
}
|
|
|
|
public void loadShowAgencia() {
|
|
TarmAgenciaSucursal tarmAgenciaSucursal = (TarmAgenciaSucursal) solicitudAgenciaSucursal.getRecord().getModifiedData().get("agencia");
|
|
lprovincias = ProvinceController.find(tarmAgenciaSucursal.getCountrycode());
|
|
lcantones = CantonController.find(tarmAgenciaSucursal.getCountrycode(), tarmAgenciaSucursal.getProvincecode());
|
|
lparroquias = ParroquiaController.find(tarmAgenciaSucursal.getCountrycode(), tarmAgenciaSucursal.getProvincecode(), tarmAgenciaSucursal.getCantoncode());
|
|
lcities = CityController.find(tarmAgenciaSucursal.getCountrycode(), tarmAgenciaSucursal.getProvincecode(), tarmAgenciaSucursal.getCantoncode());
|
|
}
|
|
|
|
/**
|
|
* Método para el evento change del combo provincias
|
|
*/
|
|
public void executeProvince(TarmArmas arma) {
|
|
if ((arma != null) && (arma.getCountrycode().compareTo("") != 0)) {
|
|
lcantones = CantonController.find(arma.getCountrycode(), arma.getProvincecode());
|
|
lparroquias = new ArrayList<>();
|
|
lcities = new ArrayList<>();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Método para el evento change del combo cantones
|
|
*/
|
|
public void executeCanton(TarmArmas arma) {
|
|
//TarmArmas arma = (((TarmArmas) solicitudArmas.getRecord().getModifiedData().get("arma")));
|
|
if (arma.getCountrycode() != null && arma.getCountrycode().compareTo("") != 0) {
|
|
lparroquias = ParroquiaController.find(arma.getCountrycode(),
|
|
arma.getProvincecode(),
|
|
arma.getCantoncode());
|
|
lcities = CityController.find(arma.getCountrycode(), arma.getProvincecode(), arma.getCantoncode());
|
|
}
|
|
}
|
|
|
|
private void limpiaDatos(){
|
|
this.detallepersona.clearAll();
|
|
this.detalleusuario.clearAll();
|
|
this.agenciaSucursal.clearAll();
|
|
this.armas.clearAll();
|
|
this.direccion.clearAll();
|
|
this.documentoHabilitante.clearAll();
|
|
this.natural.clearAll();
|
|
this.registroArmas.clearAll();
|
|
this.requisitos.clearAll();
|
|
this.solicitudAgenciaSucursal.clearAll();
|
|
this.solicitudArmas.clearAll();
|
|
this.solicitudDocumento.clearAll();
|
|
this.solicitudGuardias.clearAll();
|
|
this.telefono.clearAll();
|
|
}
|
|
|
|
/**
|
|
* Método que completa la informaci´n del arma una vez se presiona el botón crear
|
|
*/
|
|
private void completaInfTipoArma(TarmArmas arma){
|
|
solicitudArmas.getRecord().getModifiedData().put("estado", arma.getEstado());
|
|
solicitudArmas.getRecord().getModifiedData().put("marca", arma.getMarca());
|
|
// record.setCountrycode("EC");
|
|
// clase = ((TarmArmas)record.getModifiedData().get("arma")).getModifiedData().get("cclase") != null ? ((TarmArmas)record.getModifiedData().get("arma")).getModifiedData().get("cclase").toString() : null;
|
|
// calibre = record.getModifiedData().get("ccalibre") != null ? record.getModifiedData().get("ccalibre").toString() : null;
|
|
// longitud = record.getModifiedData().get("clongitud") != null ? record.getModifiedData().get("clongitud").toString() : null;
|
|
// tipoarma = record.getModifiedData().get("ctipoarmaexplosivo") != null ? record.getModifiedData().get("ctipoarmaexplosivo").toString() : null;
|
|
}
|
|
|
|
/**
|
|
* Recupera en base al tipo de identificación la dirección de la oficina o de la casa
|
|
*/
|
|
private void obtenerDireccionesGenerales(){
|
|
TcustPersonAddress direccionPersona = null;
|
|
direccionPersona = direccion.findPrincipal(detallepersona.getRecord().getPk().getPersoncode().toString());
|
|
|
|
if(direccionPersona != null){
|
|
direccion.getMfilelds().put("solcodpais", direccionPersona.getCountrycode());
|
|
direccion.getMfilelds().put("solcodprovincia", direccionPersona.getProvincecode());
|
|
direccion.setLprovinces(ProvinceController.find(direccionPersona.getCountrycode()));
|
|
direccion.getMfilelds().put("solcodcanton", direccionPersona.getCantoncode());
|
|
direccion.setLcantones(CantonController.find(direccionPersona.getCountrycode(), direccionPersona.getProvincecode()));
|
|
direccion.getMfilelds().put("solcodciudad", direccionPersona.getCitycode());
|
|
direccion.setLcities(CityController.find(direccionPersona.getCountrycode(), direccionPersona.getProvincecode(), direccionPersona.getCantoncode()));
|
|
direccion.getMfilelds().put("solcodparroquia", direccionPersona.getParroquiacode());
|
|
direccion.setLparroquias(ParroquiaController.find(direccionPersona.getCountrycode(), direccionPersona.getProvincecode(), direccionPersona.getCantoncode()));
|
|
direccion.getMfilelds().put("soldireccion", direccionPersona.getAddress());
|
|
}
|
|
|
|
TcustPersonAddress correo = (TcustPersonAddress) CollectionUtils.find(direccion.getLrecord(), PredicateUtils.transformedPredicate(TransformerUtils.invokerTransformer("getAddresstypecatalog"), PredicateUtils.equalPredicate("3")));
|
|
if(correo != null){
|
|
direccion.getMfilelds().put("solcorreopersona", correo.getAddress());
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Retorna el telefono fijo y celular de la persona
|
|
*/
|
|
private void obtenerTelefonos(){
|
|
TcustPersonPhone telf = null;
|
|
telf = (TcustPersonPhone) CollectionUtils.find(telefono.getLrecord(), PredicateUtils.transformedPredicate(TransformerUtils.invokerTransformer("getPhonetypecatalog"), PredicateUtils.equalPredicate("1")));
|
|
if(telf != null){
|
|
telefono.getMfilelds().put("soltelfijo", telf.getPhonenumber());
|
|
}
|
|
telf = (TcustPersonPhone) CollectionUtils.find(telefono.getLrecord(), PredicateUtils.transformedPredicate(TransformerUtils.invokerTransformer("getPhonetypecatalog"), PredicateUtils.equalPredicate("2")));
|
|
if(telf != null){
|
|
telefono.getMfilelds().put("soltelcelular", telf.getPhonenumber());
|
|
}
|
|
}
|
|
|
|
/**
|
|
* En base a la provincia y sus jurisdicciones se obtiene y se coloca el centro de control
|
|
*/
|
|
private void setearCodigoCentroControl(){
|
|
TarmCentroControlJur centroControlJur = TarmCentroControlJurController.findxProvincia(direccion.getMfilelds().get("solcodprovincia") != null ?
|
|
direccion.getMfilelds().get("solcodprovincia").toString() : StringUtils.EMPTY);
|
|
if(centroControlJur != null){
|
|
this.solicitud.getRecord().setCcentrocontrol(centroControlJur.getCcentrocontrol());
|
|
}
|
|
}
|
|
|
|
/**
|
|
*
|
|
*/
|
|
private void setearTramite() {
|
|
try{
|
|
if(solicitud.getRecord().getCtramite()==null){
|
|
return;
|
|
}
|
|
TarmTramite tramite = TarmTramiteController.find(solicitud.getRecord().getCtramite().toString());
|
|
solicitud.getRecord().setCtramite(tramite.getPk());
|
|
TgeneCatalogDetail tipoTramite = CatalogDetailController.findxCodigoCodcatalogo(tramite.getTipotramite(), tramite.getTipotramitecodigo());
|
|
TgeneCatalogDetail tipoAutorizacion = CatalogDetailController.findxCodigoCodcatalogo(tramite.getTipoautorizacion(), tramite.getTipoautorizacioncodigo());
|
|
TgeneCatalogDetail categoria = CatalogDetailController.findxCodigoCodcatalogo(tramite.getCategoria(), tramite.getCategoriacodigo());
|
|
TgeneCatalogDetail actividad = CatalogDetailController.findxCodigoCodcatalogo(tramite.getUsoactividad(), tramite.getUsoactividadcodigo());
|
|
this.getSolicitud().addField("tipoTramite", tipoTramite.getDescription());
|
|
this.getSolicitud().addField("tipoAutorizacion", tipoAutorizacion.getDescription());
|
|
this.getSolicitud().addField("categoria", categoria.getDescription());
|
|
this.getSolicitud().addField("actividad", actividad.getDescription());
|
|
this.ingresarRequisitos = Boolean.TRUE;
|
|
obtenerCentroControl(solicitud.getRecord());
|
|
if(tramite.getCategoria().equals("14")){
|
|
requiereNoSolAucpBln=Boolean.TRUE;
|
|
}else{
|
|
requiereNoSolAucpBln=Boolean.FALSE;
|
|
}
|
|
if(Constant.ifYes(tramite.getRegistroarmas())){
|
|
this.seleccionarArmas = Boolean.TRUE;
|
|
this.cargaArmas();
|
|
}else{
|
|
this.seleccionarArmas = Boolean.FALSE;
|
|
this.solicitudArmas.clearAll();
|
|
}
|
|
if(Constant.ifYes(tramite.getRegistroguardia())){
|
|
this.seleccionarGuardias = Boolean.TRUE;
|
|
this.cargaGuardias();
|
|
}else{
|
|
this.seleccionarGuardias = Boolean.FALSE;
|
|
this.solicitudGuardias.clearAll();
|
|
}
|
|
if(Constant.ifYes(tramite.getRegistroagenciasucursal())){
|
|
this.seleccionarAgencias = Boolean.TRUE;
|
|
this.cargarAgencias();
|
|
}else{
|
|
this.seleccionarAgencias = Boolean.FALSE;
|
|
this.solicitudAgenciaSucursal.clearAll();
|
|
}
|
|
|
|
if(Constant.ifYes(tramite.getDocumentohabilitante()) || tipoTramite.getPk().getCatalog().equals(ParametersController.find("CODIGO.TRAMITEREIMPRESION", "1").getTextvalue())){
|
|
this.listarDocumentos = Boolean.TRUE;
|
|
this.cargarDocumentos();
|
|
}else{
|
|
this.listarDocumentos = Boolean.FALSE;
|
|
this.solicitudDocumento.clearAll();
|
|
}
|
|
|
|
if(tramite != null){
|
|
this.cargarRequisitos();
|
|
}
|
|
} catch(Throwable e){
|
|
MessageHelper.setMessageError(e);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Obtiene el centro de control segun usurio logeado.
|
|
* @param solicitud
|
|
* @throws Exception
|
|
*
|
|
*/
|
|
private void obtenerCentroControl(TarmSolicitud solicitud) throws Exception {
|
|
|
|
this.centroControl= CentroControlArmasController.findPorCodigo(solicitud.getCcentrocontrol());
|
|
this.setNombreInstitucion(CatalogDetailController.findxCodigoCodcatalogo( centroControl.getNombreinstitucion(), centroControl.getNombreinstitucioncodigo()).getDescription());
|
|
|
|
}
|
|
|
|
private void cargaArmas() throws Exception{
|
|
|
|
solicitudArmas.clearAll();
|
|
solicitudArmas.addFilter("pk.csolicitud", solicitud.getRecord().getPk());
|
|
solicitudArmas.setCodigoSolicitud(solicitud.getRecord().getPk());
|
|
solicitudArmas.setRecperpage(5000);
|
|
solicitudArmas.querydatabase();
|
|
}
|
|
|
|
|
|
private void cargaGuardias() throws Exception{
|
|
solicitudGuardias.clearAll();
|
|
solicitudGuardias.addFilter("pk.csolicitud", solicitud.getRecord().getPk());
|
|
solicitudGuardias.query();
|
|
for (TarmSolicitudGuardias solicitudGuardia : solicitudGuardias.getLrecord()) {
|
|
solicitudGuardia.getModifiedData().put("guardia", GuardiasController.find(solicitudGuardia.getPk().getCguardia().toString(), solicitudGuardia.getPk().getCempresa().toString()));
|
|
}
|
|
}
|
|
|
|
private void cargarAgencias() throws Exception{
|
|
solicitudAgenciaSucursal.clearAll();
|
|
solicitudAgenciaSucursal.addFilter("pk.csolicitud", solicitud.getRecord().getPk());
|
|
solicitudAgenciaSucursal.query();
|
|
for (TarmSolicitudAgenciaSucursal solAgenciaSucursal : solicitudAgenciaSucursal.getLrecord()) {
|
|
solAgenciaSucursal.getModifiedData().put("agencia", AgenciaSucursalController.find(solAgenciaSucursal.getPk().getCagencia().toString()));
|
|
}
|
|
}
|
|
|
|
private void cargarDocumentos() throws Exception {
|
|
solicitudDocumento.clearAll();
|
|
solicitudDocumento.addFilter("pk.csolicitud", solicitud.getRecord().getPk());
|
|
solicitudDocumento.query();
|
|
|
|
SolicitudController.findSolicitudxcodsolicitud(solicitud.getRecord().getPk());
|
|
TarmTramite tramite = TarmTramiteController.find(String.valueOf(SolicitudController.findSolicitudxcodsolicitud(solicitud.getRecord().getPk()).getCtramite()));
|
|
TgeneCatalogDetail tipoTramite = CatalogDetailController.findxCodigoCodcatalogo(tramite.getTipotramite(), tramite.getTipotramitecodigo());
|
|
TgeneCatalogDetail tipoAutorizacion = CatalogDetailController.findxCodigoCodcatalogo(tramite.getTipoautorizacion(), tramite.getTipoautorizacioncodigo());
|
|
TgeneCatalogDetail actividad = CatalogDetailController.findxCodigoCodcatalogo(tramite.getUsoactividad(), tramite.getUsoactividadcodigo());
|
|
Boolean muestraArmas = listarArmas(tipoTramite,tipoAutorizacion, actividad);
|
|
|
|
|
|
for (TarmSolicitudDocumento solDocumento : solicitudDocumento.getLrecord()) {
|
|
TarmDocumentoHabilitante documentoHabilitante =DocumentoHabilitanteController.find(solDocumento.getPk().getCdocumento().toString());
|
|
solDocumento.getModifiedData().put("documento", documentoHabilitante);
|
|
solDocumento.getModifiedData().put("arma", muestraArmas?ArmasController.findPorCodigo(documentoHabilitante.getCarma()):null);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
* Metodo para listar las armas segun la combinacion de tipo de tramite
|
|
* @param tipoTramite tipo del tramite
|
|
* @param tipoAutorizacion tipo de la autorizacion
|
|
* @param actividad tipo de la actividad
|
|
* @return valor booleano que indica si se muestran o no als armas
|
|
* @throws Exception
|
|
*/
|
|
private boolean listarArmas(TgeneCatalogDetail tipoTramite,TgeneCatalogDetail tipoAutorizacion, TgeneCatalogDetail actividad) throws Exception{
|
|
if(tipoTramite.getPk().getCatalog().equals(CatalogDetailController.findByCatalogcodeDescrption( MsgControlArmas.getProperty("ctg_tipotramite"), MsgControlArmas.getProperty("ctg_reimpresion_tipo")).getPk().getCatalog())
|
|
&& tipoAutorizacion.getPk().getCatalog().equals(CatalogDetailController.findByCatalogcodeDescrption( MsgControlArmas.getProperty("ctg_tipoautorizacion"),MsgControlArmas.getProperty("ctg_autorizacion")).getPk().getCatalog())
|
|
&& actividad.getPk().getCatalog().equals(CatalogDetailController.findByCatalogcodeDescrption( MsgControlArmas.getProperty("ctg_usoactividad"), MsgControlArmas.getProperty("ctg_perdida")).getPk().getCatalog())){
|
|
return false;
|
|
}
|
|
if(tipoTramite.getPk().getCatalog().equals(CatalogDetailController.findByCatalogcodeDescrption( MsgControlArmas.getProperty("ctg_tipotramite"),MsgControlArmas.getProperty("ctg_reimpresion_tipo")).getPk().getCatalog())
|
|
&& tipoAutorizacion.getPk().getCatalog().equals(CatalogDetailController.findByCatalogcodeDescrption( MsgControlArmas.getProperty("ctg_tipoautorizacion"),MsgControlArmas.getProperty("ctg_permiso")).getPk().getCatalog())
|
|
&& actividad.getPk().getCatalog().equals(CatalogDetailController.findByCatalogcodeDescrption( MsgControlArmas.getProperty("ctg_usoactividad"),MsgControlArmas.getProperty("ctg_perdida")).getPk().getCatalog())){
|
|
return true;
|
|
}
|
|
if(tipoTramite.getPk().getCatalog().equals(CatalogDetailController.findByCatalogcodeDescrption( MsgControlArmas.getProperty("ctg_tipotramite"),MsgControlArmas.getProperty("ctg_primeravez")).getPk().getCatalog())
|
|
&& tipoAutorizacion.getPk().getCatalog().equals(CatalogDetailController.findByCatalogcodeDescrption( MsgControlArmas.getProperty("ctg_tipoautorizacion"),MsgControlArmas.getProperty("ctg_certificados")).getPk().getCatalog())
|
|
&& actividad.getPk().getCatalog().equals(CatalogDetailController.findByCatalogcodeDescrption(MsgControlArmas.getProperty("ctg_usoactividad"),MsgControlArmas.getProperty("ctg_autorizacion")).getPk().getCatalog())){
|
|
return false;
|
|
}
|
|
if(tipoTramite.getPk().getCatalog().equals(CatalogDetailController.findByCatalogcodeDescrption( MsgControlArmas.getProperty("ctg_tipotramite"),MsgControlArmas.getProperty("ctg_primeravez")).getPk().getCatalog())
|
|
&& tipoAutorizacion.getPk().getCatalog().equals(CatalogDetailController.findByCatalogcodeDescrption( MsgControlArmas.getProperty("ctg_tipoautorizacion"),MsgControlArmas.getProperty("ctg_certificados")).getPk().getCatalog())
|
|
&& actividad.getPk().getCatalog().equals(CatalogDetailController.findByCatalogcodeDescrption( MsgControlArmas.getProperty("ctg_usoactividad"),MsgControlArmas.getProperty("ctg_permiso")).getPk().getCatalog())){
|
|
return true;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
private void cargarRequisitos() throws Exception {
|
|
requisitos.clearAll();
|
|
requisitos.addFilter("pk.csolicitud", solicitud.getRecord().getPk());
|
|
requisitos.query();
|
|
for (TarmSolicitudRequisitos solicitudRequisitos : requisitos.getLrecord()) {
|
|
solicitudRequisitos.getModifiedData().put("requisito", RequisitoController.findxId(solicitudRequisitos.getPk().getCrequisito()));
|
|
}
|
|
}
|
|
|
|
public List<TgeneCatalogDetail> getLtipopersona() {
|
|
return ltipopersona;
|
|
}
|
|
|
|
public void setLtipopersona(List<TgeneCatalogDetail> ltipopersona) {
|
|
this.ltipopersona = ltipopersona;
|
|
}
|
|
|
|
public List<TgeneCatalogDetail> getLtipoidenti() {
|
|
return ltipoidenti;
|
|
}
|
|
|
|
public void setLtipoidenti(List<TgeneCatalogDetail> ltipoidenti) {
|
|
this.ltipoidenti = ltipoidenti;
|
|
}
|
|
|
|
public List<TgeneCatalogDetail> getLtipotramite() {
|
|
return ltipotramite;
|
|
}
|
|
|
|
public void setLtipotramite(List<TgeneCatalogDetail> ltipotramite) {
|
|
this.ltipotramite = ltipotramite;
|
|
}
|
|
|
|
public List<TgeneCatalogDetail> getLorigenadquisicion() {
|
|
return lorigenadquisicion;
|
|
}
|
|
|
|
public void setLorigenadquisicion(List<TgeneCatalogDetail> lorigenadquisicion) {
|
|
this.lorigenadquisicion = lorigenadquisicion;
|
|
}
|
|
|
|
public boolean isExisteSolicitud() {
|
|
return existeSolicitud;
|
|
}
|
|
|
|
public void setExisteSolicitud(boolean existeSolicitud) {
|
|
this.existeSolicitud = existeSolicitud;
|
|
}
|
|
|
|
public boolean isIngresarRequisitos() {
|
|
return ingresarRequisitos;
|
|
}
|
|
|
|
public void setIngresarRequisitos(boolean ingresarRequisitos) {
|
|
this.ingresarRequisitos = ingresarRequisitos;
|
|
}
|
|
|
|
public boolean isSeleccionarArmas() {
|
|
return seleccionarArmas;
|
|
}
|
|
|
|
public void setSeleccionarArmas(boolean seleccionarArmas) {
|
|
this.seleccionarArmas = seleccionarArmas;
|
|
}
|
|
|
|
public boolean isSeleccionarGuardias() {
|
|
return seleccionarGuardias;
|
|
}
|
|
|
|
public void setSeleccionarGuardias(boolean seleccionarGuardias) {
|
|
this.seleccionarGuardias = seleccionarGuardias;
|
|
}
|
|
|
|
public boolean isSeleccionarAgencias() {
|
|
return seleccionarAgencias;
|
|
}
|
|
|
|
public void setSeleccionarAgencias(boolean seleccionarAgencias) {
|
|
this.seleccionarAgencias = seleccionarAgencias;
|
|
}
|
|
|
|
public boolean isListarDocumentos() {
|
|
return listarDocumentos;
|
|
}
|
|
|
|
public void setListarDocumentos(boolean listarDocumentos) {
|
|
this.listarDocumentos = listarDocumentos;
|
|
}
|
|
|
|
public UserDetailController getDetalleusuario() {
|
|
return detalleusuario;
|
|
}
|
|
|
|
public void setDetalleusuario(UserDetailController detalleusuario) {
|
|
this.detalleusuario = detalleusuario;
|
|
}
|
|
|
|
public SolicitudArmasController getSolicitud() {
|
|
return solicitud;
|
|
}
|
|
|
|
public void setSolicitud(SolicitudArmasController solicitud) {
|
|
this.solicitud = solicitud;
|
|
}
|
|
|
|
public PersonDetailController getDetallepersona() {
|
|
return detallepersona;
|
|
}
|
|
|
|
public void setDetallepersona(PersonDetailController detallepersona) {
|
|
this.detallepersona = detallepersona;
|
|
}
|
|
|
|
public PeopleController getNatural() {
|
|
return natural;
|
|
}
|
|
|
|
public void setNatural(PeopleController natural) {
|
|
this.natural = natural;
|
|
}
|
|
|
|
public PersonAddressController getDireccion() {
|
|
return direccion;
|
|
}
|
|
|
|
public void setDireccion(PersonAddressController direccion) {
|
|
this.direccion = direccion;
|
|
}
|
|
|
|
public PersonPhoneController getTelefono() {
|
|
return telefono;
|
|
}
|
|
|
|
public void setTelefono(PersonPhoneController telefono) {
|
|
this.telefono = telefono;
|
|
}
|
|
|
|
public SolicitudRequisitosController getRequisitos() {
|
|
return requisitos;
|
|
}
|
|
|
|
public void setRequisitos(SolicitudRequisitosController requisitos) {
|
|
this.requisitos = requisitos;
|
|
}
|
|
|
|
public SolicitudGuardiasController getSolicitudGuardias() {
|
|
return solicitudGuardias;
|
|
}
|
|
|
|
public void setSolicitudGuardias(SolicitudGuardiasController solicitudGuardias) {
|
|
this.solicitudGuardias = solicitudGuardias;
|
|
}
|
|
|
|
public ArmasController getArmas() {
|
|
return armas;
|
|
}
|
|
|
|
public void setArmas(ArmasController armas) {
|
|
this.armas = armas;
|
|
}
|
|
|
|
public RecepcionArmasController getSolicitudArmas() {
|
|
return solicitudArmas;
|
|
}
|
|
|
|
public void setSolicitudArmas(RecepcionArmasController solicitudArmas) {
|
|
this.solicitudArmas = solicitudArmas;
|
|
}
|
|
|
|
public RegistroArmController getRegistroArmas() {
|
|
return registroArmas;
|
|
}
|
|
|
|
public void setRegistroArmas(RegistroArmController registroArmas) {
|
|
this.registroArmas = registroArmas;
|
|
}
|
|
|
|
public AgenciaSucursalController getAgenciaSucursal() {
|
|
return agenciaSucursal;
|
|
}
|
|
|
|
public void setAgenciaSucursal(AgenciaSucursalController agenciaSucursal) {
|
|
this.agenciaSucursal = agenciaSucursal;
|
|
}
|
|
|
|
public SolicitudAgenciaSucursalController getSolicitudAgenciaSucursal() {
|
|
return solicitudAgenciaSucursal;
|
|
}
|
|
|
|
public void setSolicitudAgenciaSucursal(
|
|
SolicitudAgenciaSucursalController solicitudAgenciaSucursal) {
|
|
this.solicitudAgenciaSucursal = solicitudAgenciaSucursal;
|
|
}
|
|
|
|
public DocumentoHabilitanteController getDocumentoHabilitante() {
|
|
return documentoHabilitante;
|
|
}
|
|
|
|
public void setDocumentoHabilitante(
|
|
DocumentoHabilitanteController documentoHabilitante) {
|
|
this.documentoHabilitante = documentoHabilitante;
|
|
}
|
|
|
|
public TarmSolicitudDocumentoController getSolicitudDocumento() {
|
|
return solicitudDocumento;
|
|
}
|
|
|
|
public void setSolicitudDocumento(
|
|
TarmSolicitudDocumentoController solicitudDocumento) {
|
|
this.solicitudDocumento = solicitudDocumento;
|
|
}
|
|
|
|
public List<TgeneProvince> getLprovincias() {
|
|
return lprovincias;
|
|
}
|
|
|
|
public void setLprovincias(List<TgeneProvince> lprovincias) {
|
|
this.lprovincias = lprovincias;
|
|
}
|
|
|
|
public List<TgeneCanton> getLcantones() {
|
|
return lcantones;
|
|
}
|
|
|
|
public void setLcantones(List<TgeneCanton> lcantones) {
|
|
this.lcantones = lcantones;
|
|
}
|
|
|
|
public List<TgeneParroquia> getLparroquias() {
|
|
return lparroquias;
|
|
}
|
|
|
|
public void setLparroquias(List<TgeneParroquia> lparroquias) {
|
|
this.lparroquias = lparroquias;
|
|
}
|
|
|
|
public List<TgeneCity> getLcities() {
|
|
return lcities;
|
|
}
|
|
|
|
public void setLcities(List<TgeneCity> lcities) {
|
|
this.lcities = lcities;
|
|
}
|
|
@Override
|
|
public void completarTarea() {
|
|
try {
|
|
Request request = callerhelper.getRequest();
|
|
// limpiar request para finalizar la tarea.
|
|
super.cleanRequest(request);
|
|
request.modifiedData().put("csolicitud", solicitud.getRecord().getPk());
|
|
if(tid==null){
|
|
tid = FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("taskId").toString();
|
|
}
|
|
request.modifiedData().put("TID", tid);
|
|
if(bpmDataStatus.equals("D")){
|
|
// Se aumento las observaciones para ser enviadas en el mail
|
|
Map<String,Object>datosmail = new HashMap<String,Object>();
|
|
datosmail.put("razons",detallepersona.getRecord().getName());
|
|
datosmail.put("sol",solicitud.getRecord().getNumerosolicitud());
|
|
datosmail.put("observaciones",bpmDataComment);
|
|
//grado funcionario de la persona logeada
|
|
TsafeUserDetail userDetailObj=(TsafeUserDetail)FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("TSAFEUSERDETAIL");
|
|
TcustPersonDetail personDetailObj=PersonDetailController.find(userDetailObj.getPk().getPersoncode().toString());
|
|
datosmail.put("grado",personDetailObj.getMilitarygrade());
|
|
datosmail.put("funcionario",personDetailObj.getName());
|
|
// CCA
|
|
TarmCentroControl centroControl=CentroControlArmasController.findPorCodigo(solicitud.getRecord().getCcentrocontrol());
|
|
datosmail.put("centrocontrol",centroControl.getModifiedData().get("desinstitucion"));
|
|
request.modifiedData().put("datosmail", datosmail);
|
|
}
|
|
request.modifiedData().put("BPMStatus", bpmDataStatus == null ? "A" : bpmDataStatus); // A,D,R
|
|
|
|
request.modifiedData().put("BPMObs", bpmDataComment);
|
|
|
|
Response resp = callerhelper.executeSave(request);
|
|
if (resp.getResponseCode().compareTo(Response.RESPONSE_OK) == 0) {
|
|
this.postCommit(resp);
|
|
// CATEGORIA 14 PREVIA IMPORTACION
|
|
if(bpmDataStatus.equals("D")){
|
|
TarmTramite tarmTramite = TarmTramiteController.find(this.solicitud.getRecord().getCtramite().toString());
|
|
if(tarmTramite.getCategoria().equals("14")){
|
|
desasociarCargaSolicitud();
|
|
}
|
|
}
|
|
MessageHelper.setMessageInfo(resp);
|
|
RequestContext.getCurrentInstance().execute("Maia.refreshusertasks()");
|
|
} else {
|
|
MessageHelper.setMessageError(resp);
|
|
}
|
|
} catch (Throwable e) {
|
|
MessageHelper.setMessageError(e);
|
|
}
|
|
}
|
|
|
|
public void desasociarCargaSolicitud(){
|
|
try{
|
|
TarmCarga carga = CargaController.findByAUCP(solicitud.getRecord().getAucp());
|
|
if(carga!=null){
|
|
carga.setCsolicitud(null);
|
|
cargaController.update(carga);
|
|
cargaController.save();
|
|
}
|
|
} catch (Throwable e) {
|
|
MessageHelper.setMessageError(e);
|
|
}
|
|
}
|
|
|
|
public boolean isInicioPorFlujo() {
|
|
return inicioPorFlujo;
|
|
}
|
|
|
|
public void setInicioPorFlujo(boolean inicioPorFlujo) {
|
|
this.inicioPorFlujo = inicioPorFlujo;
|
|
}
|
|
|
|
public List<TgeneCatalogDetail> getLmarca() {
|
|
return lmarca;
|
|
}
|
|
|
|
public void setLmarca(List<TgeneCatalogDetail> lmarca) {
|
|
this.lmarca = lmarca;
|
|
}
|
|
|
|
public CargaController getCargaController() {
|
|
return cargaController;
|
|
}
|
|
|
|
public void setCargaController(CargaController cargaController) {
|
|
this.cargaController = cargaController;
|
|
}
|
|
|
|
public Boolean getRequiereNoSolAucpBln() {
|
|
return requiereNoSolAucpBln;
|
|
}
|
|
|
|
public void setRequiereNoSolAucpBln(Boolean requiereNoSolAucpBln) {
|
|
this.requiereNoSolAucpBln = requiereNoSolAucpBln;
|
|
}
|
|
|
|
public String getNombreInstitucion() {
|
|
return nombreInstitucion;
|
|
}
|
|
|
|
public String setNombreInstitucion(String nombreInstitucion) {
|
|
if(nombreInstitucion!=null && !nombreInstitucion.isEmpty()){
|
|
this.nombreInstitucion = nombreInstitucion;
|
|
}else{
|
|
this.nombreInstitucion = "";
|
|
}
|
|
|
|
return nombreInstitucion;
|
|
}
|
|
|
|
}
|