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.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.CentroControlArmasController; import com.fp.frontend.controller.armas.parametros.GuardiasController; import com.fp.frontend.controller.armas.parametros.RequisitoController; 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.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 ReporteConsultaSolicitudClienteController extends AbstractController { private static final long serialVersionUID = -4049698904561227471L; /** * Lista de tipos de persona. */ private List ltipopersona; /** * Atributo para la lista de objetos TgeneCatalogDetail de identificación */ private List ltipoidenti; /** * Lista de tipos de trámite. */ private List ltipotramite; /** * Lista de origen de adquisición */ private List 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; private List lprovincias; private List lcantones; private List lparroquias; private List lcities; private List 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 = "#{solicitudArmasBPMController}") // private SolicitudArmasBPMController 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; private TsafeUserDetail userDetail; /** * * @throws Exception */ public ReporteConsultaSolicitudClienteController() throws Exception{ super(AbstractDataTransport.class); } /** * postCosntruct * @throws Exception */ @PostConstruct private void postconstruct() throws Exception{ this.init(); requiereNoSolAucpBln=Boolean.FALSE; this.startQuery(); } private void init(){ this.beanalias = "REPORTESOLICITUD"; ltipopersona = CatalogDetailController.find("PERSONTYPE"); ltipoidenti = CatalogDetailController.find("IDENTIFICATION"); ltipotramite = CatalogDetailController.find("TIPOTRAMITE"); lorigenadquisicion = CatalogDetailController.find("ORIGENADQUISICION"); userDetail=(TsafeUserDetail)FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("TSAFEUSERDETAIL"); } @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){ //Valida que corresponda al mismo cliente if(!userDetail.getPk().getPersoncode().equals(solicitud.getRecord().getPersoncode())){ MessageHelper.setMessageWarn("Solicitud no corresponde a la persona"); return; } 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) 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 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(); existeSolicitud = Boolean.FALSE; } /** * 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 getLtipopersona() { return ltipopersona; } public void setLtipopersona(List ltipopersona) { this.ltipopersona = ltipopersona; } public List getLtipoidenti() { return ltipoidenti; } public void setLtipoidenti(List ltipoidenti) { this.ltipoidenti = ltipoidenti; } public List getLtipotramite() { return ltipotramite; } public void setLtipotramite(List ltipotramite) { this.ltipotramite = ltipotramite; } public List getLorigenadquisicion() { return lorigenadquisicion; } public void setLorigenadquisicion(List 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 getLprovincias() { return lprovincias; } public void setLprovincias(List lprovincias) { this.lprovincias = lprovincias; } public List getLcantones() { return lcantones; } public void setLcantones(List lcantones) { this.lcantones = lcantones; } public List getLparroquias() { return lparroquias; } public void setLparroquias(List lparroquias) { this.lparroquias = lparroquias; } public List getLcities() { return lcities; } public void setLcities(List lcities) { this.lcities = lcities; } @Override public void completarTarea() { try { Request request = callerhelper.getRequest(); // limpiar request para finalizar la tarea. super.cleanRequest(request); System.out.println("1.....csolicitud :"+solicitud); System.out.println("2.....csolicitud :"+solicitud.getRecord()); System.out.println("3.....csolicitud :"+solicitud.getRecord().getPk()); 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 Mapdatosmail = new HashMap(); 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 List getLmarca() { return lmarca; } public void setLmarca(List 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; } }