@Override public RespuestaInt getResultado() { if (validar()) { String sexoL = ESexo.getSexo(sexo); String tipo_tabla = ETipoTabla.getTipo(ETipoTabla.LENGTH); Double meses = Funcion_getEdad.getMesesLong(fecha_nacimiento); Tabla_anios_meses tabla_anios_meses = new Tabla_anios_meses(); tabla_anios_meses.setMes(meses.intValue()); tabla_anios_meses.setSexo(sexoL); tabla_anios_meses.setEdad_inicial(0); tabla_anios_meses.setEdad_final(2); tabla_anios_meses.setTipo(tipo_tabla); RespuestaInt respuestaInt = new RespuestaInt(); insertPuntosRespuesta(respuestaInt); tabla_anios_meses = getServiceLocator().getTabla_anios_mesesService().consultar(tabla_anios_meses); if (tabla_anios_meses != null) { double talla_mediana = tabla_anios_meses.getMedia(); respuestaInt.setValor( Utilidades.calcularMedianaCurvas( talla, talla_mediana, tabla_anios_meses.getMenos_1_sd(), tabla_anios_meses.getMas_1_sd())); return respuestaInt; } throw new HealthmanagerException(" Esta no se encuentra en el rango establecido: " + talla); } else { return null; } }
private void insertPuntosRespuesta(RespuestaInt respuestaInt) { double meses = Funcion_getEdad.getMesesLong(fecha_nacimiento); respuestaInt.setX(meses); respuestaInt.setY(talla); }
private List<RespuestaInt> validarLista(List<RespuestaInt> valores, PainterMoldG painterMoldG) { List<RespuestaInt> respuestaIntsSend = new ArrayList<RespuestaInt>(); for (RespuestaInt respuestaInt : valores) { double yTemp = respuestaInt.getY(); // por que el valor es cambiantes RespuestaInt respuestaIntSend = new RespuestaInt(); respuestaIntSend.setX(respuestaInt.getX()); respuestaIntSend.setY(respuestaInt.getY()); respuestaIntSend.setValor(respuestaInt.getValor()); if (yTemp > 45) { respuestaIntSend.setY(((respuestaInt.getY() - 42))); } if (yTemp > 95) { respuestaIntSend.setY(respuestaInt.getY() - 1); } respuestaIntsSend.add(respuestaIntSend); } return respuestaIntsSend; }