package com.fp.frontend.controller.armas.solicitud; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; 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 javax.faces.event.AjaxBehaviorEvent; import org.apache.commons.lang3.StringUtils; import org.primefaces.context.RequestContext; import org.primefaces.event.SelectEvent; import org.primefaces.extensions.component.inputnumber.InputNumber; import com.fp.common.helper.Constant; import com.fp.dto.Request; import com.fp.dto.Response; import com.fp.dto.query.DtoQuery; import com.fp.dto.query.Filter; import com.fp.dto.query.SubQuery; import com.fp.dto.save.DtoSave; 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.lov.ArmaExplosivoLovController; import com.fp.frontend.controller.armas.lov.CargasLovController; import com.fp.frontend.controller.armas.parametros.CalibreLovController; import com.fp.frontend.controller.armas.parametros.ClaseLovController; import com.fp.frontend.controller.armas.parametros.LongitudLovController; import com.fp.frontend.controller.armas.parametros.TipoArmaExpLovController; import com.fp.frontend.controller.armas.parametros.TiposArmasExplosivosController; import com.fp.frontend.controller.pcustomer.PersonDetailController; import com.fp.frontend.controller.pcustomer.lov.PersonLovController; 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.CountryController; 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.helper.CallerHelper; import com.fp.frontend.helper.MessageHelper; import com.fp.frontend.utility.MsgControlArmas; import com.fp.frontend.utility.Utilidades; import com.fp.frontend.utility.ValidateIdentification; import com.fp.persistence.parmas.fun.TarmCarga; import com.fp.persistence.parmas.fun.TarmRegistroArmas; import com.fp.persistence.parmas.param.TarmTipoArmaExplosivo; import com.fp.persistence.parmas.param.TarmTramite; import com.fp.persistence.parmas.soli.TarmArmas; import com.fp.persistence.parmas.soli.TarmDocumentoHabilitante; import com.fp.persistence.pcustomer.gene.TcustPersonDetail; 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.TgeneCountry; import com.fp.persistence.pgeneral.gene.TgeneParameters; import com.fp.persistence.pgeneral.gene.TgeneParroquia; import com.fp.persistence.pgeneral.gene.TgeneProvince; import com.fp.persistence.pgeneral.safe.TsafeUserDetail; /** * Controlador principal de armas * @author Christian Pazmino * */ @SuppressWarnings("serial") @ManagedBean @ViewScoped public class ImportacionProduccionController extends AbstractController { private Boolean estadoDesaduanizado = Boolean.FALSE; private Boolean esNuevaImportacion = Boolean.TRUE; private String filterAUCP; //P lpartidaArancelaria=new ArrayList<>(); private TarmCarga carga = new TarmCarga(); private Boolean isSelectAucpPrevio = Boolean.FALSE; private Boolean isSave=Boolean.FALSE; private Boolean isEnableCategoria = Boolean.TRUE; InputNumber cantidadTxt = new InputNumber(); List ldeleteItems = new ArrayList(); @ManagedProperty(value = "#{tiposArmasExplosivosController}") private TiposArmasExplosivosController tiposArmasExplosivosController; @ManagedProperty(value = "#{registroArmController}") private RegistroArmController registroArmas; // Datos generales private TgeneCatalogDetail tipoDocumento; private TcustPersonDetail detallesPersona; // Catalogo que contiene tipos de registros private List tiposRegistro; private TcustPersonDetail usuario; // private String tipoRegistro; //Registro armas TarmRegistroArmas registro=new TarmRegistroArmas(); //Detalle de localizacion para el caso de importaciones private List lpaises; // private TgeneCountry pais; //private String pais; //Provincia private List lprovincias; private String codigoProvincia; //Canton private List lcantones; private String codigoCanton; //Ciudad private List lciudades; // private TgeneCity ciudad; //Aeropuertos private List laeropuertos=new ArrayList<>(); private List ldocumentospersona; // /** // * Lista de tipos de identificación // */ // private List ltipoidentificacion; /** * Listado de estados del arma */ private List lestadoarma; /** * Listado de marcas */ private List lmarca; /** * Listado de colores */ private List lcolor; /** * Listado de tipos de fabricación */ private List ltipofabricacion; /** * Listado de unidad de medida cantidad */ private List lunidadmedidacantidad; /** * Listado de unidad medida peso */ private List lunidadmedidapeso; // /** // * Listado de paises // */ // private List lcountry; // /** // * Listado de provincias // */ // private List lprovincias; // /** // * Listado de cantones // */ // private List lcantones; /** * Listado de parroquias */ private List lparroquias; /** * Listado de ciudades */ private List lcities; // /** // * Tipo documento // */ // private String tipoDoc; // /** // * Número documento // */ // private String numDoc; // /** // * Nombre/razón social // */ // private String nombreRazon; /** * Longitud arma */ private String longitud; /** * Calibre arma */ private String calibre; /** * Clase arma */ private String clase; /** * Clase arma */ private String categoria; /** * Tipo de arma */ private String tipoarma; /** * unidad medida peso */ private String unidadmedidapeso; /** * Bandera que indica que en realidad existe luego del ingreso de datos un tipo de arma explosivo válido */ private boolean existeTipoArmaExplosivo; /** * Bandera que especifica que se deba verificar que exista un arma explosivo válido */ private boolean verificaArmaExplosivo = Boolean.TRUE; /** * Bloquea la unidad de cantidad */ private boolean bloquearUnidadCantidad = Boolean.TRUE; /** * Bloquea la unidad de peso */ private boolean bloquearUnidadPeso = Boolean.TRUE; /** * Contiene la fecha actual del sistema */ private Date fechaActual; /** * Contiene la referencia a nuevo propietario del arma */ private TcustPersonDetail nuevoPropietarioArma; /** * Tipo del arma explosivo */ private TarmTipoArmaExplosivo tipoArmaExplosivo ; /** * codigo del ruc */ private String codigoRuc; /** * codigo del ruc */ private String codigoCedula; /** * codigo del ruc */ private String codigoPasaporte; public ImportacionProduccionController() throws Exception { super(TarmArmas.class); } /** * Método que se ejecuta después del constructor */ @PostConstruct private void postconstruct() { this.init(); super.startQuery(); } /** * Inicializa valores del controlador */ private void init() { try { carga.setIsnew(Boolean.TRUE); //Localizacion lpaises=CountryController.find(); this.lprovincias=ProvinceController.find("EC"); //Obteniendo los aeropuertos this.laeropuertos=CatalogDetailController.find("AEROPUERTOS"); this.lpartidaArancelaria=CatalogDetailController.find("PARTIDAARANCELARIA"); //Obteniendo los datos del usuario logueado TsafeUserDetail tsafeUserDetail=(TsafeUserDetail)FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("TSAFEUSERDETAIL"); usuario=PersonDetailController.find(tsafeUserDetail.getPk().getPersoncode().toString()); detallesPersona= PersonDetailController.find(String.valueOf(usuario.getPk().getPersoncode())); //Tipo de documento tipoDocumento = CatalogDetailController.findxCodigoCodcatalogo(detallesPersona.getIdentificationcatalog(),detallesPersona.getIdentificationcatalogcode()); //Tipos de registro tiposRegistro=CatalogDetailController.find("TIPOREGISTRO", "REG"); fechaActual = new Date(); recperpage = 5000; // Cambiar al # reg a mirar. // record = new TarmArmas(); lrecord = new ArrayList<>(); beanalias = "ARMAS"; // ltipoidentificacion = CatalogDetailController.find("IDENTIFICATION"); lestadoarma = CatalogDetailController.find("ESTADOARMA"); lmarca = CatalogDetailController.find("MARCA"); lcolor = CatalogDetailController.find("COLOR"); ltipofabricacion = CatalogDetailController.find("TIPOFABRICACION"); // lunidadmedidacantidad = CatalogDetailController.find("UCANTIDAD"); lunidadmedidapeso = CatalogDetailController.find("UNIDADMEDIDA"); // lcountry = CountryController.find(); codigoRuc=codigos("CODIGO.RUC"); codigoCedula=codigos("CODIGO.CEDULA"); codigoPasaporte=codigos("CODIGO.PASAPORTE"); } catch (Exception e) { MessageHelper.setMessageError(e); } } public void cargarCategorias(){ // Cargamos la lista de categorias disponibles para el usuario (en funcion de sus documentos habilitantes) ldocumentospersona= new ArrayList<>(); List listadocum= new ArrayList<>(); if(registro.getTiporegistro()!=null){ if("PRO".equals(registro.getTiporegistro())){ listadocum=DocumentoHabilitanteController.findByPerson_Produccion(usuario.getPk().getPersoncode().toString()); carga=new TarmCarga(); carga.setIsnew(Boolean.TRUE); registro.setIsnew(Boolean.TRUE); }else{ if(esNuevaImportacion){ registro.setIsnew(Boolean.TRUE); } listadocum=DocumentoHabilitanteController.findByPerson_Importacion(usuario.getPk().getPersoncode().toString()); } }else{ ldocumentospersona=new ArrayList<>(); } //Forma numero 1 (Uso de Maps). Map mapaSinRepetidos = new HashMap(listadocum.size()); for(TarmDocumentoHabilitante p : listadocum) { mapaSinRepetidos.put(p.getCtramite(), p); } //Agrego cada elemento del map a una nueva lista y muestro cada elemento. for(Entry p : mapaSinRepetidos.entrySet()) { ldocumentospersona.add(p.getValue()); } } @SuppressWarnings("unchecked") @Override protected void querydatabase() { try { DtoQuery dto = this.getDtoQuery(); String sqlFiltroPersona = ""; String sqlFiltroSancion = ""; String sqlFiltroEstados = ""; String sqlFiltroClaseArmas = ""; // String sqlFiltroFechaCaducidad = ""; String sqlFiltroValidacionArma = "";//si entre los estados existe renovacion entonces validamos que no pueda seleccionar las mismas armas if(this.getMfilelds().get("personcode") != null){ sqlFiltroPersona = " t.cregistro in (SELECT c.pk FROM TarmRegistroArmas c WHERE c.personcode="+this.getMfilelds().get("personcode")+")"; } //agregamos los filtros en base a la consideracion del field sancion, en caso de que lo sea buscamos los sancionados que hayan cumplido el tiempo de sancion SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); if(this.getMfilelds().containsKey("sancion") && this.getMfilelds().get("sancion").toString().equals(Constant.STR_Y)){ sqlFiltroSancion = " t.pk in (SELECT max(a.pk) FROM TarmArmas a WHERE a.codigoarma in (SELECT distinct(h.codigoarma) from TarmDocumentoHabilitante h WHERE h.pk in (SELECT d.cdocumento FROM TarmSancionDecomiso d WHERE d.personcode="+this.getMfilelds().get("personcode")+" AND d.fechafinal < TO_DATE('"+dateFormat.format(Calendar.getInstance().getTime())+"', 'YYYY-MM-DD'))) GROUP BY a.codigoarma)"; } dto.setOrderby("pk"); if(this.getMfilelds().get("ESTADOS") != null){ String[] estados = this.getMfilelds().get("ESTADOS").toString().split(","); StringBuffer sqlEstados = new StringBuffer(" t.estado IN ("); for (int i = 0; i < estados.length; i++) { sqlEstados.append("'").append(estados[i]).append("'"); if(i < estados.length - 1){ sqlEstados.append(","); } } sqlEstados.append(")"); sqlFiltroEstados = sqlEstados.toString(); } if(this.getMfilelds().get("TRAMITE") != null){ TarmTramite tarmTramite = (TarmTramite) this.getMfilelds().get("TRAMITE"); sqlFiltroValidacionArma = "t.pk not in (SELECT coalesce(max(a.pk),'-1') FROM TarmArmas a WHERE a.codigoarma in (SELECT distinct(h.codigoarma) from TarmDocumentoHabilitante h WHERE h.personcode="+this.getMfilelds().get("personcode")+" AND h.ctramite="+tarmTramite.getPk()+" AND h.estado = 'APR' AND trunc(h.fechaexpiracion) >= " + "TO_DATE('" +dateFormat.format(Calendar.getInstance().getTime())+ "','yyyy-MM-dd')) GROUP BY a.codigoarma)"; } //estados del armas if(this.getMfilelds().get("CLASEARMAS") != null){ String[] clasesarma = this.getMfilelds().get("CLASEARMAS").toString().split(","); StringBuffer sqlclasesarmas = new StringBuffer(" t.ctipoarmaexplosivo IN (select o.pk from TarmTipoArmaExplosivo o where o.clase in("); for (int i = 0; i < clasesarma.length; i++) { sqlclasesarmas.append("'").append(clasesarma[i]).append("'"); if(i < clasesarma.length - 1){ sqlclasesarmas.append(","); } } sqlclasesarmas.append(")) "); sqlFiltroClaseArmas = sqlclasesarmas.toString(); } // if(this.getMfilelds().get("FECHACADUCIDADARM") != null){ // sqlFiltroFechaCaducidad="t.fechacaducidad "+this.getMfilelds().get("FECHACADUCIDADARM"); // } String sqlActual = " t.fecharegistro=(select max(ta.fecharegistro) from TarmArmas ta where t.codigoarma=ta.codigoarma) and t.estado !='DEST' and t.estado!='VEND' and t.estado!='MING' and t.estado!='DUPL' and t.estado!='CUSTEM'" + " and (t.peso>0 or t.cantidad>0)";//distintas de destruidas y cambio de propietario and t.cregistro=ta.cregistro para el manejo de los explosivos // String sqlFinal = obtenerFiltroBusquedaGeneral(sqlFiltroPersona, sqlFiltroEstados, sqlFiltroSancion, sqlFiltroValidacionArma,sqlFiltroClaseArmas,sqlFiltroFechaCaducidad, sqlActual); String sqlFinal = obtenerFiltroBusquedaGeneral(sqlFiltroPersona, sqlFiltroEstados, sqlFiltroSancion, sqlFiltroValidacionArma,sqlFiltroClaseArmas,sqlActual); Filter filtroFinal = new Filter(); filtroFinal.setSql(sqlFinal); dto.addFiltro(filtroFinal); HashMap mtables = new HashMap(); mtables.put(this.beanalias, dto); // permite adicionar mas de una tabla. Request request = this.callerhelper.getRequest(); request.setQueryTables(mtables); request.put("queryalias", "ARMASCOMPLETE"); Response resp = this.callerhelper.executeQuery(request); if (resp.getResponseCode().compareTo(Response.RESPONSE_OK) != 0) { this.lrecord = new ArrayList(); MessageHelper.setMessageError(resp); } else { this.lrecord = (List) resp.get(this.beanalias); if(!lrecord.isEmpty()){ record=lrecord.get(0); } super.postQuery(this.lrecord); } } catch (Throwable e) { MessageHelper.setMessageError(e); } } public void actualizaPanelImportacion(){ if(esNuevaImportacion){ System.out.println("Logica para cuando es una nueva importacion: " + esNuevaImportacion); carga=new TarmCarga(); carga.setIsnew(Boolean.TRUE); registro.setIsnew(Boolean.TRUE); // if(registro.getPk()!=null){ // registro.setPk(null); // // } }else{ System.out.println("Logica para cuando es una importacion ya cargada y se consultara por AUCP: " + esNuevaImportacion); } // registro = new TarmRegistroArmas(); // this.lrecord = new ArrayList(); } private String obtenerFiltroBusquedaGeneral(String... sqlFiltros ){ StringBuffer sqlFinal = new StringBuffer(); for (int i = 0; i < sqlFiltros.length ; i++) { if(sqlFinal.length() > 0 && !StringUtils.endsWith(StringUtils.trim(sqlFinal.toString()), "AND")){ sqlFinal.append( " AND "); } sqlFinal.append(sqlFiltros[i]); } return sqlFinal.toString(); } @SuppressWarnings("unchecked") public void querydatabaseSinFiltros() { try { DtoQuery dto = this.getDtoQuery(); HashMap mtables = new HashMap(); mtables.put(this.beanalias, dto); // permite adicionar mas de una tabla. //se discrima las armas que sean distintas de destruidas y cambio de propietario Filter filtro = new Filter(); String sql=" t.estado !='DEST' and t.estado !='CDP'"; filtro.setSql(sql); dto.addFiltro(filtro); Request request = this.callerhelper.getRequest(); request.setQueryTables(mtables); Response resp = this.callerhelper.executeQuery(request); if (resp.getResponseCode().compareTo(Response.RESPONSE_OK) != 0) { this.lrecord = new ArrayList(); MessageHelper.setMessageError(resp); } else { this.lrecord = (List) resp.get(this.beanalias); super.postQuery(this.lrecord); } } catch (Throwable e) { MessageHelper.setMessageError(e); } } @Override public void next() throws Exception { // TODO Auto-generated method stub super.next(); } @SuppressWarnings("unchecked") protected void querydatabasePorCodigo() { try { DtoQuery dto = super.getDtoQuery(true); HashMap mtables = new HashMap(); mtables.put(this.beanalias, dto); // permite adicionar mas de una tabla. //se discrima las armas que sean distintas de destruidas y cambio de propietario Filter filtro = new Filter(); String sql=" t.estado !='DEST' and t.estado !='CDP'"; filtro.setSql(sql); dto.addFiltro(filtro); Request request = this.callerhelper.getRequest(); request.setQueryTables(mtables); Response resp = this.callerhelper.executeQuery(request); if (resp.getResponseCode().compareTo(Response.RESPONSE_OK) != 0) { this.lrecord = new ArrayList(); MessageHelper.setMessageError(resp); } else { this.lrecord = (List) resp.get(this.beanalias); if(!lrecord.isEmpty()){ record=lrecord.get(0); } super.postQuery(this.lrecord); } } catch (Throwable e) { MessageHelper.setMessageError(e); } } /** * Retorna un {@link DtoQuery} con los atributos a presentarse * @return * @throws Exception */ private DtoQuery getDtoQuery() throws Exception{ DtoQuery dto = super.getDtoQuery(true); SubQuery subqueryMarca= new SubQuery("TgeneCatalogDetail","description","marca","i.pk.catalog=t.marca and i.pk.catalogcode=t.marcacodigo"); dto.addSubQuery(subqueryMarca); SubQuery subqueryColor= new SubQuery("TgeneCatalogDetail","description","color","i.pk.catalog=t.color and i.pk.catalogcode=t.colorcodigo"); dto.addSubQuery(subqueryColor); SubQuery subqueryEstado= new SubQuery("TgeneCatalogDetail","description","estado","i.pk.catalog=t.estado and i.pk.catalogcode=t.estadocodigo"); dto.addSubQuery(subqueryEstado); SubQuery subqueryClase= new SubQuery("TarmTipoArmaExplosivo","clase","cclase","i.pk=t.ctipoarmaexplosivo"); dto.addSubQuery(subqueryClase); SubQuery subqueryClaseCodigo= new SubQuery("TarmTipoArmaExplosivo","clasecodigo","cclasecodigo","i.pk=t.ctipoarmaexplosivo"); dto.addSubQuery(subqueryClaseCodigo); SubQuery subqueryLongitud= new SubQuery("TarmTipoArmaExplosivo","longitud","clongitud","i.pk=t.ctipoarmaexplosivo"); dto.addSubQuery(subqueryLongitud); SubQuery subqueryLongitudCodigo= new SubQuery("TarmTipoArmaExplosivo","longitudcodigo","clongitudcodigo","i.pk=t.ctipoarmaexplosivo"); dto.addSubQuery(subqueryLongitudCodigo); SubQuery subqueryCalibre= new SubQuery("TarmTipoArmaExplosivo","calibre","ccalibre","i.pk=t.ctipoarmaexplosivo"); dto.addSubQuery(subqueryCalibre); SubQuery subqueryCalibreCodigo= new SubQuery("TarmTipoArmaExplosivo","calibrecodigo","ccalibrecodigo","i.pk=t.ctipoarmaexplosivo"); dto.addSubQuery(subqueryCalibreCodigo); SubQuery subqueryTipoArma= new SubQuery("TarmTipoArmaExplosivo","tipoarmaexplosivo","ctipoarmaexplosivo","i.pk=t.ctipoarmaexplosivo"); dto.addSubQuery(subqueryTipoArma); SubQuery subqueryTipoArmaCodigo= new SubQuery("TarmTipoArmaExplosivo","tipoarmaexplosivocodigo","ctipoarmaexplosivocodigo","i.pk=t.ctipoarmaexplosivo"); dto.addSubQuery(subqueryTipoArmaCodigo); SubQuery subqueryUnidad= new SubQuery("TarmTipoArmaExplosivo","unidadmedidapeso","cunidadmedidapeso","i.pk=t.ctipoarmaexplosivo"); dto.addSubQuery(subqueryUnidad); SubQuery subqueryUnidadCodigo= new SubQuery("TarmTipoArmaExplosivo","unidadmedidapesocodigo","cunidadmedidapesocodigo","i.pk=t.ctipoarmaexplosivo"); dto.addSubQuery(subqueryUnidadCodigo); SubQuery subqueryUnidadMedida= new SubQuery("TgeneCatalogDetail","description","unidadmedida","i.pk.catalog=t.unidadmedidacantidad and i.pk.catalogcode=t.unidadmedidacantidadcodigo"); dto.addSubQuery(subqueryUnidadMedida); SubQuery subquerycpersoncode= new SubQuery("TarmRegistroArmas","personcode","personcode","i.pk=t.cregistro"); dto.addSubQuery(subquerycpersoncode); SubQuery subqueryTipo= new SubQuery("TgeneCatalogDetail","description","tipo","i.pk.catalog= (select o.tipoarmaexplosivo from TarmTipoArmaExplosivo o where o.pk=t.ctipoarmaexplosivo) and " + " i.pk.catalogcode=(select o.tipoarmaexplosivocodigo from TarmTipoArmaExplosivo o where o.pk=t.ctipoarmaexplosivo)"); dto.addSubQuery(subqueryTipo); SubQuery subqueryTipoArmaExplosivo= new SubQuery("TgeneCatalogDetail","description","tipoarmaexplosivo","i.pk.catalog= (select o.tipoarmaexplosivo from TarmTipoArmaExplosivo o where o.pk=t.ctipoarmaexplosivo) and " + " i.pk.catalogcode=(select o.tipoarmaexplosivocodigo from TarmTipoArmaExplosivo o where o.pk=t.ctipoarmaexplosivo)"); dto.addSubQuery(subqueryTipoArmaExplosivo); SubQuery subqueryClasecatalogo= new SubQuery("TgeneCatalogDetail","description","clase","i.pk.catalog= (select o.clase from TarmTipoArmaExplosivo o where o.pk=t.ctipoarmaexplosivo) and " + " i.pk.catalogcode=(select o.clasecodigo from TarmTipoArmaExplosivo o where o.pk=t.ctipoarmaexplosivo)"); dto.addSubQuery(subqueryClasecatalogo); return dto; } @SuppressWarnings("unchecked") protected void querydatabaseSimple() { try { DtoQuery dto = super.getDtoQuery(true); HashMap mtables = new HashMap(); mtables.put(beanalias, dto); // permite adicionar mas de una tabla. //se discrima las armas que sean distintas de destruidas y cambio de propietario Filter filtro = new Filter(); String sql=" t.estado !='DEST' and t.estado !='CDP'"; filtro.setSql(sql); dto.addFiltro(filtro); Request request = callerhelper.getRequest(); request.setQueryTables(mtables); Response resp = callerhelper.executeQuery(request); if (resp.getResponseCode().compareTo(Response.RESPONSE_OK) != 0) { lrecord = new ArrayList(); MessageHelper.setMessageError(resp); } else { lrecord = (List) resp.get(beanalias); if(!lrecord.isEmpty()){ record=lrecord.get(0); } super.postQuery(lrecord); } } catch (Throwable e) { MessageHelper.setMessageError(e); } } @Override public void remove() throws Exception { if(record.getPk()==null){ super.remove(); } else{ ldeleteItems.add(this.record); super.remove(); } } @Override public void save() { try { if(registro.getTiporegistro().equals("IMP") && registro.isnew){ TarmCarga aucpUsadoPrevio = CargaController.findByAUCP(registro.getSolicitudnum()); if(aucpUsadoPrevio!=null){ MessageHelper.setMessageError(MsgControlArmas.getProperty("msg_error_aucp_previamente_cargado")); return; } if(this.registro.getPaisorigen()==null){ MessageHelper.setMessageError(MsgControlArmas.getProperty("msg_error_paisOrigenRequerido")); return; } if(this.carga.getProvincecode() ==null){ MessageHelper.setMessageError(MsgControlArmas.getProperty("msg_error_provinciaRequerido")); return; } if(this.carga.getCantoncode() ==null){ MessageHelper.setMessageError(MsgControlArmas.getProperty("msg_error_cantonRequerido")); return; } if(this.carga.getCitycode()==null){ MessageHelper.setMessageError(MsgControlArmas.getProperty("msg_error_ciudadRequerido")); return; } if(this.registro.getAeropuertopuerto()==null){ MessageHelper.setMessageError(MsgControlArmas.getProperty("msg_error_aeropuertoRequerido")); return; } } if(this.getLrecord().isEmpty()){ MessageHelper.setMessageError(MsgControlArmas.getProperty("msg_error_carga_armas_inexistentes")); return; } this.registroArmas.update(); Request request = callerhelper.getRequest(); this.registro.setPersoncode(usuario.getPk().getPersoncode()); this.registro.setFechasolicitud(new java.sql.Date((new Date()).getTime())); this.registro.setTiporegistrocodigo("TIPOREGISTRO"); // this.registro.setPaisorigen("EC"); this.registro.setFcreacion(new java.sql.Date(Calendar.getInstance().getTimeInMillis())); request.getModifiedData().put("LISTAARMAS", this.lrecord); request.getModifiedData().put("LISTAARMASELIMINADAS", this.ldeleteItems); request.getModifiedData().put("TIPOREGISTRO", this.registro.getTiporegistro()); request.getModifiedData().put("REGISTRO", this.registro); request.getModifiedData().put("PERSONCODE", usuario.getPk().getPersoncode()); request.getModifiedData().put("ESNUEVAIMPORTACION", esNuevaImportacion); carga.setCategoria(this.categoria); request.getModifiedData().put("TARMCARGA",carga); Response resp = callerhelper.executeSave(request); if (resp.getResponseCode().compareTo(Response.RESPONSE_OK) == 0) { this.postCommit(resp); MessageHelper.setMessageInfo(resp); isSave=Boolean.TRUE; } else { MessageHelper.setMessageError(resp); } } catch (Throwable e) { MessageHelper.setMessageError(e); } } public void saveArmaSolicitud() { try { if(!isArmaDuplicada(record)){ record.getModifiedData().put("edit", "S"); this.registroArmas.update(); update(); if(!existeTipoArmaExplosivo){ return; } DtoSave dtosave = super.getDtoSave(); dtosave.setReturnpk(Boolean.TRUE); // Para que el core devuelva el pk de los registros nuevos. dtosave.setPosition(2); HashMap msave = new HashMap(); DtoSave dtoSaveRegistro = registroArmas.getDtoSave(); dtoSaveRegistro.setIsForm(Boolean.TRUE); dtoSaveRegistro.setReturnpk(Boolean.TRUE); dtoSaveRegistro.setPosition(1); Request request = callerhelper.getRequest(); request.setTransactionModule("30"); request.setTransactionCode(15); request.setTransactionVersion(1); if(!verificaArmaExplosivo){ request.put("eseliminacion", Constant.STR_Y); }else{ msave.put(registroArmas.getBeanalias(), dtoSaveRegistro); } msave.put(beanalias, dtosave); // adicionar metadata de mantenimiento para cada tabla. request.put("TIPODOC", this.getMfilelds().get("tipodoc")); request.put("NUMDOC", this.getMfilelds().get("numdoc")); request.setSaveTables(msave); Response resp = callerhelper.executeSave(request); if (resp.getResponseCode().compareTo(Response.RESPONSE_OK) == 0) { this.postCommit(resp); this.registroArmas.postCommit(resp); MessageHelper.setMessageInfo(resp); } else { MessageHelper.setMessageError(resp); } }else{ record= null; MessageHelper.setMessageError(MsgControlArmas.getProperty("msg_armaDuplicada")); } } catch (Throwable e) { MessageHelper.setMessageError(e); } } @Override public void update() throws Exception { // TgeneCatalogDetail estado = CatalogDetailController.findxCodigoCodcatalogo(record.getEstado(), record.getEstadocodigo()); TgeneCatalogDetail marca = CatalogDetailController.findxCodigoCodcatalogo(record.getMarca(), record.getMarcacodigo()); // record.getModifiedData().put("estado", estado.getDescription()); isEnableCategoria = Boolean.FALSE; record.setPartidaarancelariacodigo("PARTIDAARANCELARIA"); record.setTipofabricacion("TIPOFABRICACION2"); record.setTipofabricacioncodigo("TIPOFABRICACION"); record.getModifiedData().put("marca", marca.getDescription()); for(TgeneCatalogDetail color:lcolor){ if(record.getColor()!=null && record.getColor().equals(color.getPk().getCatalog())){ record.getModifiedData().put("color", color.getDescription()); break; } } if(verificaArmaExplosivo){ if(tipoArmaExplosivo == null){ MessageHelper.setMessageError(MsgControlArmas.getProperty("msg_error_seleccionClase")); existeTipoArmaExplosivo = Boolean.FALSE; return; }else{ this.record.setCtipoarmaexplosivo(tipoArmaExplosivo.getPk()); record.getModifiedData().put("unidadMedidaCantidad", tipoArmaExplosivo.getUnidadmedidapeso()); existeTipoArmaExplosivo = Boolean.TRUE; } } super.update(); } public Boolean existeDuplicidad(){ if(this.lrecord.contains(record)){ return Boolean.TRUE; } return Boolean.FALSE; } public void updateAutorizacion()throws Exception { super.update(); } /** * Método que se ejecuta al carga edición * @throws Exception */ public void loadEdit() throws Exception { verificaArmaExplosivo = Boolean.TRUE; if(record.getCountrycode() == null){ record.setCountrycode("EC"); } if(record.getCtipoarmaexplosivo()==null){ MessageHelper.setMessageError("NO ESTA ASOCIADO A UN TIPO DE ARMA EXPLOSIVO"); return; } tipoArmaExplosivo= TiposArmasExplosivosController.findarma(record.getCtipoarmaexplosivo()); // lprovincias = ProvinceController.find(record.getCountrycode()); // executeProvince(); // if(record.getProvincecode() != null){ // lcantones = CantonController.find(record.getCountrycode(), record.getProvincecode()); // executeCanton(); // } // completaInfTipoArma(); // Anade la descripcion del tipo de arma explosivo if(tipoArmaExplosivo!=null){ this.clase = tipoArmaExplosivo.getClase(); this.longitud = tipoArmaExplosivo.getLongitud(); this.tipoarma = tipoArmaExplosivo.getTipoarmaexplosivo(); this.calibre = tipoArmaExplosivo.getCalibre(); } verificarClaseArma(); } // /** // * Método que completa la informaci´n del arma una vez se presiona el botón crear // */ // private void completaInfTipoArma(){ // TarmArmas recordArma = findPorCodigo(record.getPk()); // record.setCountrycode("EC"); // clase = record.getModifiedData().get("clase") != null ? recordArma.getModifiedData().get("clase").toString() : null; // calibre = record.getModifiedData().get("ccalibre") != null ? Utilidades.formatearDecimalesEnTexto((recordArma.getModifiedData().get("ccalibre").toString()).replace("null", ""), "#.00") : null; // longitud = record.getModifiedData().get("clongitud") != null ? recordArma.getModifiedData().get("clongitud").toString() : null; // tipoarma = record.getModifiedData().get("ctipoarmaexplosivo") != null ? recordArma.getModifiedData().get("ctipoarmaexplosivo").toString() : null; // } @Override public void create() throws Exception { if(categoria!=null){ super.create(); this.record.setEstadocodigo("ESTADOARMA"); this.record.setMarcacodigo("MARCA"); this.record.setCantidad(null); this.record.setPeso(null); this.lprovincias = ProvinceController.find(record.getCountrycode()); this.executeProvince(); this.bloquearUnidadCantidad = Boolean.TRUE; this.bloquearUnidadPeso = Boolean.TRUE; RequestContext.getCurrentInstance().execute("PF('dialog').show()"); }else{ MessageHelper.setMessageInfo(MsgControlArmas.getProperty("msg_categoriaRequerida")); return; } } public void update(TarmArmas bean) throws Exception { record=bean; updateAutorizacion(); } public void validacionDocumento(String numeroDocumento, String tipoDocumento){ if(numeroDocumento==null || tipoDocumento==null){ MessageHelper.setMessageError(MsgControlArmas.getProperty("mg_error_seleccioneeltipodedocumentooingreselacedula")); return; } TcustPersonDetail tcustPersonDetail=null; if(tipoDocumento.equals(codigoCedula)){ //----------validamos si es valida la CEDULA if(!ValidateIdentification.cedula(numeroDocumento)){ MessageHelper.setMessageError(MsgControlArmas.getProperty("msg_error_nodocumentoinvalido")); return; } //envia a buscar en MAIA tcustPersonDetail=buscarPersonaMaia(numeroDocumento,tipoDocumento); }else if(tipoDocumento.equals(codigoRuc)){ //----------validamos si es valida el RUC if(!ValidateIdentification.ruc(numeroDocumento)){ MessageHelper.setMessageError(MsgControlArmas.getProperty("msg_error_nodocumentoinvalido")); return; } //envia a buscar en maia tcustPersonDetail=buscarPersonaMaia(numeroDocumento,tipoDocumento); }else{ //----------si es PASAPORTE tcustPersonDetail=buscarPersonaMaia(numeroDocumento,tipoDocumento); } // if(tcustPersonDetail==null){ // nombreRazon=null; //// numDoc=null; // MessageHelper.setMessageError("La datos de la persona ingresada no existen, por favor crear primero la persona"); // return; // }else{ // nombreRazon=tcustPersonDetail.getName(); // } } /** Método para validar si la persona existe en la BD de Maia * @param numeroDocumento * @param tipoDocumento * @return TcustPersonDetail */ public TcustPersonDetail buscarPersonaMaia(String numeroDocumento, String tipoDocumento){ return PersonDetailController.findxidentification(numeroDocumento,tipoDocumento); } /** * Busca un arma por código y estado * @param armaCode código del arma * @param estado estado del arma * @return */ public static TarmArmas find(String armaCode,String estado) { try { if(armaCode==null){ return null; } ImportacionProduccionController cc = new ImportacionProduccionController(); cc.init(); cc.recperpage = 5000; cc.addFilter("pk", armaCode); if(estado!=null){ cc.addFilter("estado", estado); cc.addFilter("estadocodigo", "ESTADOARMA"); } cc.querydatabaseArmas(); if ((cc.lrecord != null) && !cc.lrecord.isEmpty()) { TarmTipoArmaExplosivo tarmTipoArmaExplosivo = new TarmTipoArmaExplosivo(); tarmTipoArmaExplosivo = TiposArmasExplosivosController.findarma(cc.lrecord.get(0).getCtipoarmaexplosivo()); if(tarmTipoArmaExplosivo!=null && tarmTipoArmaExplosivo.getCalibrecodigo()!=null) cc.record.modifiedData().put("calibre",tarmTipoArmaExplosivo==null?"":Utilidades.formatearDecimalesEnTexto((CatalogDetailController.findxCodigoCodcatalogo( tarmTipoArmaExplosivo.getCalibre(), tarmTipoArmaExplosivo.getCalibrecodigo()).getDescription()), "#.000")); cc.record.modifiedData().put("tipo",tarmTipoArmaExplosivo==null?"":CatalogDetailController.findxCodigoCodcatalogo( tarmTipoArmaExplosivo.getTipoarmaexplosivo(), tarmTipoArmaExplosivo.getTipoarmaexplosivocodigo()).getDescription()); cc.record.modifiedData().put("clase",tarmTipoArmaExplosivo==null?"":CatalogDetailController.findxCodigoCodcatalogo( tarmTipoArmaExplosivo.getClase(), tarmTipoArmaExplosivo.getClasecodigo()).getDescription()); cc.record.modifiedData().put("seleccion", Boolean.FALSE); cc.record.modifiedData().put("pais", cc.record.getCpaisorigen()==null?"":CountryController.findcountry(cc.record.getCpaisorigen()).getDescription()); return cc.lrecord.get(0); } return null; } catch (Throwable e) { MessageHelper.setMessageError(e); return null; } } /** * * @param codigopersona * @return */ public static TarmArmas findBySerieMarca(String serie, String marca) { try { ImportacionProduccionController cc = new ImportacionProduccionController(); cc.init(); cc.recperpage = 5000; if(serie!=null && !serie.isEmpty()){ cc.addFilter("lote", serie); } cc.addFilter("marca", marca); cc.querydatabaseSimple(); if ((cc.lrecord != null) && !cc.lrecord.isEmpty()) { return cc.lrecord.get(0); } return null; } catch (Throwable e) { MessageHelper.setMessageError(e); return null; } } /** * Busca un arma por código * @param armaCode * @return */ public static TarmArmas findByPK(String cArma) { try { ImportacionProduccionController cc = new ImportacionProduccionController(); cc.init(); cc.recperpage = 5000; cc.addFilter("pk", cArma); cc.querydatabaseSinFiltros(); if ((cc.lrecord != null) && !cc.lrecord.isEmpty()) { cc.record=cc.lrecord.get(0); TarmTipoArmaExplosivo tarmTipoArmaExplosivo = TiposArmasExplosivosController.findarma(cc.lrecord.get(0).getCtipoarmaexplosivo()); if(tarmTipoArmaExplosivo!=null){ if(tarmTipoArmaExplosivo.getCalibre() != null && tarmTipoArmaExplosivo.getCalibrecodigo() != null){ cc.record.modifiedData().put("calibre", CatalogDetailController.findxCodigoCodcatalogo(tarmTipoArmaExplosivo.getCalibre(), tarmTipoArmaExplosivo.getCalibrecodigo())!=null?CatalogDetailController.findxCodigoCodcatalogo(tarmTipoArmaExplosivo.getCalibre(), tarmTipoArmaExplosivo.getCalibrecodigo()).getDescription():""); } if(tarmTipoArmaExplosivo.getTipoarmaexplosivo() != null && tarmTipoArmaExplosivo.getTipoarmaexplosivocodigo() != null){ cc.record.modifiedData().put("tipo",CatalogDetailController.findxCodigoCodcatalogo(tarmTipoArmaExplosivo.getTipoarmaexplosivo(), tarmTipoArmaExplosivo.getTipoarmaexplosivocodigo())!=null? CatalogDetailController.findxCodigoCodcatalogo(tarmTipoArmaExplosivo.getTipoarmaexplosivo(),tarmTipoArmaExplosivo.getTipoarmaexplosivocodigo()).getDescription():""); } if(tarmTipoArmaExplosivo.getClase() != null && tarmTipoArmaExplosivo.getClasecodigo() != null){ cc.record.modifiedData().put("clase",CatalogDetailController.findxCodigoCodcatalogo(tarmTipoArmaExplosivo.getClase(), tarmTipoArmaExplosivo.getClasecodigo())!=null?CatalogDetailController.findxCodigoCodcatalogo(tarmTipoArmaExplosivo.getClase(), tarmTipoArmaExplosivo.getClasecodigo()).getDescription():""); } TarmRegistroArmas registroArmas = new TarmRegistroArmas(); TcustPersonDetail detallePersona = new TcustPersonDetail(); if(cc.record.getCregistro()!=null ){ registroArmas = RegistroArmController.findByCodigo(String.valueOf(cc.record.getCregistro())); if(registroArmas!=null){ detallePersona= PersonDetailController.find(String.valueOf(registroArmas.getPersoncode())); } } cc.record.modifiedData().put("razonsPropietario",registroArmas ==null || detallePersona==null?"":detallePersona.getName()); cc.record.modifiedData().put("documentoPropietario",registroArmas ==null || detallePersona==null?"":detallePersona.getIdentification()); cc.record.modifiedData().put("seleccion", Boolean.FALSE); return cc.lrecord.get(0); } } return null; } catch (Throwable e) { MessageHelper.setMessageError(e); return null; } } /** * Busca un arma por código * @param armaCode * @return */ public static TarmArmas findPorCodigo(String armaCode) { try { ImportacionProduccionController cc = new ImportacionProduccionController(); cc.init(); cc.recperpage = 5000; cc.addFilter("pk", armaCode); //cc.addFilter("REG", "ESTADOARMA"); cc.querydatabaseArmas(); if ((cc.lrecord != null) && !cc.lrecord.isEmpty()) { TarmTipoArmaExplosivo tarmTipoArmaExplosivo = TiposArmasExplosivosController.findarma(cc.lrecord.get(0).getCtipoarmaexplosivo()); if(tarmTipoArmaExplosivo!=null){ if(tarmTipoArmaExplosivo.getCalibre() != null && tarmTipoArmaExplosivo.getCalibrecodigo() != null){ cc.record.modifiedData().put("calibre", CatalogDetailController.findxCodigoCodcatalogo(tarmTipoArmaExplosivo.getCalibre(), tarmTipoArmaExplosivo.getCalibrecodigo())!=null?CatalogDetailController.findxCodigoCodcatalogo(tarmTipoArmaExplosivo.getCalibre(), tarmTipoArmaExplosivo.getCalibrecodigo()).getDescription():""); } if(tarmTipoArmaExplosivo.getTipoarmaexplosivo() != null && tarmTipoArmaExplosivo.getTipoarmaexplosivocodigo() != null){ cc.record.modifiedData().put("tipo",CatalogDetailController.findxCodigoCodcatalogo(tarmTipoArmaExplosivo.getTipoarmaexplosivo(), tarmTipoArmaExplosivo.getTipoarmaexplosivocodigo())!=null? CatalogDetailController.findxCodigoCodcatalogo(tarmTipoArmaExplosivo.getTipoarmaexplosivo(),tarmTipoArmaExplosivo.getTipoarmaexplosivocodigo()).getDescription():""); } if(tarmTipoArmaExplosivo.getClase() != null && tarmTipoArmaExplosivo.getClasecodigo() != null){ cc.record.modifiedData().put("clase",CatalogDetailController.findxCodigoCodcatalogo(tarmTipoArmaExplosivo.getClase(), tarmTipoArmaExplosivo.getClasecodigo())!=null?CatalogDetailController.findxCodigoCodcatalogo(tarmTipoArmaExplosivo.getClase(), tarmTipoArmaExplosivo.getClasecodigo()).getDescription():""); } TarmRegistroArmas registroArmas = new TarmRegistroArmas(); TcustPersonDetail detallePersona = new TcustPersonDetail(); if(cc.record.getCregistro()!=null ){ registroArmas = RegistroArmController.findByCodigo(String.valueOf(cc.record.getCregistro())); if(registroArmas!=null){ detallePersona= PersonDetailController.find(String.valueOf(registroArmas.getPersoncode())); } } cc.record.modifiedData().put("razonsPropietario",registroArmas ==null || detallePersona==null?"":detallePersona.getName()); cc.record.modifiedData().put("documentoPropietario",registroArmas ==null || detallePersona==null?"":detallePersona.getIdentification()); cc.record.modifiedData().put("marca",(cc.record ==null || cc.record.getMarca()==null || cc.record.getMarca().isEmpty() || cc.record.getMarcacodigo()==null || cc.record.getMarcacodigo().isEmpty())?"":CatalogDetailController.findxCodigoCodcatalogo(cc.record.getMarca(), cc.record.getMarcacodigo()).getDescription()); cc.record.modifiedData().put("seleccion", Boolean.FALSE); return cc.lrecord.get(0); } } return null; } catch (Throwable e) { MessageHelper.setMessageError(e); return null; } } /** * Busca un arma por código * @param armaCode * @return */ public static TarmArmas findXCodigo(String armaCode) { try { ImportacionProduccionController cc = new ImportacionProduccionController(); cc.init(); cc.recperpage = 5000; cc.addFilter("pk", armaCode); //cc.addFilter("REG", "ESTADOARMA"); cc.querydatabase(); if ((cc.lrecord != null) && !cc.lrecord.isEmpty()) { return cc.lrecord.get(0); } return null; } catch (Throwable e) { MessageHelper.setMessageError(e); return null; } } /** * Método para el evento change del combo provincias */ public void executeProvince() { if ((record.getCountrycode() != null) && (record.getCountrycode().compareTo("") != 0)) { lcantones = CantonController.find(record.getCountrycode(), record.getProvincecode()); lparroquias = new ArrayList<>(); lcities = new ArrayList<>(); } } /** * Método para el evento change del combo cantones */ public void executeCanton() { if ((record.getCountrycode() != null) && (record.getCountrycode().compareTo("") != 0)) { lparroquias = ParroquiaController.find(record.getCountrycode(), record.getProvincecode(), record.getCantoncode()); lcities = CityController.find(record.getCountrycode(), record.getProvincecode(), record.getCantoncode()); } } /** * * * @param personCode * @param estados estados del arma separados por coma * @return Una lista de Armas encontradas */ public List findxPersona(Long personCode, String estados, String clase, String fechaCaducidad) { List armasLista = null; try { armasLista = new ArrayList(); ImportacionProduccionController armas = new ImportacionProduccionController(); armas.init(); armas.recperpage = 4000; armas.addField("personcode", personCode); if(this.getMfilelds().get("sancion") != null){ armas.addField("sancion", this.getMfilelds().get("sancion")); } if(this.getMfilelds().get("TRAMITE") != null){ armas.addField("TRAMITE", this.getMfilelds().get("TRAMITE")); } if(estados == null){ armas.addFilter("estado", "REG"); } else{ armas.addField("ESTADOS", estados); } if(clase != null && clase .trim().length()>0){ armas.addField("CLASEARMAS", clase); } // if(fechaCaducidad != null && fechaCaducidad .trim().length()>0){ // armas.addField("FECHACADUCIDADARM", fechaCaducidad); // } armas.query(); if(armas.getLrecord() != null && !armas.getLrecord().isEmpty()){ armasLista.addAll(armas.getLrecord()); } return armasLista; } catch (Throwable e) { MessageHelper.setMessageError(e); return armasLista; } } /** * Lista de Armas por Registro **/ public static List findxRegistro(String registrocode) { try { ImportacionProduccionController cc = new ImportacionProduccionController(); cc.init(); cc.recperpage = 5000; cc.addFilter("cregistro", registrocode); cc.querydatabase(); if ((cc.lrecord != null) && !cc.lrecord.isEmpty()) { for(TarmArmas item : cc.lrecord){ TarmTipoArmaExplosivo tarmTipoArmaExplosivo = TiposArmasExplosivosController.findarma(item.getCtipoarmaexplosivo()); item.modifiedData().put("calibre",CatalogDetailController.findxCodigoCodcatalogo( tarmTipoArmaExplosivo.getCalibre(), tarmTipoArmaExplosivo.getCalibrecodigo()).getDescription()); item.modifiedData().put("tipo",CatalogDetailController.findxCodigoCodcatalogo( tarmTipoArmaExplosivo.getTipoarmaexplosivo(), tarmTipoArmaExplosivo.getTipoarmaexplosivocodigo()).getDescription()); item.modifiedData().put("clase",CatalogDetailController.findxCodigoCodcatalogo( tarmTipoArmaExplosivo.getClase(), tarmTipoArmaExplosivo.getClasecodigo()).getDescription()); item.modifiedData().put("longitud",CatalogDetailController.findxCodigoCodcatalogo( tarmTipoArmaExplosivo.getLongitud(), tarmTipoArmaExplosivo.getLongitudcodigo()).getDescription()); } return cc.lrecord; } return null; } catch (Throwable e) { MessageHelper.setMessageError(e); return null; } } /** * Abre el LOV de la clase del arma */ public void openLovClase() { Map> params = new HashMap>(); ClaseLovController.openLov(params); } /** * Regresa del LOV de armas * @param event */ public void onReturnClase(SelectEvent event) { TgeneCatalogDetail clase = (TgeneCatalogDetail) event.getObject(); this.record.getModifiedData().put("clase", clase.getDescription()); this.clase = clase.getPk().getCatalog(); this.verificarClaseArma(); } /** * Abre el LOV de la clase del arma */ public void openArmaExplosivoLov() { this.record.getModifiedData().put("longitud", null); this.record.getModifiedData().put("tipoarmaexplosivo", null); this.record.getModifiedData().put("calibre", null); // descripcionUnidadpeso=null; Map> params = new HashMap<>(); List lcategoriaParam = new ArrayList<>(); lcategoriaParam.add(categoria); params.put("categoria", lcategoriaParam); ArmaExplosivoLovController.openLov(params); } /** * Abre el LOV de busqueda de importaciones por codigo solicitud (AUCP) */ public void openCargaPrevia() { Map> params = new HashMap<>(); List lPersoncodeParam = new ArrayList<>(); lPersoncodeParam.add(usuario.getPk().getPersoncode().toString()); params.put("personcode", lPersoncodeParam); CargasLovController.openLov(params); } /** * Regresa del LOV de armas * @param event */ public void onReturnArmaExplosivo(SelectEvent event) { tipoArmaExplosivo = (TarmTipoArmaExplosivo) event.getObject(); //Setear descripciones a presentarse this.record.getModifiedData().put("clase", tipoArmaExplosivo.getModifiedData().get("nclase")); this.record.getModifiedData().put("tipoarmaexplosivo", tipoArmaExplosivo.getModifiedData().get("ntipo")); this.record.getModifiedData().put("longitud", tipoArmaExplosivo.getModifiedData().get("nlongitud")); this.record.getModifiedData().put("calibre", tipoArmaExplosivo.getModifiedData().get("ncalibre")); // Setear valores en las variables correspondientes if(tipoArmaExplosivo!=null){ this.clase = tipoArmaExplosivo.getClase(); this.longitud = tipoArmaExplosivo.getLongitud(); this.tipoarma = tipoArmaExplosivo.getTipoarmaexplosivo(); this.calibre = tipoArmaExplosivo.getCalibre(); this.record.setUnidadmedidacantidad(tipoArmaExplosivo.getUnidadmedidapeso()); } this.verificarClaseArma(); // valida cantidad para registro de produccion cantidadTxt.setValue(null); if(registro.getTiporegistro().equals("PRO")){ if((this.clase.equals("0010000001") || this.clase.equals("0010000004") || this.clase.equals("0010000008")) && this.bloquearUnidadPeso){ cantidadTxt.setValue("1"); cantidadTxt.setDisabled(true); } } } /** * Regresa del LOV de carga * @param event */ public void onReturnCarga(SelectEvent event) { System.out.println("Retorno del lov carga"); isSelectAucpPrevio = Boolean.TRUE; carga = (TarmCarga) event.getObject(); this.categoria = carga.getCategoria(); this.isEnableCategoria = Boolean.FALSE; if(carga.getEsdesaduanizado().equals("S")){ this.isSave = Boolean.TRUE; } carga.setIsnew(Boolean.FALSE); registro = RegistroArmController.findByCodigo(carga.getCregistro().toString()); registro.setIsnew(Boolean.FALSE); TgeneCountry paisOrigen = CountryController.findcountry(registro.getPaisorigen()); registro.getModifiedData().put("paisorigen", paisOrigen!=null?paisOrigen.getDescription():""); // Provincia TgeneProvince provinciaTmp = ProvinceController.findPorCodigo("EC", carga.getProvincecode()).get(0); if(provinciaTmp!=null){ carga.getModifiedData().put("provinceCode",provinciaTmp.getDescription()); } // Canton TgeneCanton cantonTmp = CantonController.findPorCodigo("EC", carga.getProvincecode(), carga.getCantoncode()).get(0); if(cantonTmp!=null){ carga.getModifiedData().put("cantonCode",cantonTmp.getDescription()); } // Ciudad TgeneCity ciudadTmp = CityController.findPorCodigo("EC", carga.getProvincecode(), carga.getCantoncode(), carga.getCitycode()).get(0); if(ciudadTmp!=null){ carga.getModifiedData().put("cityCode",ciudadTmp.getDescription()); } lrecord = ArmasController.findxRegistro(registro.getPk().toString()); if(lrecord==null){ this.lrecord = new ArrayList(); } } /** * Método en el cual se determina si se bloquea unidad o cantidad al momento de cargar los datos del arma * @param clase */ private void verificarClaseArma(){ if(tipoArmaExplosivo!=null){ TgeneCatalogDetail unidadesCatalog = CatalogDetailController.findCatalogo(tipoArmaExplosivo.getUnidadmedidapesocodigo(),tipoArmaExplosivo.getUnidadmedidapeso()); if(unidadesCatalog!=null && unidadesCatalog.getLegalcode().equals("CANTIDAD")){ this.record.getModifiedData().put("unidadMedidaCantidad", tipoArmaExplosivo.getUnidadmedidapeso()); this.record.getModifiedData().put("unidadMedidaPeso", null); this.bloquearUnidadCantidad = Boolean.FALSE; this.bloquearUnidadPeso = Boolean.TRUE; this.record.setPeso(null); }else if(unidadesCatalog!=null && unidadesCatalog.getLegalcode().equals("PESO")){ this.record.getModifiedData().put("unidadMedidaCantidad", null); this.record.getModifiedData().put("unidadMedidaPeso", tipoArmaExplosivo.getUnidadmedidapeso()); this.bloquearUnidadCantidad = Boolean.TRUE; this.bloquearUnidadPeso = Boolean.FALSE; this.record.setCantidad(null); }else{ this.record.getModifiedData().put("unidadMedidaCantidad", null); this.record.getModifiedData().put("unidadMedidaPeso", null); this.bloquearUnidadCantidad = Boolean.TRUE; this.bloquearUnidadPeso = Boolean.TRUE; } } } /** * Abre el LOV de la longitud del arma */ public void openLovLongitud() { Map> params = new HashMap>(); LongitudLovController.openLov(params); } /** * Regresa del LOV de longitud * @param event */ public void onReturnLongitud(SelectEvent event) { TgeneCatalogDetail longitud = (TgeneCatalogDetail) event.getObject(); this.record.getModifiedData().put("longitud", longitud.getDescription()); this.longitud = longitud.getPk().getCatalog(); } /** * Abre el LOV del tipo de arma */ public void openLovTipoArma() { Map> params = new HashMap>(); TipoArmaExpLovController.openLov(params); } /** * Regresa del LOV de tipo de arma * @param event */ public void onReturnTipoArma(SelectEvent event) { TgeneCatalogDetail tipoArma = (TgeneCatalogDetail) event.getObject(); this.record.getModifiedData().put("tipoarmaexplosivo", tipoArma.getDescription()); this.tipoarma = tipoArma.getPk().getCatalog(); } /** * Abre el LOV de Calibre */ public void openLovCalibre() { Map> params = new HashMap>(); CalibreLovController.openLov(params); } /** * Regresa del LOV del calibre * @param event */ public void onReturnCalibre(SelectEvent event) { TgeneCatalogDetail calibre = (TgeneCatalogDetail) event.getObject(); this.record.getModifiedData().put("calibre", calibre.getDescription()); this.calibre = calibre.getPk().getCatalog(); } /** * Abre el LOV cambio de usuario */ public void openLovCambioUsuario() { Map> params = new HashMap<>(); PersonLovController.openLov(params); } /** * Acción de retorno de la selección del usuario * @param event de retorno de la selección */ public void onReturnCambioUsuario(SelectEvent event) { nuevoPropietarioArma = (TcustPersonDetail) event.getObject(); } /** * Abre el dialog del cambio de persona */ public void abrirDialogCambio() { this.nuevoPropietarioArma = null; } /** * Se cambia el propietario del arma */ public void cambiarArmaUsuario() { try { CallerHelper callerHelper = new CallerHelper(); Request request = callerHelper.getRequest(); request.setCompany(1); request.setTransactionModule("30"); request.setTransactionCode(151); request.setTransactionVersion(1); request.put("ARMAACTUAL", this.record); request.put("NUEVAPERSONA", this.nuevoPropietarioArma); Response response = callerHelper.executeSave(request); if(response.getResponseCode().compareTo(Response.RESPONSE_OK) == 0){ MessageHelper.setMessageInfo(response); this.querydatabase(); } else{ MessageHelper.setMessageError(response); } } catch (Throwable e) { MessageHelper.setMessageError(e); } } /** * Carga las listas de cantones y limpia la lista de ciudades */ public void seleccionarProvincia(){ try { // codigoProvincia=this.record.getProvincecode(); lcantones = CantonController.find("EC", carga.getProvincecode()); lciudades = new ArrayList<>(); } catch (Exception e) { MessageHelper.setMessageError(e); } } /** * Carga las listas de ciudades */ public void seleccionarCanton(){ try { // codigoCanton = this.record.getCantoncode(); lciudades = CityController.find("EC", carga.getProvincecode(), carga.getCantoncode()); } catch (Exception e) { MessageHelper.setMessageError(e); } } /** * Seleccionado todos los registros de la tabla */ public void seleccionarTodos(AjaxBehaviorEvent event) { try { Boolean valorColocar = Boolean.FALSE; if(Boolean.valueOf(event.getComponent().getAttributes().get("value") != null ? event.getComponent().getAttributes().get("value").toString() : "false")){ valorColocar = Boolean.TRUE; } for (TarmArmas guardias : lrecord) { guardias.getModifiedData().put("seleccionado", valorColocar); } } catch (Throwable e) { MessageHelper.setMessageError(e); } } /** * Metodo para obtener el listado de las armas por la serie/lote * @param serieLote * @return */ public static List findxSerieLote(String serieLote) { try { ImportacionProduccionController cc = new ImportacionProduccionController(); cc.init(); cc.recperpage = 1000; cc.addFilter("lote", serieLote); cc.querydatabaseFechaMax(); if ((cc.lrecord != null) && !cc.lrecord.isEmpty()) { return cc.lrecord; } return null; } catch (Throwable e) { MessageHelper.setMessageError(e); return null; } } /** * Metodo para obtener los codigos */ private static String codigos(String parametro){ TgeneParameters tgeneParameters= ParametersController.find(parametro, "1"); return tgeneParameters.getTextvalue(); } @SuppressWarnings("unchecked") protected void querydatabaseFechaMax() { try { DtoQuery dto = this.getDtoQuery(); dto.setOrderby("pk"); String codigoEstadoIncautada=codigos("CODIGO.INCAUTADA"); String codigoEstadoDecomisada=codigos("CODIGO.DECOMISADA"); String codigoEstadoVendida=codigos("CODIGO.VENDIDA"); String codigoEstadoMatPrima=codigos("CODIGO.MATERIAPRIMA"); Filter filtro = new Filter(); String sql="t.fecharegistro=(select max(ta.fecharegistro) from TarmArmas ta where t.codigoarma=ta.codigoarma and t.cregistro=ta.cregistro)"//and t.cregistro=ta.cregistro para el manejo de los explosivos + " and t.estado !='DEST' and t.estado !='CDP' and t.estado !='"+codigoEstadoIncautada+"' and t.estado !='"+codigoEstadoDecomisada+"' and t.estado !='"+codigoEstadoVendida+"' and t.estado !='"+codigoEstadoMatPrima+"' "; filtro.setSql(sql); dto.addFiltro(filtro); HashMap mtables = new HashMap(); mtables.put(this.beanalias, dto); // permite adicionar mas de una tabla. Request request = this.callerhelper.getRequest(); request.setQueryTables(mtables); Response resp = this.callerhelper.executeQuery(request); if (resp.getResponseCode().compareTo(Response.RESPONSE_OK) != 0) { this.lrecord = new ArrayList(); MessageHelper.setMessageError(resp); } else { this.lrecord = (List) resp.get(this.beanalias); super.postQuery(this.lrecord); } } catch (Throwable e) { MessageHelper.setMessageError(e); } } public void actualizar(TarmArmas arma) throws Exception{ record=arma; super.update(); } /*Busca un arma por código * @param armaCode * @return */ public static TarmArmas findxCodigo(String armaCode) { try { ImportacionProduccionController cc = new ImportacionProduccionController(); cc.init(); cc.recperpage = 5000; cc.addFilter("pk", armaCode); cc.querydatabaseArmas(); cc.getRecord().getModifiedData().put("lmarca", cc.getLmarca()); if ((cc.lrecord != null) && !cc.lrecord.isEmpty()) { return cc.lrecord.get(0); } return null; } catch (Throwable e) { MessageHelper.setMessageError(e); return null; } } public TiposArmasExplosivosController getTiposArmasExplosivosController() { return tiposArmasExplosivosController; } public void setTiposArmasExplosivosController( TiposArmasExplosivosController tiposArmasExplosivosController) { this.tiposArmasExplosivosController = tiposArmasExplosivosController; } public RegistroArmController getRegistroArmas() { return registroArmas; } public void setRegistroArmas(RegistroArmController registroArmas) { this.registroArmas = registroArmas; } // public List getLtipoidentificacion() { // return ltipoidentificacion; // } // // // public void setLtipoidentificacion(List ltipoidentificacion) { // this.ltipoidentificacion = ltipoidentificacion; // } // // // public String getTipoDoc() { // return tipoDoc; // } // // // public void setTipoDoc(String tipoDoc) { // this.tipoDoc = tipoDoc; // } // public String getNumDoc() { // return numDoc; // } // // // public void setNumDoc(String numDoc) { // this.numDoc = numDoc; // } // public String getNombreRazon() { // return nombreRazon; // } // // // public void setNombreRazon(String nombreRazon) { // this.nombreRazon = nombreRazon; // } public List getLestadoarma() { return lestadoarma; } public void setLestadoarma(List lestadoarma) { this.lestadoarma = lestadoarma; } public List getLmarca() { return lmarca; } public void setLmarca(List lmarca) { this.lmarca = lmarca; } public List getLcolor() { return lcolor; } public void setLcolor(List lcolor) { this.lcolor = lcolor; } public List getLtipofabricacion() { return ltipofabricacion; } public void setLtipofabricacion(List ltipofabricacion) { this.ltipofabricacion = ltipofabricacion; } // public List getLcountry() { // return lcountry; // } // // // public void setLcountry(List lcountry) { // this.lcountry = lcountry; // } public List getLunidadmedidacantidad() { return lunidadmedidacantidad; } public void setLunidadmedidacantidad( List lunidadmedidacantidad) { this.lunidadmedidacantidad = lunidadmedidacantidad; } public String getLongitud() { return longitud; } public void setLongitud(String longitud) { this.longitud = longitud; } public String getCalibre() { return calibre; } public void setCalibre(String calibre) { this.calibre = calibre; } public String getClase() { return clase; } public void setClase(String clase) { this.clase = clase; } public String getTipoarma() { return tipoarma; } public void setTipoarma(String tipoarma) { this.tipoarma = tipoarma; } public String getUnidadmedidapeso() { return unidadmedidapeso; } public void setUnidadmedidapeso(String unidadmedidapeso) { this.unidadmedidapeso = unidadmedidapeso; } public List getLunidadmedidapeso() { return lunidadmedidapeso; } public void setLunidadmedidapeso(List lunidadmedidapeso) { this.lunidadmedidapeso = lunidadmedidapeso; } 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; } public boolean isExisteTipoArmaExplosivo() { return existeTipoArmaExplosivo; } public void setExisteTipoArmaExplosivo(boolean existeTipoArmaExplosivo) { this.existeTipoArmaExplosivo = existeTipoArmaExplosivo; } public boolean isVerificaArmaExplosivo() { return verificaArmaExplosivo; } public void setVerificaArmaExplosivo(boolean verificaArmaExplosivo) { this.verificaArmaExplosivo = verificaArmaExplosivo; } public boolean isBloquearUnidadCantidad() { return bloquearUnidadCantidad; } public void setBloquearUnidadCantidad(boolean bloquearUnidadCantidad) { this.bloquearUnidadCantidad = bloquearUnidadCantidad; } public boolean isBloquearUnidadPeso() { return bloquearUnidadPeso; } public void setBloquearUnidadPeso(boolean bloquearUnidadPeso) { this.bloquearUnidadPeso = bloquearUnidadPeso; } public Date getFechaActual() { return fechaActual; } public void setFechaActual(Date fechaActual) { this.fechaActual = fechaActual; } public TarmTipoArmaExplosivo getTipoArmaExplosivo() { return tipoArmaExplosivo; } public void setTipoArmaExplosivo(TarmTipoArmaExplosivo tipoArmaExplosivo) { this.tipoArmaExplosivo = tipoArmaExplosivo; } protected void querydatabaseArmas() { try { DtoQuery dto = this.getDtoQuery(); dto.setOrderby("pk"); if(this.getMfilelds().get("ESTADOS") != null){ Filter filtroEstados = new Filter(); String[] estados = this.getMfilelds().get("ESTADOS").toString().split(","); StringBuffer sqlEstados = new StringBuffer(" t.estado IN ("); for (int i = 0; i < estados.length; i++) { sqlEstados.append("'").append(estados[i]).append("'"); if(i < estados.length - 1){ sqlEstados.append(","); } } sqlEstados.append(")"); filtroEstados.setSql(sqlEstados.toString()); dto.addFiltro(filtroEstados); }else{ //se discrima las armas que sean distintas de destruidas y cambio de propietario Filter filtro = new Filter(); String sql=" t.estado !='DEST' and t.estado !='CDP'"; filtro.setSql(sql); dto.addFiltro(filtro); } HashMap mtables = new HashMap(); mtables.put(this.beanalias, dto); // permite adicionar mas de una tabla. Request request = this.callerhelper.getRequest(); request.setQueryTables(mtables); request.put("queryalias", "ARMASCOMPLETE"); Response resp = this.callerhelper.executeQuery(request); if (resp.getResponseCode().compareTo(Response.RESPONSE_OK) != 0) { this.lrecord = new ArrayList(); MessageHelper.setMessageError(resp); } else { this.lrecord = (List) resp.get(this.beanalias); if(!lrecord.isEmpty()){ record=lrecord.get(0); } super.postQuery(this.lrecord); } } catch (Throwable e) { MessageHelper.setMessageError(e); } } public TcustPersonDetail getNuevoPropietarioArma() { return nuevoPropietarioArma; } public void setNuevoPropietarioArma(TcustPersonDetail nuevoPropietarioArma) { this.nuevoPropietarioArma = nuevoPropietarioArma; } /** * Busca un arma por código * @param armaCode * @return */ public static TarmArmas findXCodigoArma(String armaCode) { try { ImportacionProduccionController cc = new ImportacionProduccionController(); cc.init(); cc.recperpage = 5000; cc.addFilter("codigoarma", armaCode); cc.querydatabase(); if ((cc.lrecord != null) && !cc.lrecord.isEmpty()) { return cc.lrecord.get(0); } return null; } catch (Throwable e) { MessageHelper.setMessageError(e); return null; } } @SuppressWarnings("unchecked") public void querydatabasesimple() { try { DtoQuery dto = this.getDtoQuery(); HashMap mtables = new HashMap(); mtables.put(this.beanalias, dto); // permite adicionar mas de una tabla. Request request = this.callerhelper.getRequest(); request.setQueryTables(mtables); Response resp = this.callerhelper.executeQuery(request); if (resp.getResponseCode().compareTo(Response.RESPONSE_OK) != 0) { this.lrecord = new ArrayList(); MessageHelper.setMessageError(resp); } else { this.lrecord = (List) resp.get(this.beanalias); super.postQuery(this.lrecord); } } catch (Throwable e) { MessageHelper.setMessageError(e); } } @SuppressWarnings("unchecked") public void querydatabaseArmaDuplicada(TarmArmas armaObj) { try { DtoQuery dto = this.getDtoQuery(); Filter filtro = new Filter(); filtro.setSql("t.marca='"+armaObj.getMarca()+"' and t.marcacodigo='"+armaObj.getMarcacodigo()+"' and upper(t.lote)='"+ armaObj.getLote().toUpperCase()+"'"); dto.addFiltro(filtro); HashMap mtables = new HashMap(); mtables.put(this.beanalias, dto); // permite adicionar mas de una tabla. Request request = this.callerhelper.getRequest(); request.setQueryTables(mtables); Response resp = this.callerhelper.executeQuery(request); if (resp.getResponseCode().compareTo(Response.RESPONSE_OK) != 0) { this.lrecord = new ArrayList(); MessageHelper.setMessageError(resp); } else { this.lrecord = (List) resp.get(this.beanalias); super.postQuery(this.lrecord); } } catch (Throwable e) { MessageHelper.setMessageError(e); } } public static TarmArmas findSimple(String carma) { try { ImportacionProduccionController cc = new ImportacionProduccionController(); cc.init(); cc.recperpage = 5000; cc.addFilter("pk", carma); cc.querydatabasesimple(); if ((cc.lrecord != null) && !cc.lrecord.isEmpty()) { return cc.lrecord.get(0); } return null; } catch (Throwable e) { MessageHelper.setMessageError(e); return null; } } public static Boolean isArmaDuplicada(TarmArmas armaObj) { Boolean isDuplicada = Boolean.FALSE; ImportacionProduccionController cc; try { cc = new ImportacionProduccionController(); cc.init(); cc.recperpage = 300; cc.querydatabaseArmaDuplicada(armaObj); if ((cc.lrecord != null) && !cc.lrecord.isEmpty()) { for(TarmArmas armaTmp:cc.lrecord){ TarmTipoArmaExplosivo tipoArmaExpTmp = TiposArmasExplosivosController.findarma(armaTmp.getCtipoarmaexplosivo()); TgeneCatalogDetail claseTmp = CatalogDetailController.findCatalogo(tipoArmaExpTmp.getClasecodigo(), tipoArmaExpTmp.getClase()); TgeneCatalogDetail tipoArmaTmp = CatalogDetailController.findCatalogo(tipoArmaExpTmp.getTipoarmaexplosivocodigo(), tipoArmaExpTmp.getTipoarmaexplosivo()); TgeneCatalogDetail calibreTmp = CatalogDetailController.findCatalogo(tipoArmaExpTmp.getCalibrecodigo(), tipoArmaExpTmp.getCalibre()); // Valido la clase, tipoarma y calibre solo para armas de fuego y armas no letales if(claseTmp.getPk().getCatalog().equals("0010000001") || claseTmp.getPk().getCatalog().equals("0010000008")){ if(armaObj.getModifiedData().get("clase")!=null && armaObj.getModifiedData().get("tipoarmaexplosivo")!=null){ if(armaObj.getModifiedData().get("clase").toString().equalsIgnoreCase(claseTmp!=null?claseTmp.getDescription():"")&& armaObj.getModifiedData().get("tipoarmaexplosivo").toString().equalsIgnoreCase(tipoArmaTmp!=null?tipoArmaTmp.getDescription():"")){ if(armaObj.getModifiedData().get("calibre")!=null && calibreTmp!=null && armaObj.getModifiedData().get("calibre").toString().equalsIgnoreCase(calibreTmp.getDescription())){ isDuplicada = Boolean.TRUE; break; } } }else{ MessageHelper.setMessageError("CLASE Y/O TIPO DE ARMA EXPLOSIVO INCORRECTOS"); } } } } return isDuplicada; } catch (Exception e) { // TODO Auto-generated catch block MessageHelper.setMessageError(e); return null; } } public static TarmArmas find(String carma) { try { ImportacionProduccionController cc = new ImportacionProduccionController(); cc.init(); cc.recperpage = 5000; cc.addFilter("pk", carma); cc.querydatabasesimple(); if ((cc.lrecord != null) && !cc.lrecord.isEmpty()) { TarmTipoArmaExplosivo tarmTipoArmaExplosivo = TiposArmasExplosivosController.findarma(cc.lrecord.get(0).getCtipoarmaexplosivo()); if(tarmTipoArmaExplosivo!=null){ if(tarmTipoArmaExplosivo.getCalibre() != null && tarmTipoArmaExplosivo.getCalibrecodigo() != null){ cc.record.modifiedData().put("calibre", CatalogDetailController.findxCodigoCodcatalogo(tarmTipoArmaExplosivo.getCalibre(), tarmTipoArmaExplosivo.getCalibrecodigo())!=null?CatalogDetailController.findxCodigoCodcatalogo(tarmTipoArmaExplosivo.getCalibre(), tarmTipoArmaExplosivo.getCalibrecodigo()).getDescription():""); } if(tarmTipoArmaExplosivo.getTipoarmaexplosivo() != null && tarmTipoArmaExplosivo.getTipoarmaexplosivocodigo() != null){ cc.record.modifiedData().put("tipo",CatalogDetailController.findxCodigoCodcatalogo(tarmTipoArmaExplosivo.getTipoarmaexplosivo(), tarmTipoArmaExplosivo.getTipoarmaexplosivocodigo())!=null? CatalogDetailController.findxCodigoCodcatalogo(tarmTipoArmaExplosivo.getTipoarmaexplosivo(),tarmTipoArmaExplosivo.getTipoarmaexplosivocodigo()).getDescription():""); } if(tarmTipoArmaExplosivo.getClase() != null && tarmTipoArmaExplosivo.getClasecodigo() != null){ cc.record.modifiedData().put("clase",CatalogDetailController.findxCodigoCodcatalogo(tarmTipoArmaExplosivo.getClase(), tarmTipoArmaExplosivo.getClasecodigo())!=null?CatalogDetailController.findxCodigoCodcatalogo(tarmTipoArmaExplosivo.getClase(), tarmTipoArmaExplosivo.getClasecodigo()).getDescription():""); } TarmRegistroArmas registroArmas = new TarmRegistroArmas(); TcustPersonDetail detallePersona = new TcustPersonDetail(); if(cc.record.getCregistro()!=null ){ registroArmas = RegistroArmController.findByCodigo(String.valueOf(cc.record.getCregistro())); if(registroArmas!=null){ detallePersona= PersonDetailController.find(String.valueOf(registroArmas.getPersoncode())); } } cc.record.modifiedData().put("razonsPropietario",registroArmas ==null || detallePersona==null?"":detallePersona.getName()); cc.record.modifiedData().put("documentoPropietario",registroArmas ==null || detallePersona==null?"":detallePersona.getIdentification()); cc.record.modifiedData().put("marca",(cc.record ==null || cc.record.getMarca()==null || cc.record.getMarca().isEmpty() || cc.record.getMarcacodigo()==null || cc.record.getMarcacodigo().isEmpty())?"":CatalogDetailController.findxCodigoCodcatalogo(cc.record.getMarca(), cc.record.getMarcacodigo()).getDescription()); cc.record.modifiedData().put("seleccion", Boolean.FALSE); return cc.lrecord.get(0); } } return null; } catch (Throwable e) { MessageHelper.setMessageError(e); return null; } } public TgeneCatalogDetail getTipoDocumento() { return tipoDocumento; } public void setTipoDocumento(TgeneCatalogDetail tipoDocumento) { this.tipoDocumento = tipoDocumento; } public TcustPersonDetail getDetallesPersona() { return detallesPersona; } public void setDetallesPersona(TcustPersonDetail detallesPersona) { this.detallesPersona = detallesPersona; } public List getTiposRegistro() { return tiposRegistro; } public void setTiposRegistro(List tiposRegistro) { this.tiposRegistro = tiposRegistro; } public TcustPersonDetail getUsuario() { return usuario; } public void setUsuario(TcustPersonDetail usuario) { this.usuario = usuario; } public List getLdocumentospersona() { return ldocumentospersona; } public void setLdocumentospersona( List ldocumentospersona) { this.ldocumentospersona = ldocumentospersona; } // public TarmRegistroArmas getRegistro() { // return registro; // } // // public void setRegistro(TarmRegistroArmas registro) { // this.registro = registro; // } public List getLpaises() { return lpaises; } public void setLpaises(List lpaises) { this.lpaises = lpaises; } public List getLciudades() { return lciudades; } public void setLciudades(List lciudades) { this.lciudades = lciudades; } public List getLaeropuertos() { return laeropuertos; } public void setLaeropuertos(List laeropuertos) { this.laeropuertos = laeropuertos; } public String getCodigoProvincia() { return codigoProvincia; } public void setCodigoProvincia(String codigoProvincia) { this.codigoProvincia = codigoProvincia; } public String getCodigoCanton() { return codigoCanton; } public void setCodigoCanton(String codigoCanton) { this.codigoCanton = codigoCanton; } public TarmRegistroArmas getRegistro() { return registro; } public void setRegistro(TarmRegistroArmas registro) { this.registro = registro; } public String getCategoria() { return categoria; } public void setCategoria(String categoria) { this.categoria = categoria; } public Boolean getEstadoDesaduanizado() { return estadoDesaduanizado; } public void setEstadoDesaduanizado(Boolean estadoDesaduanizado) { this.estadoDesaduanizado = estadoDesaduanizado; } public Boolean getEsNuevaImportacion() { return esNuevaImportacion; } public void setEsNuevaImportacion(Boolean esNuevaImportacion) { this.esNuevaImportacion = esNuevaImportacion; } public String getFilterAUCP() { return filterAUCP; } public void setFilterAUCP(String filterAUCP) { this.filterAUCP = filterAUCP; } public TarmCarga getCarga() { return carga; } public void setCarga(TarmCarga carga) { this.carga = carga; } public Boolean getIsSelectAucpPrevio() { return isSelectAucpPrevio; } public void setIsSelectAucpPrevio(Boolean isSelectAucpPrevio) { this.isSelectAucpPrevio = isSelectAucpPrevio; } public Boolean getIsSave() { return isSave; } public void setIsSave(Boolean isSave) { this.isSave = isSave; } public InputNumber getCantidadTxt() { return cantidadTxt; } public void setCantidadTxt(InputNumber cantidadTxt) { this.cantidadTxt = cantidadTxt; } public List getLpartidaArancelaria() { return lpartidaArancelaria; } public void setLpartidaArancelaria(List lpartidaArancelaria) { this.lpartidaArancelaria = lpartidaArancelaria; } public Boolean getIsEnableCategoria() { return isEnableCategoria; } public void setIsEnableCategoria(Boolean isEnableCategoria) { this.isEnableCategoria = isEnableCategoria; } }