Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.asae.controllers; import com.asae.entities.Dia; import com.asae.entities.Ejercicio; import com.asae.entities.EjercicioCross; import com.asae.entities.EjercicioGm; import com.asae.entities.Evaluacion; import com.asae.entities.GrupoCross; import com.asae.entities.GrupoCrossGeneral; import com.asae.entities.GrupoMuscular; import com.asae.entities.GrupoMuscularGeneral; import com.asae.entities.MedidaEjercicioCross; import com.asae.entities.MedidasGenerales; import com.asae.entities.Rutina; import com.asae.entities.Usuario; import com.asae.sessionbeans.DiaFacade; import com.asae.sessionbeans.EjercicioCrossFacade; import com.asae.sessionbeans.EjercicioFacade; import com.asae.sessionbeans.EjercicioGmFacade; import com.asae.sessionbeans.GrupoCrossFacade; import com.asae.sessionbeans.GrupoCrossGeneralFacade; import com.asae.sessionbeans.GrupoMuscularFacade; import com.asae.sessionbeans.GrupoMuscularGeneralFacade; import com.asae.sessionbeans.MedidaEjercicioCrossFacade; import com.asae.sessionbeans.RutinaFacade; import com.asae.utilidades.UsuarioConverter; import com.itextpdf.text.BaseColor; import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.Element; import com.itextpdf.text.Font; import com.itextpdf.text.Image; import com.itextpdf.text.Paragraph; import com.itextpdf.text.Rectangle; import com.itextpdf.text.html.WebColors; import com.itextpdf.text.pdf.PdfPCell; import com.itextpdf.text.pdf.PdfPTable; import com.itextpdf.text.pdf.PdfWriter; import com.itextpdf.text.pdf.draw.LineSeparator; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.net.URL; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import javax.ejb.EJB; import javax.faces.application.FacesMessage; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; import javax.faces.context.FacesContext; import org.primefaces.component.selectonemenu.SelectOneMenu; import org.primefaces.context.RequestContext; /** * * @author Administrador */ @ManagedBean @SessionScoped public class BeanGestionRutinas { @EJB private MedidaEjercicioCrossFacade medidaEjercicioCrossFacade; @EJB private EjercicioCrossFacade ejercicioCrossFacade; @EJB private EjercicioGmFacade ejercicioGmFacade; @EJB private GrupoCrossFacade grupoCrossFacade; @EJB private GrupoCrossGeneralFacade grupoCrossGeneralFacade; @EJB private GrupoMuscularGeneralFacade grupoMuscularGeneralFacade; @EJB private EjercicioFacade ejercicioFacade; @EJB private GrupoMuscularFacade grupoMuscularFacade; @EJB private DiaFacade diaFacade; @EJB private RutinaFacade rutinaFacade; private List<Rutina> lstRutinasDisponibles; private Usuario usuRutinaRegistrar; private List<Usuario> lstUsuarioRegistrados; private List<Dia> lstDiasRutina; private Rutina rutinaRegistrar; private Date fechaInicioRutina; private Date fechaFinRutina; private GrupoMuscularGeneral grupoMuscRegistrar; private GrupoCrossGeneral grupoCrossRegistrar; private List<GrupoMuscularGeneral> lstGruposMusculares; private Dia diaSeleccionado; private List<GrupoMuscular> lstGruposMuscularesDia; private List<GrupoCross> lstGruposCrossDia; private List<Ejercicio> lstEjercicios; private List<EjercicioGm> lstEjerciciosGMuscular; private List<EjercicioCross> lstEjerciciosGCross; private GrupoMuscular grupoMuscSeleccionado; private GrupoCross grupoCrossSeleccionado; private EjercicioGm ejercicioGmRegistrar; private Ejercicio ejercicioRegistrar; private GrupoMuscularGeneral grupoMuscularRegistrarDlg; private GrupoMuscularGeneral grupoMuscularEditarDlg; private GrupoMuscular gMuscularTemp; private GrupoCross gCrossTemp; private Rutina rutinaVisualizar; private List<GrupoCrossGeneral> lstGrupoCross; private GrupoCrossGeneral gruposCrossGeneralEditar; private GrupoCrossGeneral gruposCrossGeneralRegistrar; private EjercicioCross ejercicioCrossRegistrar; private Ejercicio ejercicioRegistrarCross; private Ejercicio ejercicioRegistrarDlg; private Ejercicio ejercicioEditarDlg; private String accionRutina; private List<Dia> lstDiasTemp; private List<GrupoMuscular> lstGruposMuscularesTemp; private List<GrupoCross> lstGrupoCrossTemp; private List<EjercicioGm> lstEjerciciosGmTemp; private List<EjercicioCross> lstEjerciciosCrossTemp; private int idGrupoMuscRegistrar; private int idGrupoCrossRegistrar; private int idEjercicioRegistrarCross; private int idEjercicioRegistrarGm; private int idMedidaEjercicioCross; private SelectOneMenu selEjerCross; private SelectOneMenu selEjerGm; private SelectOneMenu selGrupoCross; private SelectOneMenu selGrupoGm; private SelectOneMenu selMedidaEjerCross; private List<MedidaEjercicioCross> lstMedidasEjercicioCross; private MedidaEjercicioCross medidaEjerCrossRegistrar; private MedidaEjercicioCross medidaEditarDlg; private MedidaEjercicioCross medidaRegistrarDlg; private String pdfFileName; public BeanGestionRutinas() { lstUsuarioRegistrados = UsuarioConverter.lstUsuarioRegistrados; usuRutinaRegistrar = new Usuario(); rutinaRegistrar = new Rutina(); diaSeleccionado = new Dia(); lstGruposMusculares = new ArrayList<>(); // lstGruposMuscularesDia = new ArrayList<>(); grupoMuscRegistrar = new GrupoMuscularGeneral(); grupoMuscSeleccionado = new GrupoMuscular(); grupoMuscularRegistrarDlg = new GrupoMuscularGeneral(); grupoMuscularEditarDlg = new GrupoMuscularGeneral(); // gMuscularTemp = new GrupoMuscular(); lstEjercicios = new ArrayList<>(); ejercicioRegistrar = new Ejercicio(); ejercicioRegistrarCross = new Ejercicio(); ejercicioRegistrarDlg = new Ejercicio(); ejercicioEditarDlg = new Ejercicio(); rutinaVisualizar = new Rutina(); lstGrupoCross = new ArrayList<>(); gruposCrossGeneralEditar = new GrupoCrossGeneral(); gruposCrossGeneralRegistrar = new GrupoCrossGeneral(); grupoCrossRegistrar = new GrupoCrossGeneral(); grupoCrossSeleccionado = new GrupoCross(); ejercicioCrossRegistrar = new EjercicioCross(); idEjercicioRegistrarCross = -1; idEjercicioRegistrarGm = -1; idMedidaEjercicioCross = -1; medidaEditarDlg = new MedidaEjercicioCross(); medidaRegistrarDlg = new MedidaEjercicioCross(); pdfFileName = "sin-cargar"; } public void generarPdf() { Document document = new Document(); try { File file = File.createTempFile("rutina-", ".pdf", new File("/var/webapp/pdf")); pdfFileName = file.getName(); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(file)); document.open(); Font bold = new Font(Font.FontFamily.HELVETICA, 12f, Font.BOLD); URL url = FacesContext.getCurrentInstance().getExternalContext() .getResource("/resources/img/logo-unicauca-negro.png"); Image imgLogoUnicauca = Image.getInstance(url); imgLogoUnicauca.scaleAbsolute(118f, 131f); PdfPTable tableEncabezado = new PdfPTable(2); tableEncabezado.getDefaultCell().setBorder(Rectangle.NO_BORDER); tableEncabezado.setWidthPercentage(100); tableEncabezado.setSpacingAfter(5); PdfPCell cell1 = new PdfPCell(imgLogoUnicauca); cell1.setBorder(Rectangle.NO_BORDER); PdfPCell cell2 = new PdfPCell(new Paragraph("Vicerrectoria Administrativa")); cell2.setBorder(Rectangle.NO_BORDER); cell2.setVerticalAlignment(Element.ALIGN_BOTTOM); cell2.setHorizontalAlignment(Element.ALIGN_RIGHT); PdfPCell cell3 = new PdfPCell(new Paragraph("Universidad del Cauca", bold)); cell3.setBorder(Rectangle.NO_BORDER); PdfPCell cell4 = new PdfPCell(new Paragraph("Gimnasio y Actividad Fsica", bold)); cell4.setBorder(Rectangle.NO_BORDER); cell4.setHorizontalAlignment(Element.ALIGN_RIGHT); tableEncabezado.addCell(cell1); tableEncabezado.addCell(cell2); tableEncabezado.addCell(cell3); tableEncabezado.addCell(cell4); PdfPTable tableDatosUsuario = new PdfPTable(3); tableDatosUsuario.getDefaultCell().setBorder(Rectangle.NO_BORDER); tableDatosUsuario.setWidthPercentage(100); tableDatosUsuario.setSpacingBefore(20); PdfPCell cell5 = new PdfPCell(new Paragraph("Nombre: " + rutinaVisualizar.getIdusuario().getFisrtname() + " " + rutinaVisualizar.getIdusuario().getSecondname() + " " + rutinaVisualizar.getIdusuario().getFirstlastname() + " " + rutinaVisualizar.getIdusuario().getSecondlastname())); cell5.setBorder(Rectangle.NO_BORDER); PdfPCell cell6 = new PdfPCell(); cell6.setBorder(Rectangle.NO_BORDER); PdfPCell cell7 = new PdfPCell(); cell7.setBorder(Rectangle.NO_BORDER); tableDatosUsuario.addCell(cell5); tableDatosUsuario.addCell(cell6); tableDatosUsuario.addCell(cell7); PdfPTable tableFechas = new PdfPTable(3); tableFechas.getDefaultCell().setBorder(Rectangle.NO_BORDER); tableFechas.setWidthPercentage(100); tableFechas.setSpacingBefore(10); PdfPCell cell8 = new PdfPCell( new Paragraph("Fecha de inicio: " + getMyFormattedDate(rutinaVisualizar.getFechaInicio()))); cell8.setBorder(Rectangle.NO_BORDER); PdfPCell cell9 = new PdfPCell( new Paragraph("Fecha de fin: " + getMyFormattedDate(rutinaVisualizar.getFechaFin()))); cell9.setBorder(Rectangle.NO_BORDER); PdfPCell cell10 = new PdfPCell(); cell10.setBorder(Rectangle.NO_BORDER); tableFechas.addCell(cell8); tableFechas.addCell(cell9); tableFechas.addCell(cell10); PdfPTable tableMedidas = new PdfPTable(4); tableMedidas.getDefaultCell().setBorder(Rectangle.NO_BORDER); tableMedidas.setWidthPercentage(100); tableMedidas.setSpacingBefore(10); Usuario usuAux = rutinaVisualizar.getIdusuario(); List<Evaluacion> lstEvalAux = usuAux.getEvaluacionList(); Evaluacion evalAux; double peso = 0; if (lstEvalAux.size() > 0) { evalAux = lstEvalAux.get(lstEvalAux.size() - 1); peso = evalAux.getPeso().doubleValue(); } double estatura = 0; MedidasGenerales medGenAux = usuAux.getMedidasGenerales(); if (medGenAux != null) { estatura = medGenAux.getEstatura().doubleValue(); } PdfPCell cell11 = new PdfPCell(new Paragraph("Peso: " + peso)); cell11.setBorder(Rectangle.NO_BORDER); PdfPCell cell12 = new PdfPCell(new Paragraph("Talla: " + estatura)); cell12.setBorder(Rectangle.NO_BORDER); double imc = 0; if (peso != 0 && estatura != 0) { imc = peso / Math.pow(estatura, 2); } PdfPCell cell13 = new PdfPCell(new Paragraph("I.M.C: " + imc)); cell13.setBorder(Rectangle.NO_BORDER); PdfPCell cell14 = new PdfPCell(new Paragraph("Rutina: " + rutinaVisualizar.getCodigoRutina())); cell14.setBorder(Rectangle.NO_BORDER); tableMedidas.addCell(cell11); tableMedidas.addCell(cell12); tableMedidas.addCell(cell13); tableMedidas.addCell(cell14); PdfPTable tableDias = new PdfPTable(2); tableDias.getDefaultCell().setBorder(Rectangle.NO_BORDER); tableDias.setWidthPercentage(100); tableDias.setSpacingBefore(20); tableDias.setHorizontalAlignment(Element.ALIGN_LEFT); tableDias.setWidths(new int[] { 1, 9 }); List<Dia> lstDiasPDF = rutinaVisualizar.getDiaList(); PdfPCell cellCabezeraDia = new PdfPCell(new Paragraph("Da", bold)); PdfPCell cellCabezeraDia2 = new PdfPCell(); cellCabezeraDia2.setBorder(Rectangle.NO_BORDER); tableDias.addCell(cellCabezeraDia); tableDias.addCell(cellCabezeraDia2); for (Dia dia : lstDiasPDF) { PdfPCell cellDia = new PdfPCell(new Paragraph(dia.getNumDia().toString())); PdfPCell cellDia2 = new PdfPCell(); cellDia2.setBorder(Rectangle.NO_BORDER); List<GrupoMuscular> lstGMuscularPDF = dia.getGrupoMuscularList(); if (lstGMuscularPDF.size() > 0) { PdfPTable tableGMuscular = new PdfPTable(2); tableGMuscular.getDefaultCell().setBorder(Rectangle.NO_BORDER); tableGMuscular.setWidthPercentage(100); tableGMuscular.setHorizontalAlignment(Element.ALIGN_LEFT); tableGMuscular.setWidths(new int[] { 1, 6 }); PdfPCell cellCabezeraGMuscular = new PdfPCell(new Paragraph("Grupo Muscular", bold)); cellCabezeraGMuscular.setBorder(Rectangle.BOTTOM | Rectangle.RIGHT | Rectangle.TOP); PdfPCell cellCabezeraGMuscular2 = new PdfPCell(); cellCabezeraGMuscular2.setBorder(Rectangle.NO_BORDER); tableGMuscular.addCell(cellCabezeraGMuscular); tableGMuscular.addCell(cellCabezeraGMuscular2); int aux = 1; for (GrupoMuscular gMuscularFor : lstGMuscularPDF) { PdfPCell cellGMuscular = new PdfPCell( new Paragraph(gMuscularFor.getIdgrupoMuscularGeneral().getNombre())); cellGMuscular.setBorder(Rectangle.BOTTOM | Rectangle.RIGHT); PdfPCell cellGMuscular2 = new PdfPCell(); cellGMuscular2.setBorder(Rectangle.NO_BORDER); List<EjercicioGm> lstEjerciciosGMuscularPDF = gMuscularFor.getEjercicioGmList(); BaseColor myColor = WebColors.getRGBColor("#CCEEFF"); if (lstEjerciciosGMuscularPDF.size() > 0) { PdfPTable tableEjercicioGMsucular = new PdfPTable(5); tableEjercicioGMsucular.getDefaultCell().setBorder(Rectangle.NO_BORDER); tableEjercicioGMsucular.setWidthPercentage(100); tableEjercicioGMsucular.setHorizontalAlignment(Element.ALIGN_LEFT); PdfPCell cellCabezeraEjercicioGM = new PdfPCell(new Paragraph("Ejercicio", bold)); cellCabezeraEjercicioGM.setBorder(Rectangle.BOTTOM | Rectangle.RIGHT | Rectangle.TOP); cellCabezeraEjercicioGM.setLeading(20f, 0f); cellCabezeraEjercicioGM.setBackgroundColor(myColor); tableEjercicioGMsucular.addCell(cellCabezeraEjercicioGM); PdfPCell cellCabezeraEjercicioGM2 = new PdfPCell(new Paragraph("Series", bold)); cellCabezeraEjercicioGM2.setBorder(Rectangle.BOTTOM | Rectangle.RIGHT | Rectangle.TOP); cellCabezeraEjercicioGM2.setLeading(20f, 0f); cellCabezeraEjercicioGM2.setBackgroundColor(myColor); tableEjercicioGMsucular.addCell(cellCabezeraEjercicioGM2); PdfPCell cellCabezeraEjercicioGM3 = new PdfPCell(new Paragraph("Repeticiones", bold)); cellCabezeraEjercicioGM3.setBorder(Rectangle.BOTTOM | Rectangle.RIGHT | Rectangle.TOP); cellCabezeraEjercicioGM3.setLeading(20f, 0f); cellCabezeraEjercicioGM3.setBackgroundColor(myColor); tableEjercicioGMsucular.addCell(cellCabezeraEjercicioGM3); PdfPCell cellCabezeraEjercicioGM4 = new PdfPCell(new Paragraph("Receso", bold)); cellCabezeraEjercicioGM4.setBorder(Rectangle.BOTTOM | Rectangle.RIGHT | Rectangle.TOP); cellCabezeraEjercicioGM4.setLeading(20f, 0f); cellCabezeraEjercicioGM4.setBackgroundColor(myColor); tableEjercicioGMsucular.addCell(cellCabezeraEjercicioGM4); PdfPCell cellCabezeraEjercicioGM5 = new PdfPCell(new Paragraph("Peso", bold)); cellCabezeraEjercicioGM5.setBorder(Rectangle.BOTTOM | Rectangle.RIGHT | Rectangle.TOP); cellCabezeraEjercicioGM5.setLeading(20f, 0f); cellCabezeraEjercicioGM5.setBackgroundColor(myColor); tableEjercicioGMsucular.addCell(cellCabezeraEjercicioGM5); int aux2 = 1; for (EjercicioGm ejercicioGm : lstEjerciciosGMuscularPDF) { PdfPCell cellEjercicioGM = new PdfPCell( new Paragraph(ejercicioGm.getEjercicio().getNombre())); cellEjercicioGM.setBorder(Rectangle.BOTTOM | Rectangle.RIGHT); cellEjercicioGM.setLeading(20f, 0f); PdfPCell cellEjercicioGM2 = new PdfPCell( new Paragraph(ejercicioGm.getNumeroSeries().toString())); cellEjercicioGM2.setBorder(Rectangle.BOTTOM | Rectangle.RIGHT); cellEjercicioGM2.setLeading(20f, 0f); PdfPCell cellEjercicioGM3 = new PdfPCell( new Paragraph(ejercicioGm.getRepeticiones().toString())); cellEjercicioGM3.setBorder(Rectangle.BOTTOM | Rectangle.RIGHT); cellEjercicioGM3.setLeading(20f, 0f); PdfPCell cellEjercicioGM4 = new PdfPCell( new Paragraph(ejercicioGm.getReceso().toString())); cellEjercicioGM4.setBorder(Rectangle.BOTTOM | Rectangle.RIGHT); cellEjercicioGM4.setLeading(20f, 0f); PdfPCell cellEjercicioGM5 = new PdfPCell( new Paragraph(ejercicioGm.getPeso().toString())); cellEjercicioGM5.setBorder(Rectangle.BOTTOM | Rectangle.RIGHT); cellEjercicioGM5.setLeading(20f, 0f); if (aux2 % 2 == 0) { cellEjercicioGM.setBackgroundColor(myColor); cellEjercicioGM2.setBackgroundColor(myColor); cellEjercicioGM3.setBackgroundColor(myColor); cellEjercicioGM4.setBackgroundColor(myColor); cellEjercicioGM5.setBackgroundColor(myColor); } tableEjercicioGMsucular.addCell(cellEjercicioGM); tableEjercicioGMsucular.addCell(cellEjercicioGM2); tableEjercicioGMsucular.addCell(cellEjercicioGM3); tableEjercicioGMsucular.addCell(cellEjercicioGM4); tableEjercicioGMsucular.addCell(cellEjercicioGM5); aux2++; } cellGMuscular2.addElement(tableEjercicioGMsucular); } tableGMuscular.addCell(cellGMuscular); tableGMuscular.addCell(cellGMuscular2); aux++; } cellDia2.addElement(tableGMuscular); } tableDias.addCell(cellDia); tableDias.addCell(cellDia2); } LineSeparator ls = new LineSeparator(); document.add(tableEncabezado); document.add(ls); document.add(tableDatosUsuario); document.add(tableFechas); document.add(tableMedidas); document.add(tableDias); document.close(); } catch (DocumentException | FileNotFoundException e) { e.printStackTrace(); } catch (IOException ex) { Logger.getLogger(BeanGestionRutinas.class.getName()).log(Level.SEVERE, null, ex); } } public List<Usuario> completeUsuarioRegistrados(String query) { List<Usuario> suggestions = new ArrayList<>(); for (Usuario u : lstUsuarioRegistrados) { if (u.getFisrtname().toLowerCase().startsWith(query.toLowerCase())) { suggestions.add(u); } } return suggestions; } public void agregarDiaARutina() { Dia diaRutina = new Dia(); if (lstDiasRutina.size() < 7) { if (lstDiasRutina.isEmpty()) { diaRutina.setNumDia(1); diaRutina.setNombre("Da 1"); } else { Collections.sort(lstDiasRutina, Dia.NUMDIA); int numComprobante = 0; int numSalida = lstDiasRutina.size() + 1; for (int i = 0; i < lstDiasRutina.size(); i++) { if (lstDiasRutina.get(i).getNumDia() == i + 1) { numComprobante += 1; } } if (lstDiasRutina.size() != numComprobante) { for (int i = 0; i < lstDiasRutina.size(); i++) { if (lstDiasRutina.get(i).getNumDia() != i + 1) { numSalida = i + 1; break; } } } diaRutina.setNumDia(numSalida); diaRutina.setNombre("Da " + numSalida); } lstDiasRutina.add(diaRutina); Collections.sort(lstDiasRutina, Dia.NUMDIA); } else { FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Atencin", "Solo pueden agregarse siete das")); } RequestContext.getCurrentInstance().update("frmDatosRutina:tblDias"); RequestContext.getCurrentInstance().update("frmGrowl"); } public void agregarGrupoMuscular() { if (idGrupoMuscRegistrar != -1) { gMuscularTemp = new GrupoMuscular(); grupoMuscRegistrar = grupoMuscularGeneralFacade.find(idGrupoMuscRegistrar); gMuscularTemp.setIdgrupoMuscularGeneral(grupoMuscRegistrar); if (lstGruposMuscularesDia != null) { boolean isInList = false; for (GrupoMuscular gMuscular : lstGruposMuscularesDia) { if (gMuscular.getIdgrupoMuscularGeneral().equals(gMuscularTemp.getIdgrupoMuscularGeneral())) { isInList = true; break; } } if (!isInList) { lstGruposMuscularesDia.add(gMuscularTemp); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "Se ha agregado el grupo muscular " + grupoMuscRegistrar.getNombre())); } else { FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Atencin", "El grupo muscular " + grupoMuscRegistrar.getNombre() + " ya est registrado")); } } else { lstGruposMuscularesDia = new ArrayList<>(); lstGruposMuscularesDia.add(gMuscularTemp); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "Se ha agregado el grupo muscular " + grupoMuscRegistrar.getNombre())); } diaSeleccionado.setGrupoMuscularList(lstGruposMuscularesDia); selGrupoGm.setValue("-1"); RequestContext.getCurrentInstance().update("frmGrowl"); RequestContext.getCurrentInstance().update("frmGruposMusculares"); RequestContext.getCurrentInstance().update("frmDatosDia"); } } public void seleccionarGrupoMuscular(GrupoMuscular gMuscularIn) { ejercicioGmRegistrar = new EjercicioGm(); ejercicioGmRegistrar.setNumeroSeries(1); ejercicioGmRegistrar.setPeso(1); ejercicioGmRegistrar.setReceso(1); ejercicioGmRegistrar.setRepeticiones(1); grupoMuscSeleccionado = gMuscularIn; lstEjerciciosGMuscular = grupoMuscSeleccionado.getEjercicioGmList(); lstEjerciciosGmTemp = grupoMuscSeleccionado.getEjercicioGmList(); selEjerGm.setValue("-1"); RequestContext.getCurrentInstance().update("frmEjercicios"); RequestContext.getCurrentInstance().update("frmDatosDiaGMuscular"); RequestContext.getCurrentInstance().update("frmDatosEjercicio"); } public void agregarGrupoCross() { if (idGrupoCrossRegistrar != -1) { gCrossTemp = new GrupoCross(); grupoCrossRegistrar = grupoCrossGeneralFacade.find(idGrupoCrossRegistrar); gCrossTemp.setIdgrupoCrossGeneral(grupoCrossRegistrar); if (lstGruposCrossDia != null) { boolean isInList = false; for (GrupoCross gCross : lstGruposCrossDia) { if (gCross.getIdgrupoCrossGeneral().equals(gCrossTemp.getIdgrupoCrossGeneral())) { isInList = true; break; } } if (!isInList) { lstGruposCrossDia.add(gCrossTemp); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "Se ha agregado el grupo cross " + grupoCrossRegistrar.getNombre())); } else { FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Atencin", "El grupo cross " + grupoCrossRegistrar.getNombre() + " ya est registrado")); } } else { lstGruposCrossDia = new ArrayList<>(); lstGruposCrossDia.add(gCrossTemp); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "Se ha agregado el grupo cross " + grupoCrossRegistrar.getNombre())); } diaSeleccionado.setGrupoCrossList(lstGruposCrossDia); selGrupoCross.setValue("-1"); RequestContext.getCurrentInstance().update("frmGrowl"); RequestContext.getCurrentInstance().update("frmGruposCross"); RequestContext.getCurrentInstance().update("frmDatosDiaCross"); } } public void seleccionarGrupoCross(GrupoCross grupoCrossIn) { ejercicioCrossRegistrar = new EjercicioCross(); grupoCrossSeleccionado = grupoCrossIn; lstEjerciciosGCross = grupoCrossSeleccionado.getEjercicioCrossList(); lstEjerciciosCrossTemp = grupoCrossSeleccionado.getEjercicioCrossList(); selEjerCross.setValue("-1"); selMedidaEjerCross.setValue("-1"); RequestContext.getCurrentInstance().update("frmEjerciciosCross"); RequestContext.getCurrentInstance().update("frmDatosDiaGCross"); RequestContext.getCurrentInstance().update("frmDatosEjercicioCross"); } public void agregarEjercicio() { if (ejercicioGmRegistrar.getEjercicio() != null) { if (lstEjerciciosGMuscular != null) { boolean isInList = false; for (EjercicioGm ejercicioGmFor : lstEjerciciosGMuscular) { if (ejercicioGmFor.getEjercicio().equals(ejercicioGmRegistrar.getEjercicio()) && ejercicioGmFor.getNumeroSeries() == ejercicioGmRegistrar.getNumeroSeries() && ejercicioGmFor.getPeso() == ejercicioGmRegistrar.getPeso() && ejercicioGmFor.getReceso() == ejercicioGmRegistrar.getReceso() && ejercicioGmFor.getRepeticiones() == ejercicioGmRegistrar.getRepeticiones()) { isInList = true; break; } } if (!isInList) { lstEjerciciosGMuscular.add(ejercicioGmRegistrar); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "Se ha agregado el ejercicio " + ejercicioRegistrar.getNombre())); } else { FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Atencin", "El ejercicio " + ejercicioRegistrar.getNombre() + " ya est registrado")); } } else { lstEjerciciosGMuscular = new ArrayList<>(); lstEjerciciosGMuscular.add(ejercicioGmRegistrar); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "Se ha agregado el ejercicio " + ejercicioRegistrar.getNombre())); } grupoMuscSeleccionado.setEjercicioGmList(lstEjerciciosGMuscular); selEjerGm.setValue("-1"); RequestContext.getCurrentInstance().update("frmGrowl"); RequestContext.getCurrentInstance().update("frmEjercicios"); RequestContext.getCurrentInstance().update("frmDatosEjercicio"); } else { FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_FATAL, "Atencin", "No ha seleccionado ningn ejercicio")); RequestContext.getCurrentInstance().update("frmGrowl"); } } public void agregarEjercicioCross() { if (ejercicioCrossRegistrar.getEjercicio() != null) { if (lstEjerciciosGCross != null) { boolean isInList = false; for (EjercicioCross ejercicioCrossFor : lstEjerciciosGCross) { if (ejercicioCrossFor.getEjercicio().equals(ejercicioCrossRegistrar.getEjercicio()) && ejercicioCrossFor.getIdmedidaEjercicioCross() .equals(ejercicioCrossRegistrar.getIdmedidaEjercicioCross()) && ejercicioCrossFor.getNumVecesMedida() == ejercicioCrossRegistrar .getNumVecesMedida()) { isInList = true; break; } } if (!isInList) { lstEjerciciosGCross.add(ejercicioCrossRegistrar); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "Se ha agregado el ejercicio " + ejercicioRegistrarCross.getNombre())); } else { FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Atencin", "El ejercicio " + ejercicioRegistrarCross.getNombre() + " ya est registrado")); } } else { lstEjerciciosGCross = new ArrayList<>(); lstEjerciciosGCross.add(ejercicioCrossRegistrar); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "Se ha agregado el ejercicio " + ejercicioRegistrarCross.getNombre())); } grupoCrossSeleccionado.setEjercicioCrossList(lstEjerciciosGCross); selEjerCross.setValue("-1"); selMedidaEjerCross.setValue("-1"); ejercicioCrossRegistrar = new EjercicioCross(); RequestContext.getCurrentInstance().update("frmGrowl"); RequestContext.getCurrentInstance().update("frmEjerciciosCross"); RequestContext.getCurrentInstance().update("frmDatosEjercicioCross"); } else { FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_FATAL, "Atencin", "No ha seleccionado ningn ejercicio")); RequestContext.getCurrentInstance().update("frmGrowl"); } } public void guardarEjercicios() { FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "Los ejercicios han sido registrados con xito para el grupo muscular")); RequestContext.getCurrentInstance().update("frmGrowl"); RequestContext.getCurrentInstance().update("frmEjercicios"); } public void agregarGruposMusculares() { FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "Los grupos musculares han sido registrados con xito para el da")); RequestContext.getCurrentInstance().update("frmGrowl"); } public void agregarRutina() { switch (accionRutina) { case "crear": rutinaRegistrar.setFechaInicio(new java.sql.Date(fechaInicioRutina.getTime())); rutinaRegistrar.setFechaFin(new java.sql.Date(fechaFinRutina.getTime())); rutinaRegistrar.setIdusuario(usuRutinaRegistrar); rutinaRegistrar.setDiaList(lstDiasRutina); rutinaFacade.create(rutinaRegistrar); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "Los rutina ha sido registrada con xito para el usuario")); RequestContext.getCurrentInstance().update("frmGrowl"); RequestContext.getCurrentInstance().update("tabModuloRutina:frmTablaRutina"); break; case "editar": rutinaRegistrar.setDiaList(lstDiasRutina); rutinaFacade.edit(rutinaRegistrar); List<Dia> lstDiasSinRutina = diaFacade.findDiasSinRutina(); for (Dia diaFor : lstDiasSinRutina) { diaFacade.remove(diaFor); } List<GrupoMuscular> lstGMuscularesSinDia = grupoMuscularFacade.findGMuscularesSinDia(); for (GrupoMuscular grupoMuscularFor : lstGMuscularesSinDia) { grupoMuscularFacade.remove(grupoMuscularFor); } List<GrupoCross> lstGCrossSinDia = grupoCrossFacade.findGCrossSinDia(); for (GrupoCross grupoCrossFor : lstGCrossSinDia) { grupoCrossFacade.remove(grupoCrossFor); } List<EjercicioGm> lstEjerciciosGmSinGrupoMuscular = ejercicioGmFacade .findEjerciciosGmSinGrupoMuscular(); for (EjercicioGm ejercicioGmFor : lstEjerciciosGmSinGrupoMuscular) { ejercicioGmFacade.remove(ejercicioGmFor); } List<EjercicioCross> lstEjerciciosCrossSinGCross = ejercicioCrossFacade.findEjerciciosCrossSinGCross(); for (EjercicioCross ejercicioCrossFor : lstEjerciciosCrossSinGCross) { ejercicioCrossFacade.remove(ejercicioCrossFor); } FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "Los rutina ha sido editada con xito para el usuario")); RequestContext.getCurrentInstance().update("frmGrowl"); RequestContext.getCurrentInstance().update("tabModuloRutina:frmTablaRutina"); } } public void seleccionarDia(Dia diaIn) { diaSeleccionado = diaIn; lstGruposMuscularesTemp = diaSeleccionado.getGrupoMuscularList(); lstGruposMuscularesDia = diaSeleccionado.getGrupoMuscularList(); RequestContext.getCurrentInstance().update("frmGruposMusculares"); RequestContext.getCurrentInstance().update("frmDatosDia"); } public void eliminarDiaRutina(Dia diaIn) { List<Dia> lstDiasAux = lstDiasRutina; if (diaIn.getIdDia() == null) { for (int i = 0; i < lstDiasAux.size(); i++) { if (lstDiasAux.get(i).getNumDia() == diaIn.getNumDia()) { lstDiasRutina.remove(i); } } FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "El da ha sido eliminado")); } else { boolean isInListTemp; lstDiasTemp.remove(diaIn); lstDiasRutina.remove(diaIn); for (Dia diaFor : lstDiasRutina) { isInListTemp = false; for (Dia diaForTemp : lstDiasTemp) { if (diaForTemp.getNumDia() == diaFor.getNumDia()) { isInListTemp = true; break; } } if (diaFor.getIdDia() == null && !isInListTemp) { lstDiasTemp.add(diaFor); } else if (diaFor.getIdDia() != null) { lstDiasTemp.get(lstDiasTemp.indexOf(diaFor)) .setGrupoMuscularList(diaFor.getGrupoMuscularList()); lstDiasTemp.get(lstDiasTemp.indexOf(diaFor)).setGrupoCrossList(diaFor.getGrupoCrossList()); } } lstDiasRutina = lstDiasTemp; Collections.sort(lstDiasRutina, Dia.NUMDIA); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "El da ha sido eliminado")); } RequestContext.getCurrentInstance().update("frmDatosRutina"); RequestContext.getCurrentInstance().update("frmGrowl"); } public void eliminarGMuscular(GrupoMuscular grupoMuscularIn) { List<GrupoMuscular> lstGMuscularesAux = lstGruposMuscularesDia; if (grupoMuscularIn.getIdGrupoMuscular() == null) { for (int i = 0; i < lstGMuscularesAux.size(); i++) { if (lstGMuscularesAux.get(i).getIdgrupoMuscularGeneral().getNombre() .equals(grupoMuscularIn.getIdgrupoMuscularGeneral().getNombre())) { lstGMuscularesAux.remove(i); } } FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "El grupo muscular ha sido eliminado")); } else { boolean isInListTemp; lstGruposMuscularesTemp.remove(grupoMuscularIn); lstGruposMuscularesDia.remove(grupoMuscularIn); for (GrupoMuscular gMuscularFor : lstGruposMuscularesDia) { isInListTemp = false; for (GrupoMuscular gMuscularForTemp : lstGruposMuscularesTemp) { if (gMuscularForTemp.getIdgrupoMuscularGeneral().getNombre() .equals(gMuscularFor.getIdgrupoMuscularGeneral().getNombre())) { isInListTemp = true; break; } } if (gMuscularFor.getIdGrupoMuscular() == null && !isInListTemp) { lstGruposMuscularesTemp.add(gMuscularFor); } else if (gMuscularFor.getIdGrupoMuscular() != null) { lstGruposMuscularesTemp.get(lstGruposMuscularesTemp.indexOf(gMuscularFor)) .setEjercicioGmList(gMuscularFor.getEjercicioGmList()); } } lstGruposMuscularesDia = lstGruposMuscularesTemp; FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "El grupo muscular ha sido eliminado")); } RequestContext.getCurrentInstance().update("frmGruposMusculares"); RequestContext.getCurrentInstance().update("frmGrowl"); } public void eliminarGCross(GrupoCross grupoCrossIn) { List<GrupoCross> lstGCrossAux = lstGruposCrossDia; if (grupoCrossIn.getIdCross() == null) { for (int i = 0; i < lstGCrossAux.size(); i++) { if (lstGCrossAux.get(i).getIdgrupoCrossGeneral().getNombre() .equals(grupoCrossIn.getIdgrupoCrossGeneral().getNombre())) { lstGCrossAux.remove(i); } } FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "El grupo cross ha sido eliminado")); } else { boolean isInListTemp; lstGrupoCrossTemp.remove(grupoCrossIn); lstGruposCrossDia.remove(grupoCrossIn); for (GrupoCross gCrossFor : lstGruposCrossDia) { isInListTemp = false; for (GrupoCross gCrossForTemp : lstGrupoCrossTemp) { if (gCrossForTemp.getIdgrupoCrossGeneral().getNombre() .equals(gCrossFor.getIdgrupoCrossGeneral().getNombre())) { isInListTemp = true; break; } } if (gCrossFor.getIdCross() == null && !isInListTemp) { lstGrupoCrossTemp.add(gCrossFor); } else if (gCrossFor.getIdCross() != null) { lstGrupoCrossTemp.get(lstGrupoCrossTemp.indexOf(gCrossFor)) .setEjercicioCrossList(gCrossFor.getEjercicioCrossList()); } } lstGruposCrossDia = lstGrupoCrossTemp; FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "El grupo cross ha sido eliminado")); } RequestContext.getCurrentInstance().update("frmGruposCross"); RequestContext.getCurrentInstance().update("frmGrowl"); } public void eliminarEjercicioGMuscular(EjercicioGm ejercicioGmIn) { List<EjercicioGm> lstEjerciciosGmAux = lstEjerciciosGMuscular; if (ejercicioGmIn.getIdejerciciogm() == null) { for (int i = 0; i < lstEjerciciosGmAux.size(); i++) { if (lstEjerciciosGmAux.get(i).getEjercicio().getNombre() .equals(ejercicioGmIn.getEjercicio().getNombre()) && lstEjerciciosGmAux.get(i).getNumeroSeries() == ejercicioGmIn.getNumeroSeries() && lstEjerciciosGmAux.get(i).getPeso() == ejercicioGmIn.getPeso() && lstEjerciciosGmAux.get(i).getReceso() == ejercicioGmIn.getReceso() && lstEjerciciosGmAux.get(i).getRepeticiones() == ejercicioGmIn.getRepeticiones()) { lstEjerciciosGmAux.remove(i); } } FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "El ejercicio ha sido eliminado")); } else { boolean isInListTemp; lstEjerciciosGmTemp.remove(ejercicioGmIn); lstEjerciciosGMuscular.remove(ejercicioGmIn); for (EjercicioGm ejercicioGmFor : lstEjerciciosGMuscular) { isInListTemp = false; for (EjercicioGm ejercicioGmForTemp : lstEjerciciosGmTemp) { if (ejercicioGmForTemp.getEjercicio().getNombre() .equals(ejercicioGmFor.getEjercicio().getNombre()) && ejercicioGmForTemp.getNumeroSeries() == ejercicioGmFor.getNumeroSeries() && ejercicioGmForTemp.getPeso() == ejercicioGmFor.getPeso() && ejercicioGmForTemp.getReceso() == ejercicioGmFor.getReceso() && ejercicioGmForTemp.getRepeticiones() == ejercicioGmFor.getRepeticiones()) { isInListTemp = true; break; } } if (ejercicioGmFor.getIdejerciciogm() == null && !isInListTemp) { lstEjerciciosGmTemp.add(ejercicioGmFor); } } lstEjerciciosGMuscular = lstEjerciciosGmTemp; FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "El ejercicio ha sido eliminado")); } RequestContext.getCurrentInstance().update("frmEjercicios"); RequestContext.getCurrentInstance().update("frmGrowl"); } public void eliminarEjercicioGCross(EjercicioCross ejercicioCrossIn) { List<EjercicioCross> lstEjerciciosCrossAux = lstEjerciciosGCross; if (ejercicioCrossIn.getIdejercicioCross() == null) { for (int i = 0; i < lstEjerciciosCrossAux.size(); i++) { if (lstEjerciciosCrossAux.get(i).getEjercicio().getNombre() .equals(ejercicioCrossIn.getEjercicio().getNombre()) && lstEjerciciosCrossAux.get(i).getIdmedidaEjercicioCross() .equals(ejercicioCrossIn.getIdmedidaEjercicioCross()) && lstEjerciciosCrossAux.get(i).getNumVecesMedida() == ejercicioCrossIn .getNumVecesMedida()) { lstEjerciciosCrossAux.remove(i); } } FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "El ejercicio ha sido eliminado")); } else { boolean isInListTemp; lstEjerciciosCrossTemp.remove(ejercicioCrossIn); lstEjerciciosGCross.remove(ejercicioCrossIn); for (EjercicioCross ejercicioCrossFor : lstEjerciciosGCross) { isInListTemp = false; for (EjercicioCross ejercicioCrossForTemp : lstEjerciciosCrossTemp) { if (ejercicioCrossForTemp.getEjercicio().getNombre() .equals(ejercicioCrossFor.getEjercicio().getNombre()) && ejercicioCrossForTemp.getIdmedidaEjercicioCross() .equals(ejercicioCrossFor.getIdmedidaEjercicioCross()) && ejercicioCrossForTemp.getNumVecesMedida() == ejercicioCrossFor.getNumVecesMedida()) { isInListTemp = true; break; } } if (ejercicioCrossFor.getIdejercicioCross() == null && !isInListTemp) { lstEjerciciosCrossTemp.add(ejercicioCrossFor); } } lstEjerciciosGCross = lstEjerciciosCrossTemp; FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "El ejercicio ha sido eliminado")); } RequestContext.getCurrentInstance().update("frmEjerciciosCross"); RequestContext.getCurrentInstance().update("frmGrowl"); } public void seleccionarDiaCross(Dia diaIn) { diaSeleccionado = diaIn; lstGruposCrossDia = diaSeleccionado.getGrupoCrossList(); lstGrupoCrossTemp = diaSeleccionado.getGrupoCrossList(); RequestContext.getCurrentInstance().update("frmDatosDiaCross"); RequestContext.getCurrentInstance().update("frmGruposCross"); } public void seleccionarEjercicio() { if (idEjercicioRegistrarGm != -1) { ejercicioGmRegistrar = new EjercicioGm(); ejercicioRegistrar = ejercicioFacade.find(idEjercicioRegistrarGm); ejercicioGmRegistrar.setEjercicio(ejercicioRegistrar); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "Ejercicio: " + ejercicioRegistrar.getNombre() + " | descripcion: " + ejercicioRegistrar.getDescripcion())); RequestContext.getCurrentInstance().update("frmGrowl"); RequestContext.getCurrentInstance().update("frmDatosEjercicio:selectEjercicioGm"); RequestContext.getCurrentInstance().update("frmDatosEjercicio:msgSelectEjercicioGm"); } } public void seleccionarEjercicioCross() { if (idEjercicioRegistrarCross != -1) { ejercicioRegistrarCross = ejercicioFacade.find(idEjercicioRegistrarCross); ejercicioCrossRegistrar.setEjercicio(ejercicioRegistrarCross); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "Ejercicio: " + ejercicioRegistrarCross.getNombre() + " | descripcion: " + ejercicioRegistrarCross.getDescripcion())); RequestContext.getCurrentInstance().update("frmGrowl"); RequestContext.getCurrentInstance().update("frmDatosEjercicioCross:selectEjercicioCross"); RequestContext.getCurrentInstance().update("frmDatosEjercicioCross:msgSelectEjercicioCross"); } } public void seleccionarMedidaEjerCross() { if (idMedidaEjercicioCross != -1) { medidaEjerCrossRegistrar = medidaEjercicioCrossFacade.find(idMedidaEjercicioCross); ejercicioCrossRegistrar.setIdmedidaEjercicioCross(medidaEjerCrossRegistrar); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "Medida: " + medidaEjerCrossRegistrar.getNombre() + " | descripcion: " + medidaEjerCrossRegistrar.getDescripcion())); RequestContext.getCurrentInstance().update("frmGrowl"); RequestContext.getCurrentInstance().update("frmDatosEjercicioCross:selectMedidasEjerCross"); RequestContext.getCurrentInstance().update("frmDatosEjercicioCross:msgSelectMedidasEjerCross"); } } public void registrarGMuscular() { GrupoMuscularGeneral gMuscularExistente = grupoMuscularGeneralFacade .findGMuscularGeneralByName(grupoMuscularRegistrarDlg.getNombre()); if (gMuscularExistente == null) { grupoMuscularGeneralFacade.create(grupoMuscularRegistrarDlg); RequestContext.getCurrentInstance().addCallbackParam("saved", true); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "Grupo muscular registrado exitosamente")); RequestContext.getCurrentInstance().update("frmGrowl"); RequestContext.getCurrentInstance().update("tabModuloRutina:frmTblGMuscular"); } else { RequestContext.getCurrentInstance().addCallbackParam("saved", false); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Atencin", "El grupo muscular ya existe")); RequestContext.getCurrentInstance().update("frmGrowl"); } } public void registrarEjercicioDlg() { Ejercicio ejercicioTemp = ejercicioFacade.findEjercicioByName(ejercicioRegistrarDlg.getNombre()); if (ejercicioTemp == null) { ejercicioRegistrarDlg.setTipo("gm"); ejercicioFacade.create(ejercicioRegistrarDlg); RequestContext.getCurrentInstance().addCallbackParam("saved", true); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "Ejercicio registrado exitosamente")); RequestContext.getCurrentInstance().update("frmGrowl"); RequestContext.getCurrentInstance().update("tabModuloRutina:frmTablaEjercicios"); } else { RequestContext.getCurrentInstance().addCallbackParam("saved", false); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Atencin", "El ejercicio ya existe")); RequestContext.getCurrentInstance().update("frmGrowl"); } } public void registrarMedidaDlg() { MedidaEjercicioCross medidaTemp = medidaEjercicioCrossFacade .findMedidaEjercicioCrossByName(medidaRegistrarDlg.getNombre()); if (medidaTemp == null) { medidaEjercicioCrossFacade.create(medidaRegistrarDlg); RequestContext.getCurrentInstance().addCallbackParam("saved", true); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "Medida registrada exitosamente")); RequestContext.getCurrentInstance().update("frmGrowl"); RequestContext.getCurrentInstance().update("tabModuloRutina:frmTablaMedidas"); } else { RequestContext.getCurrentInstance().addCallbackParam("saved", false); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Atencin", "La medida ya existe")); RequestContext.getCurrentInstance().update("frmGrowl"); } } public void eliminarGrupoMuscular(GrupoMuscularGeneral gMuscularIn) { List<GrupoMuscular> lstGrupoMuscularTemp = gMuscularIn.getGrupoMuscularList(); if (lstGrupoMuscularTemp.isEmpty()) { grupoMuscularGeneralFacade.remove(gMuscularIn); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "Grupo muscular eliminado exitosamente")); RequestContext.getCurrentInstance().update("frmGrowl"); RequestContext.getCurrentInstance().update("tabModuloRutina:frmTblGMuscular"); } else { FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Atencin", "El grupo muscular se encuentra registrado en algunas rutinas, primero debe borrar dichas rutinas")); RequestContext.getCurrentInstance().update("frmGrowl"); } } public void registrarGCross() { GrupoCrossGeneral gCrossExistente = grupoCrossGeneralFacade .findGCrossGeneralByName(gruposCrossGeneralRegistrar.getNombre()); if (gCrossExistente == null) { grupoCrossGeneralFacade.create(gruposCrossGeneralRegistrar); RequestContext.getCurrentInstance().addCallbackParam("saved", true); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "Grupo cross registrado exitosamente")); RequestContext.getCurrentInstance().update("frmGrowl"); RequestContext.getCurrentInstance().update("tabModuloRutina:frmTablaGrupoCross"); } else { RequestContext.getCurrentInstance().addCallbackParam("saved", false); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Atencin", "El grupo cross ya existe")); RequestContext.getCurrentInstance().update("frmGrowl"); } } public void seleccionarEditarGrupoCross(GrupoCrossGeneral grupoCrossIn) { gruposCrossGeneralEditar = grupoCrossIn; RequestContext.getCurrentInstance().update("frmEditarGCross"); } public void eliminarGrupoCross(GrupoCrossGeneral grupoCrossIn) { List<GrupoCross> lstGrupoCrossCrud = grupoCrossIn.getGrupoCrossList(); if (lstGrupoCrossCrud.isEmpty()) { grupoCrossGeneralFacade.remove(grupoCrossIn); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "Grupo cross eliminado exitosamente")); RequestContext.getCurrentInstance().update("frmGrowl"); RequestContext.getCurrentInstance().update("tabModuloRutina:frmTablaGrupoCross"); } else { FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Atencin", "El grupo cross se encuentra registrado en algunas rutinas, primero debe borrar dichas rutinas")); RequestContext.getCurrentInstance().update("frmGrowl"); } } public void seleccionarEditarEjercicio(Ejercicio ejercicioTbl) { ejercicioEditarDlg = ejercicioTbl; RequestContext.getCurrentInstance().update("frmEditarEjercicio"); } public void seleccionarEditarMedida(MedidaEjercicioCross medidaIn) { medidaEditarDlg = medidaIn; RequestContext.getCurrentInstance().update("frmEditarMedida"); } public void eliminarEjercicio(Ejercicio ejercicioTbl) { List<EjercicioGm> lstEjercicioGmTemp = ejercicioTbl.getEjercicioGmList(); List<EjercicioCross> lstEjercicioCrossTemp = ejercicioTbl.getEjercicioCrossList(); if (lstEjercicioGmTemp.isEmpty() && lstEjercicioCrossTemp.isEmpty()) { ejercicioFacade.remove(ejercicioTbl); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "El ejercicio se ha eliminado exitosamente")); RequestContext.getCurrentInstance().update("frmGrowl"); RequestContext.getCurrentInstance().update("tabModuloRutina:frmTablaEjercicios"); } else { FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Atencin", "El ejercicio se encuentra registrado en algunas rutinas, primero debe borrar dichas rutinas")); RequestContext.getCurrentInstance().update("frmGrowl"); } } public void eliminarMedida(MedidaEjercicioCross medidaIn) { List<EjercicioCross> lstEjercicioCrossTemp = medidaIn.getEjercicioCrossList(); if (lstEjercicioCrossTemp.isEmpty()) { medidaEjercicioCrossFacade.remove(medidaIn); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "La medida se ha eliminado exitosamente")); RequestContext.getCurrentInstance().update("frmGrowl"); RequestContext.getCurrentInstance().update("tabModuloRutina:frmTablaMedidas"); } else { FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Atencin", "La medida se encuentra registrada en algunas rutinas, primero debe borrar dichas rutinas")); RequestContext.getCurrentInstance().update("frmGrowl"); } } public void seleccionarEditarRutina(Rutina rutinaIn) { accionRutina = "editar"; usuRutinaRegistrar = rutinaIn.getIdusuario(); fechaInicioRutina = rutinaIn.getFechaInicio(); fechaFinRutina = rutinaIn.getFechaFin(); rutinaRegistrar = rutinaIn; lstDiasRutina = diaFacade.findDiaByIdRutina(rutinaIn.getIdRutina()); lstDiasTemp = diaFacade.findDiaByIdRutina(rutinaIn.getIdRutina()); RequestContext.getCurrentInstance().update("frmDatosRutina"); } public void seleccionarCopiarRutina(Rutina rutinaIn) { accionRutina = "crear"; usuRutinaRegistrar = rutinaIn.getIdusuario(); fechaInicioRutina = rutinaIn.getFechaInicio(); fechaFinRutina = rutinaIn.getFechaFin(); rutinaRegistrar = rutinaIn; lstDiasRutina = rutinaRegistrar.getDiaList(); RequestContext.getCurrentInstance().update("frmDatosRutina"); } public String getMyFormattedDate(Date myDate) { if (myDate != null) { return new SimpleDateFormat("dd/MM/yyyy").format(myDate); } else { return ""; } } public void seleccionarEliminarRutina(Rutina rutinaIn) { rutinaFacade.remove(rutinaIn); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "La rutina se ha eliminado exitosamente")); RequestContext.getCurrentInstance().update("frmGrowl"); RequestContext.getCurrentInstance().update("tabModuloRutina:frmTablaRutina"); } public void seleccionarEditarGrupoMuscular(GrupoMuscularGeneral gMuscularIn) { grupoMuscularEditarDlg = gMuscularIn; RequestContext.getCurrentInstance().update("frmEditarGMuscular"); } public void editarGMuscular() { grupoMuscularGeneralFacade.edit(grupoMuscularEditarDlg); RequestContext.getCurrentInstance().addCallbackParam("edited", true); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "Grupo muscular editado exitosamente")); RequestContext.getCurrentInstance().update("frmGrowl"); RequestContext.getCurrentInstance().update("tabModuloRutina:frmTblGMuscular"); } public void editarEjercicio() { ejercicioFacade.edit(ejercicioEditarDlg); RequestContext.getCurrentInstance().addCallbackParam("edited", true); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "Grupo muscular editado exitosamente")); RequestContext.getCurrentInstance().update("frmGrowl"); RequestContext.getCurrentInstance().update("tabModuloRutina:frmTablaEjercicios"); } public void editarMedidaDlg() { medidaEjercicioCrossFacade.edit(medidaEditarDlg); RequestContext.getCurrentInstance().addCallbackParam("edited", true); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "Medida editada exitosamente")); RequestContext.getCurrentInstance().update("frmGrowl"); RequestContext.getCurrentInstance().update("tabModuloRutina:frmTablaMedidas"); } public void editarGCross() { grupoCrossGeneralFacade.edit(gruposCrossGeneralEditar); RequestContext.getCurrentInstance().addCallbackParam("edited", true); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "Grupo cross editado exitosamente")); RequestContext.getCurrentInstance().update("frmGrowl"); RequestContext.getCurrentInstance().update("tabModuloRutina:frmTablaGrupoCross"); } public void crearRutina() { accionRutina = "crear"; lstDiasRutina = new ArrayList<>(); RequestContext.getCurrentInstance().update("frmDatosRutina"); } public void verRutina(Rutina rutinaIn) { rutinaVisualizar = rutinaIn; generarPdf(); RequestContext.getCurrentInstance().update("frmVerRutina"); } public double obtenerPeso(Usuario usuIn) { List<Evaluacion> lstEvalIn = usuIn.getEvaluacionList(); if (lstEvalIn != null && lstEvalIn.size() > 0) { int tamanio = lstEvalIn.size() - 1; return lstEvalIn.get(tamanio).getPeso().doubleValue(); } else { return 0; } } public double obtenerEstatura(Usuario usuIn) { MedidasGenerales medGenIn = usuIn.getMedidasGenerales(); double estatura = 0; if (medGenIn != null) { estatura = medGenIn.getEstatura().doubleValue(); } return estatura; } public double obtenerImc(Usuario usuIn) { double estatura = 0; double peso = 0; if (usuIn != null) { estatura = obtenerEstatura(usuIn); peso = obtenerPeso(usuIn); } if (estatura != 0 && peso != 0) { return peso / Math.pow(estatura, 2); } else { return 0; } } public void imprimirRutina() { FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Atencin", "La impresin de la rutina comenzar en unos momentos")); RequestContext.getCurrentInstance().update("frmGrowl"); } public List<Rutina> getLstRutinasDisponibles() { return lstRutinasDisponibles = rutinaFacade.findAll(); } public void setLstRutinasDisponibles(List<Rutina> lstRutinasDisponibles) { this.lstRutinasDisponibles = lstRutinasDisponibles; } public Usuario getUsuRutinaRegistrar() { return usuRutinaRegistrar; } public void setUsuRutinaRegistrar(Usuario usuRutinaRegistrar) { this.usuRutinaRegistrar = usuRutinaRegistrar; } public List<Dia> getLstDiasRutina() { return lstDiasRutina; } public void setLstDiasRutina(List<Dia> lstDiasRutina) { this.lstDiasRutina = lstDiasRutina; } public Rutina getRutinaRegistrar() { return rutinaRegistrar; } public void setRutinaRegistrar(Rutina rutinaRegistrar) { this.rutinaRegistrar = rutinaRegistrar; } public Date getFechaInicioRutina() { return fechaInicioRutina; } public void setFechaInicioRutina(Date fechaInicioRutina) { this.fechaInicioRutina = fechaInicioRutina; } public Date getFechaFinRutina() { return fechaFinRutina; } public void setFechaFinRutina(Date fechaFinRutina) { this.fechaFinRutina = fechaFinRutina; } public GrupoMuscularGeneral getGrupoMuscRegistrar() { return grupoMuscRegistrar; } public void setGrupoMuscRegistrar(GrupoMuscularGeneral grupoMuscRegistrar) { this.grupoMuscRegistrar = grupoMuscRegistrar; } public List<GrupoMuscularGeneral> getLstGruposMusculares() { return lstGruposMusculares = grupoMuscularGeneralFacade.findAll(); } public void setLstGruposMusculares(List<GrupoMuscularGeneral> lstGruposMusculares) { this.lstGruposMusculares = lstGruposMusculares; } public Dia getDiaSeleccionado() { return diaSeleccionado; } public void setDiaSeleccionado(Dia diaSeleccionado) { this.diaSeleccionado = diaSeleccionado; } public List<GrupoMuscular> getLstGruposMuscularesDia() { return lstGruposMuscularesDia; } public void setLstGruposMuscularesDia(List<GrupoMuscular> lstGruposMuscularesDia) { this.lstGruposMuscularesDia = lstGruposMuscularesDia; } public List<Ejercicio> getLstEjercicios() { return lstEjercicios = ejercicioFacade.findAll(); } public void setLstEjercicios(List<Ejercicio> lstEjercicios) { this.lstEjercicios = lstEjercicios; } public List<EjercicioGm> getLstEjerciciosGMuscular() { return lstEjerciciosGMuscular; } public void setLstEjerciciosGMuscular(List<EjercicioGm> lstEjerciciosGMuscular) { this.lstEjerciciosGMuscular = lstEjerciciosGMuscular; } public GrupoMuscular getGrupoMuscSeleccionado() { return grupoMuscSeleccionado; } public void setGrupoMuscSeleccionado(GrupoMuscular grupoMuscSeleccionado) { this.grupoMuscSeleccionado = grupoMuscSeleccionado; } public EjercicioGm getEjercicioGmRegistrar() { return ejercicioGmRegistrar; } public void setEjercicioGmRegistrar(EjercicioGm ejercicioGmRegistrar) { this.ejercicioGmRegistrar = ejercicioGmRegistrar; } public Ejercicio getEjercicioRegistrar() { return ejercicioRegistrar; } public void setEjercicioRegistrar(Ejercicio ejercicioRegistrar) { this.ejercicioRegistrar = ejercicioRegistrar; } public GrupoMuscularGeneral getGrupoMuscularRegistrarDlg() { return grupoMuscularRegistrarDlg; } public void setGrupoMuscularRegistrarDlg(GrupoMuscularGeneral grupoMuscularRegistrarDlg) { this.grupoMuscularRegistrarDlg = grupoMuscularRegistrarDlg; } public GrupoMuscularGeneral getGrupoMuscularEditarDlg() { return grupoMuscularEditarDlg; } public void setGrupoMuscularEditarDlg(GrupoMuscularGeneral grupoMuscularEditarDlg) { this.grupoMuscularEditarDlg = grupoMuscularEditarDlg; } public Rutina getRutinaVisualizar() { return rutinaVisualizar; } public void setRutinaVisualizar(Rutina rutinaVisualizar) { this.rutinaVisualizar = rutinaVisualizar; } public List<GrupoCrossGeneral> getLstGrupoCross() { return lstGrupoCross = grupoCrossGeneralFacade.findAll(); } public void setLstGrupoCross(List<GrupoCrossGeneral> lstGrupoCross) { this.lstGrupoCross = lstGrupoCross; } public GrupoCrossGeneral getGruposCrossGeneralEditar() { return gruposCrossGeneralEditar; } public void setGruposCrossGeneralEditar(GrupoCrossGeneral gruposCrossGeneralEditar) { this.gruposCrossGeneralEditar = gruposCrossGeneralEditar; } public GrupoCrossGeneral getGruposCrossGeneralRegistrar() { return gruposCrossGeneralRegistrar; } public void setGruposCrossGeneralRegistrar(GrupoCrossGeneral gruposCrossGeneralRegistrar) { this.gruposCrossGeneralRegistrar = gruposCrossGeneralRegistrar; } public GrupoCrossGeneral getGrupoCrossRegistrar() { return grupoCrossRegistrar; } public void setGrupoCrossRegistrar(GrupoCrossGeneral grupoCrossRegistrar) { this.grupoCrossRegistrar = grupoCrossRegistrar; } public List<GrupoCross> getLstGruposCrossDia() { return lstGruposCrossDia; } public void setLstGruposCrossDia(List<GrupoCross> lstGruposCrossDia) { this.lstGruposCrossDia = lstGruposCrossDia; } public EjercicioCross getEjercicioCrossRegistrar() { return ejercicioCrossRegistrar; } public void setEjercicioCrossRegistrar(EjercicioCross ejercicioCrossRegistrar) { this.ejercicioCrossRegistrar = ejercicioCrossRegistrar; } public GrupoCross getGrupoCrossSeleccionado() { return grupoCrossSeleccionado; } public void setGrupoCrossSeleccionado(GrupoCross grupoCrossSeleccionado) { this.grupoCrossSeleccionado = grupoCrossSeleccionado; } public List<EjercicioCross> getLstEjerciciosGCross() { return lstEjerciciosGCross; } public void setLstEjerciciosGCross(List<EjercicioCross> lstEjerciciosGCross) { this.lstEjerciciosGCross = lstEjerciciosGCross; } public Ejercicio getEjercicioRegistrarCross() { return ejercicioRegistrarCross; } public void setEjercicioRegistrarCross(Ejercicio ejercicioRegistrarCross) { this.ejercicioRegistrarCross = ejercicioRegistrarCross; } public Ejercicio getEjercicioRegistrarDlg() { return ejercicioRegistrarDlg; } public void setEjercicioRegistrarDlg(Ejercicio ejercicioRegistrarDlg) { this.ejercicioRegistrarDlg = ejercicioRegistrarDlg; } public Ejercicio getEjercicioEditarDlg() { return ejercicioEditarDlg; } public void setEjercicioEditarDlg(Ejercicio ejercicioEditarDlg) { this.ejercicioEditarDlg = ejercicioEditarDlg; } public int getIdGrupoMuscRegistrar() { return idGrupoMuscRegistrar; } public void setIdGrupoMuscRegistrar(int idGrupoMuscRegistrar) { this.idGrupoMuscRegistrar = idGrupoMuscRegistrar; } public int getIdGrupoCrossRegistrar() { return idGrupoCrossRegistrar; } public void setIdGrupoCrossRegistrar(int idGrupoCrossRegistrar) { this.idGrupoCrossRegistrar = idGrupoCrossRegistrar; } public int getIdEjercicioRegistrarCross() { return idEjercicioRegistrarCross; } public void setIdEjercicioRegistrarCross(int idEjercicioRegistrarCross) { this.idEjercicioRegistrarCross = idEjercicioRegistrarCross; } public SelectOneMenu getSelEjerCross() { return selEjerCross; } public void setSelEjerCross(SelectOneMenu selEjerCross) { this.selEjerCross = selEjerCross; } public int getIdEjercicioRegistrarGm() { return idEjercicioRegistrarGm; } public void setIdEjercicioRegistrarGm(int idEjercicioRegistrarGm) { this.idEjercicioRegistrarGm = idEjercicioRegistrarGm; } public SelectOneMenu getSelEjerGm() { return selEjerGm; } public void setSelEjerGm(SelectOneMenu selEjerGm) { this.selEjerGm = selEjerGm; } public SelectOneMenu getSelGrupoCross() { return selGrupoCross; } public void setSelGrupoCross(SelectOneMenu selGrupoCross) { this.selGrupoCross = selGrupoCross; } public SelectOneMenu getSelGrupoGm() { return selGrupoGm; } public void setSelGrupoGm(SelectOneMenu selGrupoGm) { this.selGrupoGm = selGrupoGm; } public int getIdMedidaEjercicioCross() { return idMedidaEjercicioCross; } public void setIdMedidaEjercicioCross(int idMedidaEjercicioCross) { this.idMedidaEjercicioCross = idMedidaEjercicioCross; } public List<MedidaEjercicioCross> getLstMedidasEjercicioCross() { return lstMedidasEjercicioCross = medidaEjercicioCrossFacade.findAll(); } public void setLstMedidasEjercicioCross(List<MedidaEjercicioCross> lstMedidasEjercicioCross) { this.lstMedidasEjercicioCross = lstMedidasEjercicioCross; } public SelectOneMenu getSelMedidaEjerCross() { return selMedidaEjerCross; } public void setSelMedidaEjerCross(SelectOneMenu selMedidaEjerCross) { this.selMedidaEjerCross = selMedidaEjerCross; } public MedidaEjercicioCross getMedidaEditarDlg() { return medidaEditarDlg; } public void setMedidaEditarDlg(MedidaEjercicioCross medidaEditarDlg) { this.medidaEditarDlg = medidaEditarDlg; } public MedidaEjercicioCross getMedidaRegistrarDlg() { return medidaRegistrarDlg; } public void setMedidaRegistrarDlg(MedidaEjercicioCross medidaRegistrarDlg) { this.medidaRegistrarDlg = medidaRegistrarDlg; } public String getPdfFileName() { return pdfFileName; } public void setPdfFileName(String pdfFileName) { this.pdfFileName = pdfFileName; } }