Entradas

Obtener la edad (años, meses y días) a partir de la fecha de nacimiento con javascript

Función para calcular la edad en años, meses y días function calcularEdad ( fecha ) { // Si la fecha es correcta, calculamos la edad if ( typeof fecha != "string" && fecha && esNumero ( fecha . getTime ())) { fecha = formatDate ( fecha , "yyyy-MM-dd" ); } var values = fecha . split ( "-" ); var dia = values [ 2 ]; var mes = values [ 1 ]; var ano = values [ 0 ]; // cogemos los valores actuales var fecha_hoy = new Date (); var ahora_ano = fecha_hoy . getYear (); var ahora_mes = fecha_hoy . getMonth () + 1 ; var ahora_dia = fecha_hoy . getDate (); // realizamos el calculo var edad = ( ahora_ano + 1900 ) - ano ; if ( ahora_mes < mes ) { edad --; } if (( mes == ahora_mes ) && ( ahora_dia < dia )) { ...

Angular directivas para validar input (enteros y decimales)

Decimales directive('decimal', function() { return { require: 'ngModel', restrict: 'A', link: function(scope, element, attr, ctrl) { function inputValue(val) { if (val) { var digits = val.replace(/[^0-9.]/g, ''); if (digits.split('.').length > 2) { digits = digits.substring(0, digits.length - 1); } if (digits !== val) { ctrl.$setViewValue(digits); ctrl.$render(); } return parseFloat(digits); } return ""; } c...

Aceptando valores nulos como parámetros en jasper report

A continuación se explica como hacer para aceptar valores nulos como parámetros en un reporte : Se plantea la situación en la cual tenemos que hacer un listado de documentos y uno de los parámetros es el  número, creamos un parámetro llamado número y parte de la consulta seria la siguiente : AND documento.numero = $P!{numero} ahora si se pasa como parámetro de número el valor null el reporte nos mostrara una lista en blanco ya que ningún número de documento sera null, entonces lo que debemos hacer es lo siguiente: creamos un nuevo parametro llamado numero_query y le ponemos como DEFAULT VALUE EXPRESSION lo siguiente :     $P{numero} ==null  ? " true" : "documento.numero=" .concat( $P{numero} .toString()) En este caso solo validamos el valor null pero cada uno lo puede adaptar a sus necesidades validando otros valores como "" . Luego reemplazamos AND  documento.numero = $P!{numero} por AND $P!{numero_query} 

Mostrar pdf en iframe usando angularjs recibido de un api rest usando spring (@RestController ) + jasper report

Exportar reporte a pdf stream byte[] response = null; JasperPrint jasperPrint = reporteRepositorio.generarReporte(reportName, parameters); if (TipoFormatoExportacion.STREAM.getValue().equals(formatType)) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); JasperExportManager.exportReportToPdfStream(jasperPrint, baos); response=baos.toByteArray();  } return response; Controlador rest @RequestMapping(method = RequestMethod.GET) public void generarReporte(HttpServletRequest request,HttpServletResponse response) { Map<String, Object> parameters = new HashMap<String, Object>(); try { byte[] contents = reporteServicio.generarReporte("reportName", TipoFormatoExportacion.STREAM.getValue(), parameters); OutputStream os = response.getOutputStream(); response.setHeader("Content-Disposition", "inline; filename=file.pdf");    response.setContentType("application/pdf"); response.setSta...

Moviendo el default progress indicator y hacerlo modal Vaadin

Algunas veces el progress indicador por defecto de vaadin no esta en la mejor posición y necesitamos centrarla y hacerla modal, para ello les comparto el siguiente código que es la solución para ese requerimiento : .v-loading-indicator , .v-loading-indicator-delay , .v-loading-indicator-wait { position : absolute ; z-index : 30000 ; width : 100 % ; height : 100 % ; background : rgba ( 20 , 20 , 20 , 0 .6 ) url(../base/common/img/loading-indicator.gif) no-repeat 50 % 50 % ; }

Implementación de red local con dos servidores web, un servidor DNS y dos clientes usando virtualbox

Imagen
Configuración de la red: La implementación de la red será entre máquinas virtuales usando VirtualBox, para lo cual elegiremos el modo red interna en la configuración de red de cada ordenador  virtual que se conectara a la red y le pondremos nombre “mired”. Como se puede ver en la siguiente imagen: Nota: Es muy importante, que en todas las máquinas virtuales creadas, tengan el mismo   nombre de red . Usaremos la red 192.168.1.0 /24, las IP’s  de los ordenadores son los siguientes:     Servidor web 1(finanzas): 192.168.1.5          Servidor web2(tesorería):192.168.1.6          Servidor DNS:192.168.1.8          Cliente 1:192.168.1.13     Cliente 2:192.168.1.14 Configuración del servidor web 1 (finanzas) Para el servidor de finanzas usaremos Ubuntu 13.04 de 64 bits, xampp 5.6.12  (servidor web apache). Luego de descargar xampp procedemos...