package com.fp.frontend.controller.armas.solicitud; import java.io.InputStream; import java.math.BigDecimal; 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 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.primefaces.context.RequestContext; import org.primefaces.event.FileUploadEvent; import org.primefaces.model.UploadedFile; import com.fp.dto.Request; import com.fp.dto.Response; import com.fp.dto.query.DtoQuery; import com.fp.dto.save.DtoSave; import com.fp.frontend.controller.AbstractController; import com.fp.frontend.controller.ReportController; import com.fp.frontend.controller.alfresco.AlfrescoController; import com.fp.frontend.controller.armas.funcionalidad.RegistroArmController; import com.fp.frontend.controller.armas.parametros.CashManagementHistoryController; import com.fp.frontend.controller.armas.parametros.CentroControlArmasController; import com.fp.frontend.controller.armas.parametros.TarmCentroControlJurController; import com.fp.frontend.controller.armas.parametros.TiposArmasExplosivosController; import com.fp.frontend.controller.pcustomer.PersonAddressController; import com.fp.frontend.controller.pcustomer.PersonDetailController; import com.fp.frontend.controller.pgeneral.gene.CatalogDetailController; import com.fp.frontend.controller.pgeneral.gene.CountryController; import com.fp.frontend.controller.pgeneral.gene.ParametersController; import com.fp.frontend.helper.MessageHelper; import com.fp.frontend.utility.MsgControlArmas; import com.fp.persistence.parmas.fun.TarmRegistroArmas; import com.fp.persistence.parmas.param.TarmCentroControl; import com.fp.persistence.parmas.param.TarmCentroControlJur; import com.fp.persistence.parmas.param.TarmTipoArmaExplosivo; import com.fp.persistence.parmas.param.TarmTramite; import com.fp.persistence.parmas.soli.TarmArmaPruebas; import com.fp.persistence.parmas.soli.TarmArmas; import com.fp.persistence.parmas.soli.TarmSolicitud; import com.fp.persistence.parmas.soli.TarmSolicitudArmas; import com.fp.persistence.parmas.soli.TarmSolicitudTramite; import com.fp.persistence.pcustomer.gene.TcustPersonAddress; import com.fp.persistence.pcustomer.gene.TcustPersonDetail; import com.fp.persistence.pgeneral.gene.TgeneCatalogDetail; import com.fp.persistence.pgeneral.gene.TgeneCountry; import com.fp.persistence.pgeneral.gene.TgeneParameters; import com.fp.persistence.pgeneral.safe.TsafeUserDetail; /** * * Genrera fichas tecnicas de armas faltantes * @author Christian Pazmino * */ @SuppressWarnings("serial") @ManagedBean @ViewScoped public class FichasTecnicasFlatantesController extends AbstractController { /** * */ private static final long serialVersionUID = 8843091476010012919L; /** * Controlador que maneja alfresco */ @ManagedProperty(value = "#{alfrescoController}") private AlfrescoController alfrescoController; /** * Controlador que maneja reportes */ @ManagedProperty(value = "#{reportController}") private ReportController reportController; /** * Controlador que maneja armas */ @ManagedProperty(value = "#{armasController}") private ArmasController armas; private TarmArmas arma = new TarmArmas(); private String editarReg; private String codigoSolicitud; private boolean habilitaButtom; private TarmCentroControl centroControl = new TarmCentroControl(); private List listadoArmasPruebas = new ArrayList<>(); private String observacion; private String estado; private Date fec_actual; private String formato; private String xpathflujo; private TcustPersonDetail responsableCentroControl= null; private TsafeUserDetail tsafeUserDetailUsuario = null; private Boolean btnFlujo; private List tarmArmaPruebasList; /** * lista del catalogo de las acciones (Aceptar o rechazar) */ private List laccion; private boolean deshabilitadoGenerarReporte=true; private TarmSolicitud solicitud; private TarmSolicitudTramite solicitudTramite; private TarmTramite tramite; private TcustPersonAddress direccionCliente; private String provincia; private String canton; private String ciudad; private String direccion; private TgeneCatalogDetail estadotramite; private TgeneCatalogDetail usoActividad; private TcustPersonDetail personaDetalle; private TgeneCatalogDetail identificacion; private TgeneCatalogDetail detallecatalogoTipoTramite; private TgeneCatalogDetail detallecatalogo; private TgeneParameters fichasFaltantesParametro; private Integer cPruebaInicio; private Integer cPruebaFin; /** * Controlador que maneja los datos de generacion ultima vez del reporte */ @ManagedProperty(value = "#{parametersController}") private ParametersController parametersController; public FichasTecnicasFlatantesController() throws Exception { super(TarmArmaPruebas.class); } @PostConstruct private void postconstruct() { try { init(); } catch (Exception e) { MessageHelper.setMessageError(e); } } private void init() { recperpage = 13000; // Cambiar al # reg a mirar. lrecord = new ArrayList<>(); record=new TarmArmaPruebas(); beanalias = "INGRESOFICHASFALTANTES"; fichasFaltantesParametro =ParametersController.find("FICHASFALTANTES", "1"); cPruebaInicio = fichasFaltantesParametro.getNumbervalue().intValue(); cPruebaFin = 13187; } @Override public void create() throws Exception { super.create(); } @SuppressWarnings("unchecked") @Override protected void querydatabase() { try { Request request = this.callerhelper.getRequest(); DtoQuery dto = super.getDtoQuery(true); dto.setOrderby("t.pk"); HashMap mtables = new HashMap(); mtables.put(this.beanalias, dto); // permite adicionar mas de una tabla. 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 save() { try { DtoSave dtosave = super.getDtoSave(); dtosave.setReturnpk(true); // Para que el core devuelva el pk de los registros nuevos. HashMap msave = new HashMap(); Request request = this.callerhelper.getRequest(); msave.put(this.beanalias, dtosave); // adicionar metadata de mantenimiento para cada tabla. request.setSaveTables(msave); Response resp = this.callerhelper.executeSave(request); if (resp.getResponseCode().compareTo(Response.RESPONSE_OK) == 0) { this.postCommit(resp); MessageHelper.setMessageInfo(resp); } else { MessageHelper.setMessageError(resp); } } catch (Throwable e) { MessageHelper.setMessageError(e); } } public void uploadImpronta(FileUploadEvent event) { record.modifiedData().put("FileUploadImpronta", event.getFile()); } public void uploadFoto(FileUploadEvent event) { record.modifiedData().put("FileUploadFoto", event.getFile()); } public void generarReportesFaltantes(){ try{ for(int i=cPruebaInicio;i<=cPruebaFin;i++){ this.record = IngresoFichaTecnicaArmasController.findByPk(String.valueOf(i)); // Comentar numeroArmasEnSolicitud(xxx) para volver a generar cualquier ficha de solicitud con una unica arma.. // Validamos solo para solicitudes que tienen path y cuya solicitud tiene mas de una arma if(this.record!=null && numeroArmasEnSolicitud(record.getCsolicitud())>1 && (this.record.getXpathfichatecarmas()!=null || this.record.getXpathfotografia()!=null || this.record.getXpathimpronta()!=null)){ System.out.println("*****GENERACION DE FICHA TECNICA: "+i+" *****"); this.solicitud = SolicitudArmasController.findByCSolicitud(this.record.getCsolicitud()); this.codigoSolicitud = solicitud.getPk(); this.solicitudTramite=SolicitudTramiteController.findByCSolicitud(codigoSolicitud); this.tramite=TarmTramiteController.find(solicitud.getCtramite()+""); this.personaDetalle = PersonDetailController.find(String.valueOf(solicitud.getPersoncode())); direccionCliente=PersonAddressController.find(String.valueOf(solicitud.getPersoncode())) ; provincia = direccionCliente.modifiedData().get("provincia")==null?null: direccionCliente.modifiedData().get("provincia").toString(); //personAddressController.getLprovinces()==null || .getLprovinces().isEmpty()?null:personAddressController.getLprovinces().get(0); canton = direccionCliente.modifiedData().get("canton")==null?null: direccionCliente.modifiedData().get("canton").toString();//personAddressController.getLcantones()==null || personAddressController.getLcantones().isEmpty()?null:personAddressController.getLcantones().get(0); ciudad = direccionCliente.modifiedData().get("ciudad")==null?null: direccionCliente.modifiedData().get("ciudad").toString();//personAddressController.getLcities()==null || personAddressController.getLcities().isEmpty()?null:personAddressController.getLcities().get(0); direccion= direccionCliente.getAddress(); estadotramite = (solicitudTramite.getEstadotramite()==null || solicitudTramite.getEstadotramitecodigo()==null)?null:CatalogDetailController.findxCodigoCodcatalogo(solicitudTramite.getEstadotramite(), solicitudTramite.getEstadotramitecodigo()); usoActividad = (tramite.getUsoactividad()==null || tramite.getUsoactividadcodigo()==null)?null:CatalogDetailController.findxCodigoCodcatalogo(tramite.getUsoactividad(), tramite.getUsoactividadcodigo()); identificacion = (personaDetalle.getIdentificationcatalog()==null || personaDetalle.getIdentificationcatalogcode()==null)?null:CatalogDetailController.findxCodigoCodcatalogo(personaDetalle.getIdentificationcatalog(), personaDetalle.getIdentificationcatalogcode()); detallecatalogoTipoTramite = (tramite.getTipoautorizacion()==null || tramite.getTipoautorizacioncodigo()==null)?null:CatalogDetailController.findxCodigoCodcatalogo(tramite.getTipoautorizacion(), tramite.getTipoautorizacioncodigo()); detallecatalogo = (tramite.getCategoria()==null || tramite.getCategoriacodigo()==null)?null:CatalogDetailController.findxCodigoCodcatalogo(tramite.getCategoria(), tramite.getCategoriacodigo()); this.obtenerCentroControl(); this.obtenerResponsableCentroControl(); reporteFichaArmas(i); } } } catch (Exception ex) { MessageHelper.setMessageError(ex); } } /** * Metodo para extrer solo el nombre del archivo * @param xpath xpath del archivo en alfresco * @return solo la parte correspondiente al nombre del archivo */ public String soloNombreArchivo(String xpath){ return xpath.substring(xpath.lastIndexOf(":") + 1,xpath.length()); } /** * Retorna el xpath de la ruta en donde se va a almacenar el documento * @param xpath ruta en donde se almacenará el archivo * @return */ private String obtenerXpath(String xpath) { String rutaXpath = null; int indice = xpath.lastIndexOf("/cm:"); rutaXpath = xpath.substring(0, indice); return rutaXpath; } /** * Retorna el xpath de la ruta en donde se va a almacenar el documento * @param xpath ruta en donde se almacenará el archivo * @return */ private String obtenerXpathDesdeFotografia(String xpath) { String rutaXpath = null; int indice = xpath.lastIndexOf("/cm:fotografia/cm:"); rutaXpath = xpath.substring(0, indice); return rutaXpath; } private String obtenerXpathDesdeImpronta(String xpath) { String rutaXpath = null; int indice = xpath.lastIndexOf("/cm:impronta/cm:"); rutaXpath = xpath.substring(0, indice); return rutaXpath; } private Date obtenerFechaEmision(String xpath) { String rutaXpath = null; int indice = xpath.lastIndexOf("/cm:SOL-"); rutaXpath = xpath.substring(0, indice); rutaXpath=rutaXpath.replace("cm:Solicitudes/cm:A-", "").replace("/cm:M", "").replace("/cm:D", ""); Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, Integer.valueOf(rutaXpath.substring(0, 4))); cal.set(Calendar.MONTH, Integer.valueOf(rutaXpath.substring(5, 7))); cal.set(Calendar.DAY_OF_MONTH, Integer.valueOf(rutaXpath.substring(8, 10))); return cal.getTime(); } /** * @return * @throws Exception */ public String codigoAceptado() throws Exception { TgeneParameters f = ParametersController.find("ACEPTADO", "1"); return f.getTextvalue(); } @Override public void postCommit(Response response) throws Exception { super.postCommitGeneric(response, beanalias); } /** * Metodo que indica si se debe habilitar el boton del pantalla ficha tecnica */ public void habilitarBoton() { this.habilitaButtom = true; } /** * Metodo que indica si se debe habilitar el boton del pantalla ficha tecnica */ public void cerrar() { if(record.modifiedData().get("GUARDA")!=null && record.modifiedData().get("GUARDA").equals("S") && record.modifiedData().get("IMPRIME")!=null && record.modifiedData().get("IMPRIME").equals("S") ){ }else{ MessageHelper.setMessageError("GUARDE Y GENERE EL REPORTE"); } } /** * Ejecuta reporte de registro balistico * */ public void reporteRegistroBalistico() { try { String gradoUsuario =""; String path = "armas/reports/registroBalistico"; String filename=MsgControlArmas.getProperty("lbl_registroBalistico"); //Fija parametros del report. HashMap parameters = new HashMap<>(); //Logos parameters.put("pathLogoIzquierda", "repo:/maia/1/image/comandoconjunto"); parameters.put("pathLogoDerecha", "repo:/maia/1/image/selloarmas"); //Obteniendo la solicitud TarmSolicitud solicitud=SolicitudController.findSolicitudxcodsolicitud(this.codigoSolicitud); SimpleDateFormat sdf=new SimpleDateFormat("dd-MM-yyyy"); //Codigo solicitud parameters.put("csolicitud", this.codigoSolicitud); //Fecha de solicitud parameters.put("fechaSolicitud", sdf.format(solicitud.getFregistro())); //Obteniendo los datos del tramite TarmTramite tramite=TarmTramiteController.find(solicitud.getCtramite().toString()); TgeneCatalogDetail tipoTramite=CatalogDetailController.findxCodigoCodcatalogo(tramite.getTipotramite(), tramite.getTipotramitecodigo()); TgeneCatalogDetail categoria=CatalogDetailController.findxCodigoCodcatalogo(tramite.getCategoria(), tramite.getCategoriacodigo()); TarmSolicitudTramite solicitudTramite=SolicitudTramiteController.findByCSolicitud(this.codigoSolicitud); TgeneCatalogDetail tipoAutorizacion=CatalogDetailController.findxCodigoCodcatalogo(tramite.getTipoautorizacion(), tramite.getTipoautorizacioncodigo()); TgeneCatalogDetail usoActividad=CatalogDetailController.findxCodigoCodcatalogo(tramite.getUsoactividad(), tramite.getUsoactividadcodigo()); //Tipo de tramite if(tipoTramite!=null && tipoTramite.getDescription()!=null){ parameters.put("tipoTramite", tipoTramite.getDescription()); }else{ parameters.put("tipoTramite", " "); } //Categoria if(categoria!=null && categoria.getDescription()!=null){ parameters.put("categoria", categoria.getDescription()); }else{ parameters.put("categoria", " "); } //No tramite if(solicitudTramite!=null){ parameters.put("noTramite", solicitudTramite.getNumerotramite()); }else{ parameters.put("noTramite", " "); } //Tipo de autorizacion if(tipoAutorizacion!=null && tipoAutorizacion.getDescription()!=null){ parameters.put("tipoAutorizacion", tipoAutorizacion.getDescription()); }else{ parameters.put("tipoAutorizacion", " "); } //Uso-actividad if(usoActividad!=null && usoActividad.getDescription()!=null){ parameters.put("usoActividad", usoActividad.getDescription()); }else{ parameters.put("usoActividad", " "); } TgeneCatalogDetail grado = CatalogDetailController.findxCodigoCodcatalogo(this.responsableCentroControl.getMilitarygrade(), this.responsableCentroControl.getMilitarygradecode()); if(grado != null){ gradoUsuario = grado.getDescription()+" - "+this.responsableCentroControl.getName(); }else{ gradoUsuario = "Sin Grado - "+this.responsableCentroControl.getName(); } TcustPersonDetail person = PersonDetailController.find(String.valueOf(solicitud.getPersoncode())); //PersonDetailController.find(String.valueOf(solicitud.getPersoncode())); //Fecha parameters.put("fechaActual", sdf.format(this.fec_actual)); parameters.put("fecActualHora", new SimpleDateFormat("dd-MM-yyyy / hh:mm:ss").format(this.fec_actual)); parameters.put("personCode", person.getPk().getPersoncode()); parameters.put("centroControl", this.obtenerCentroControl()); parameters.put("gradoUsuario", gradoUsuario); parameters.put("usuario", this.tsafeUserDetailUsuario.getNickname()); String format = this.formato; try { this.reportController.execute(path, parameters, format, filename, this.getLoginController()); btnFlujo=Boolean.TRUE; } catch (Exception ex) { MessageHelper.setMessageError(ex); } } catch (Exception ex) { MessageHelper.setMessageError(ex); } } /** * Obtiene el centro de control segun usurio logeado. * @throws Exception * */ private String obtenerCentroControl() throws Exception { this.tsafeUserDetailUsuario = (TsafeUserDetail) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("TSAFEUSERDETAIL"); PersonAddressController personAddressController = new PersonAddressController(); TcustPersonAddress tcustPersonAddres=personAddressController.findPrincipal(tsafeUserDetailUsuario.getPk().getPersoncode().toString()); if(tcustPersonAddres == null){ return null; } TarmCentroControlJur centroControlJur= TarmCentroControlJurController.findxProvincia(tcustPersonAddres.getProvincecode()); centroControl= CentroControlArmasController.findPorCodigo(centroControlJur.getCcentrocontrol()); return CatalogDetailController.findxCodigoCodcatalogo( centroControl.getNombreinstitucion(), centroControl.getNombreinstitucioncodigo()).getDescription(); } /** * Obtiene el responsable del Centro de Control */ public void obtenerResponsableCentroControl(){ Integer responsable = this.centroControl.getPersoncode(); this.responsableCentroControl = PersonDetailController.find(responsable.toString()); } // public void saveImprimir() { // try { //// if(!record.modifiedData().get("GUARDA").equals("S")){ //// MessageHelper.setMessageError("GUARDE LA FICHA PARA GENERAR EL REPORTE"); //// return; //// } // reporteFichaArmas(); // record.setIsimpreso("Y"); // update(); // Request request = callerhelper.getRequest(); // HashMap msave = new HashMap(); // request.setSaveTables(msave); // DtoSave dtosave = super.getDtoSave(); // dtosave.setReturnpk(true); // msave.put(beanalias, dtosave); // request.setSaveTables(msave); // Response resp = callerhelper.executeSave(request); // if (resp.getResponseCode().compareTo(Response.RESPONSE_OK) == 0) { // this.postCommit(resp); // MessageHelper.setMessageInfo(resp); // record.modifiedData().put("IMPRIME", "S"); // MessageHelper.setMessageInfo(resp); // } else { // record.modifiedData().put("IMPRIME", "N"); // MessageHelper.setMessageError(resp); // } // } catch (Throwable e) { // record.modifiedData().put("IMPRIME", "N"); // MessageHelper.setMessageError(e); // } // } /** * Obtiene el reporte de Ficha de Armas * @throws Exception */ public void reporteFichaArmas(int i) throws Exception { String gradoUsuario =""; String path = "armas/reports/fichaTecArmas"; String filename=MsgControlArmas.getProperty("lbl_fichaTecnicaArmas"); //Fija parametros del report. HashMap parameters = new HashMap<>(); parameters.put("pathLogoIzquierda", "repo:/maia/1/image/comandoconjunto"); parameters.put("pathLogoDerecha", "repo:/maia/1/image/selloarmas"); //Centro de control parameters.put("centroControl", this.obtenerCentroControl()); //Fecha actual SimpleDateFormat sdf=new SimpleDateFormat("dd-MM-yyyy"); //Fecha de solicitud if(solicitud!=null && solicitud.getFregistro()!=null){ parameters.put("fechaSolicitud", sdf.format(solicitud.getFregistro())); }else{ parameters.put("fechaSolicitud", " "); } //No tramite if(solicitudTramite!=null && solicitudTramite.getNumerotramite()!=null){ parameters.put("noTramite", solicitudTramite.getNumerotramite()); }else{ parameters.put("noTramite", " "); } //Tipo de tramites if(detallecatalogoTipoTramite!=null && detallecatalogoTipoTramite.getDescription()!=null){ parameters.put("tipoTramite", detallecatalogoTipoTramite.getDescription()); }else{ parameters.put("tipoTramite", " "); } //Estado tramite if(estadotramite!=null && estadotramite.getDescription()!=null){ parameters.put("estadoTramite", estadotramite.getDescription()); }else{ parameters.put("estadoTramite", " "); } //Uso actividad if(usoActividad!=null && usoActividad.getDescription()!=null){ parameters.put("usoActividad",usoActividad.getDescription()); }else{ parameters.put("usoActividad", " "); } //Tipo de documento if(identificacion!=null){ parameters.put("tipoDocumento", identificacion.getDescription()); }else{ parameters.put("tipoDocumento", " "); } //No documento if(personaDetalle!=null){ parameters.put("cedula", personaDetalle.getIdentification()); }else{ parameters.put("cedula", " "); } //Nombre razon social if(personaDetalle!=null){ parameters.put("nombreRazon", personaDetalle.getName()); }else{ parameters.put("nombreRazon", " "); } //Provincia if(provincia !=null){ parameters.put("provincia", provincia); }else{ parameters.put("provincia", " "); } //Canton if(canton!=null){ parameters.put("canton", canton); }else{ parameters.put("canton", " "); } //Ciudad if(ciudad!=null){ parameters.put("ciudad", ciudad); }else{ parameters.put("ciudad", " "); } //Direccion if(direccion!=null){ parameters.put("direccion",direccion); }else{ parameters.put("direccion", " "); } //Codigo de arma parameters.put("codigoArma", this.record.getCarma()); //Codigo de registro de TarmArmaPrueba parameters.put("cArmaPrueba", record.getPk().toString()); TarmArmas arma= ArmasController.findPorCodigo(this.record.getCarma()); TarmRegistroArmas regArma = RegistroArmController.findByCodigo(arma.getCregistro().toString()); TgeneCountry paisOrigen=CountryController.findcountry(regArma.getPaisorigen()); //Clase if(arma.getModifiedData().get("clase")!=null){ parameters.put("clase", arma.getModifiedData().get("clase")==null?"":arma.getModifiedData().get("clase")); }else{ parameters.put("clase", " "); } //Obtniendo el tipo arma explosivo TarmTipoArmaExplosivo tae=arma==null?null:TiposArmasExplosivosController.findarma(arma.getCtipoarmaexplosivo()); //Tipo arma TgeneCatalogDetail tipoArma=tae==null?null:CatalogDetailController.findxCodigoCodcatalogo(tae.getTipoarmaexplosivo(), "TIPOARMAEXPLOSIVO"); parameters.put("tipoArma", (tipoArma==null || tipoArma.getDescription().isEmpty())?"": tipoArma.getDescription()); //Serie parameters.put("serie", (arma==null || arma.getLote()==null || arma.getLote().isEmpty())?"":arma.getLote()); //Pais fabricacion parameters.put("paisFabricacion", (paisOrigen==null)?"":(paisOrigen.getDescription())); //Calibre parameters.put("calibre", (arma.getModifiedData().get("calibre")==null)?"":arma.getModifiedData().get("calibre")); //Longitud TgeneCatalogDetail longitud=(tae==null || tae.getLongitud()==null || tae.getLongitudcodigo()==null || tae.getLongitud().isEmpty() || tae.getLongitudcodigo().isEmpty())?null:CatalogDetailController.findxCodigoCodcatalogo(tae.getLongitud(),tae.getLongitudcodigo()); if(longitud!=null && longitud.getDescription()!=null){ parameters.put("longitud", longitud.getDescription()); }else{ parameters.put("longitud", " "); } //Marca parameters.put("marca", arma.getModifiedData().get("marca")); //Modelo parameters.put("modelo", arma.getModelo()); //Color parameters.put("color", arma.getModifiedData().get("color")); //Observacion parameters.put("observacion", this.record.getObservacion()); //Aptitud de disparo String aptitudDisparo=" "; if(this.record.getAptituddisparo()!=null){ if(this.record.getAptituddisparo().equalsIgnoreCase("Y")){ aptitudDisparo="BUENO"; }else{ aptitudDisparo="MALO"; } }else{ aptitudDisparo=""; } parameters.put("aptitudDisparo", aptitudDisparo); //Balas testigo String balasTestigo=" "; if(this.record.getBalastestigo()!=null){ if(this.record.getBalastestigo().equalsIgnoreCase("Y")){ balasTestigo=MsgControlArmas.getProperty("lbl_si"); }else{ balasTestigo="NO"; } }else{ balasTestigo=""; } parameters.put("balasTestigo", balasTestigo); //Vainas testigo String vainasTestigo=" "; if(this.record.getVainastestigo()!=null){ if(this.record.getVainastestigo().equalsIgnoreCase("Y")){ vainasTestigo=MsgControlArmas.getProperty("lbl_si"); }else{ vainasTestigo="NO"; } }else{ vainasTestigo=""; } parameters.put("vainasTestigo", vainasTestigo); //Estado final String estadoFinal=" "; if(this.record.getApruebaevaluacion()!=null){ if(this.record.getApruebaevaluacion().equalsIgnoreCase("Y")){ estadoFinal="APROBADA"; }else{ estadoFinal="REPROBADA"; } }else{ estadoFinal=""; } parameters.put("estadoFinal", estadoFinal); //Codigo de persona parameters.put("personCode",record.getPersoncode()); //Codigo de arma parameters.put("codArma", record.getCarma()); //codigo solicitud parameters.put("csolicitud", this.codigoSolicitud); //Grado del funcionario TgeneCatalogDetail grado = CatalogDetailController.findxCodigoCodcatalogo(this.responsableCentroControl.getMilitarygrade(), this.responsableCentroControl.getMilitarygradecode()); if(grado != null){ gradoUsuario = grado.getDescription()+" - "+this.responsableCentroControl.getName(); }else{ gradoUsuario = "Sin Grado - "+this.responsableCentroControl.getName(); } parameters.put("gradoUsuario", gradoUsuario); String format = "pdf"; // String nombreArchivo = soloNombreArchivo(armaPruebasObj.getXpathfichatecarmas()); // String pathArchivo = obtenerXpath(armaPruegetxbasObj.getXpathfichatecarmas()); if(this.record.getXpathfichatecarmas()!=null){ this.xpathflujo = obtenerXpath(this.record.getXpathfichatecarmas()); this.fec_actual = obtenerFechaEmision(this.record.getXpathfichatecarmas()); }else if(this.record.getXpathfotografia()!=null){ this.xpathflujo = obtenerXpathDesdeFotografia(this.record.getXpathfotografia()); this.fec_actual = obtenerFechaEmision(this.record.getXpathfotografia()); }else if(this.record.getXpathimpronta()!=null){ this.xpathflujo = obtenerXpathDesdeImpronta(this.record.getXpathimpronta()); this.fec_actual = obtenerFechaEmision(this.record.getXpathimpronta()); } if(xpathflujo!=null){ parameters.put("fechaActual", sdf.format(this.fec_actual)); filename = filename + this.record.getPk().toString(); InputStream report=this.reportController.jaspertoInputstream(path, parameters, format, filename, this.getLoginController()); if(!this.alfrescoController.uploadFile(report, filename+".pdf", this.xpathflujo)){ throw new Exception("ERROR AL CARGAR EL REPORTE"); } this.record.setXpathfichatecarmas(this.xpathflujo + "/cm:" + filename+".pdf"); update(); save(); fichasFaltantesParametro.setNumbervalue(new BigDecimal(i)); parametersController.update(fichasFaltantesParametro); parametersController.save(); } } // /** // * Metodo para encontrar por codigo de solicitud // * @param codigoSolicitud // * @return registro de armaPrueba encontrado // */ // public List findPorSolicitud(String codigoSolicitud){ // try { // FichasTecnicasFlatantesController cc = new FichasTecnicasFlatantesController(); // cc.init(); // cc.recperpage = 300; // cc.addFilter("csolicitud", codigoSolicitud); // cc.querydatabaseArma(); // if (cc.lrecord != null) { // return cc.lrecord; // } // return null; // } catch (Throwable e) { // MessageHelper.setMessageError(e); // return null; // } // } // /** // * Metodo para encontrar por codigo de solicitud // * @param codigoSolicitud // * @return registro de armaPrueba encontrado // */ // public static List buscarFichasPorSolicitud(String codigoSolicitud){ // try { // FichasTecnicasFlatantesController cc = new FichasTecnicasFlatantesController(); // cc.init(); // cc.recperpage = 300; // cc.addFilter("csolicitud", codigoSolicitud); // cc.querydatabaseArma(); // if (cc.lrecord != null) { // return cc.lrecord; // } // return null; // } catch (Throwable e) { // MessageHelper.setMessageError(e); // return null; // } // } // public TarmArmaPruebas find(String codigoSolicitud, String carma){ // try { // FichasTecnicasFlatantesController cc = new FichasTecnicasFlatantesController(); // cc.init(); // cc.recperpage = 300; // cc.addFilter("carma", carma); // cc.addFilter("csolicitud", codigoSolicitud); // cc.querydatabaseArma(); // if (cc.lrecord != null && cc.lrecord.size()>0) { // return cc.lrecord.get(0); // } // return null; // } catch (Throwable e) { // MessageHelper.setMessageError(e); // return null; // } // } // public AlfrescoController getAlfrescoController() { return alfrescoController; } public void setAlfrescoController(AlfrescoController alfrescoController) { this.alfrescoController = alfrescoController; } public TarmArmas getArma() { return arma; } public void setArma(TarmArmas arma) { this.arma = arma; } public String getEditarReg() { return editarReg; } public void setEditarReg(String editarReg) { this.editarReg = editarReg; } public String getCodigoSolicitud() { return codigoSolicitud; } public void setCodigoSolicitud(String codigoSolicitud) { this.codigoSolicitud = codigoSolicitud; } public List getListadoArmasPruebas() { return listadoArmasPruebas; } public void setListadoArmasPruebas(List listadoArmasPruebas) { this.listadoArmasPruebas = listadoArmasPruebas; } // /** // * metodo que registra el cambio de la seleccion del recuperador balisitico y segun esto aprueba la evaluacion // */ // public void cambia(TarmArmaPruebas armaPruebas){ // record=null; // record=armaPruebas; // if("Y".equals(record.getAptituddisparo()) && "Y".equals(record.getVainastestigo()) && "Y".equals(record.getBalastestigo())){ // record.setApruebaevaluacion("Y"); // } // else{ // record.setApruebaevaluacion("N"); // } // habilitaButtom = true; // armaPruebas.modifiedData().put("GUARDA", "N"); // armaPruebas.modifiedData().put("IMPRIME", "N"); // record.modifiedData().put("GUARDA", "N"); // record.modifiedData().put("IMPRIME", "N"); // } // public String getObservacion() { return observacion; } public void setObservacion(String observacion) { this.observacion = observacion; } public String getEstado() { return estado; } public void setEstado(String estado) { this.estado = estado; } public List getLaccion() { return laccion; } public void setLaccion(List laccion) { this.laccion = laccion; } public ReportController getReportController() { return reportController; } public void setReportController(ReportController reportController) { this.reportController = reportController; } public boolean isHabilitaButtom() { return habilitaButtom; } public void setHabilitaButtom(boolean habilitaButtom) { this.habilitaButtom = habilitaButtom; } public String getFormato() { return formato; } public void setFormato(String formato) { this.formato = formato; } public Date getFec_actual() { return fec_actual; } public void setFec_actual(Date fec_actual) { this.fec_actual = fec_actual; } public Boolean getBtnFlujo() { return btnFlujo; } public void setBtnFlujo(Boolean btnFlujo) { this.btnFlujo = btnFlujo; } public boolean isDeshabilitadoGenerarReporte() { return deshabilitadoGenerarReporte; } public void setDeshabilitadoGenerarReporte(boolean deshabilitadoGenerarReporte) { this.deshabilitadoGenerarReporte = deshabilitadoGenerarReporte; } public void changeApruebaEvaluacion(){ if(this.record.getAptituddisparo()!=null && ("Y".equalsIgnoreCase(this.record.getAptituddisparo())) && (this.record.getBalastestigo()!=null && "Y".equalsIgnoreCase(this.record.getBalastestigo())) && (this.record.getVainastestigo()!=null && "Y".equalsIgnoreCase(this.record.getVainastestigo()))){ this.record.setApruebaevaluacion("Y"); } else{ this.record.setApruebaevaluacion("N"); } } /** * Metodo para encontrar por codigo de solicitud * @param codigoSolicitud * @return registro de armaPrueba encontrado */ public Integer numeroArmasEnSolicitud(String codigoSolicitud){ try { FichasTecnicasFlatantesController cc = new FichasTecnicasFlatantesController(); cc.init(); cc.recperpage = 300; cc.addFilter("csolicitud", codigoSolicitud); cc.querydatabase(); if (cc.lrecord != null) { return cc.lrecord.size(); } return 0; } catch (Throwable e) { MessageHelper.setMessageError(e); return 0; } } public TarmCentroControl getCentroControl() { return centroControl; } public void setCentroControl(TarmCentroControl centroControl) { this.centroControl = centroControl; } public String getXpathflujo() { return xpathflujo; } public void setXpathflujo(String xpathflujo) { this.xpathflujo = xpathflujo; } public TcustPersonDetail getResponsableCentroControl() { return responsableCentroControl; } public void setResponsableCentroControl( TcustPersonDetail responsableCentroControl) { this.responsableCentroControl = responsableCentroControl; } public TsafeUserDetail getTsafeUserDetailUsuario() { return tsafeUserDetailUsuario; } public void setTsafeUserDetailUsuario(TsafeUserDetail tsafeUserDetailUsuario) { this.tsafeUserDetailUsuario = tsafeUserDetailUsuario; } public TarmSolicitud getSolicitud() { return solicitud; } public void setSolicitud(TarmSolicitud solicitud) { this.solicitud = solicitud; } public TarmSolicitudTramite getSolicitudTramite() { return solicitudTramite; } public void setSolicitudTramite(TarmSolicitudTramite solicitudTramite) { this.solicitudTramite = solicitudTramite; } public TarmTramite getTramite() { return tramite; } public void setTramite(TarmTramite tramite) { this.tramite = tramite; } public TcustPersonAddress getDireccionCliente() { return direccionCliente; } public void setDireccionCliente(TcustPersonAddress direccionCliente) { this.direccionCliente = direccionCliente; } public String getProvincia() { return provincia; } public void setProvincia(String provincia) { this.provincia = provincia; } public String getCanton() { return canton; } public void setCanton(String canton) { this.canton = canton; } public String getCiudad() { return ciudad; } public void setCiudad(String ciudad) { this.ciudad = ciudad; } public String getDireccion() { return direccion; } public void setDireccion(String direccion) { this.direccion = direccion; } public TgeneCatalogDetail getEstadotramite() { return estadotramite; } public void setEstadotramite(TgeneCatalogDetail estadotramite) { this.estadotramite = estadotramite; } public TgeneCatalogDetail getUsoActividad() { return usoActividad; } public void setUsoActividad(TgeneCatalogDetail usoActividad) { this.usoActividad = usoActividad; } public TcustPersonDetail getPersonaDetalle() { return personaDetalle; } public void setPersonaDetalle(TcustPersonDetail personaDetalle) { this.personaDetalle = personaDetalle; } public TgeneCatalogDetail getIdentificacion() { return identificacion; } public void setIdentificacion(TgeneCatalogDetail identificacion) { this.identificacion = identificacion; } public TgeneCatalogDetail getDetallecatalogoTipoTramite() { return detallecatalogoTipoTramite; } public void setDetallecatalogoTipoTramite( TgeneCatalogDetail detallecatalogoTipoTramite) { this.detallecatalogoTipoTramite = detallecatalogoTipoTramite; } public TgeneCatalogDetail getDetallecatalogo() { return detallecatalogo; } public void setDetallecatalogo(TgeneCatalogDetail detallecatalogo) { this.detallecatalogo = detallecatalogo; } public List getTarmArmaPruebasList() { return tarmArmaPruebasList; } public void setTarmArmaPruebasList(List tarmArmaPruebasList) { this.tarmArmaPruebasList = tarmArmaPruebasList; } public ArmasController getArmas() { return armas; } public void setArmas(ArmasController armas) { this.armas = armas; } public Integer getcPruebaInicio() { return cPruebaInicio; } public void setcPruebaInicio(Integer cPruebaInicio) { this.cPruebaInicio = cPruebaInicio; } public Integer getcPruebaFin() { return cPruebaFin; } public void setcPruebaFin(Integer cPruebaFin) { this.cPruebaFin = cPruebaFin; } public TgeneParameters getFichasFaltantesParametro() { return fichasFaltantesParametro; } public void setFichasFaltantesParametro(TgeneParameters fichasFaltantesParametro) { this.fichasFaltantesParametro = fichasFaltantesParametro; } public ParametersController getParametersController() { return parametersController; } public void setParametersController(ParametersController parametersController) { this.parametersController = parametersController; } }