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.innovaciones.reporte.controller; import com.innovaciones.reporte.beans.AsignacionReparacionBean; import com.innovaciones.reporte.beans.ClienteBean; import com.innovaciones.reporte.beans.ConsultasBean; import com.innovaciones.reporte.beans.DetalleCatalogoReporteBean; import com.innovaciones.reporte.beans.DetalleReporteInstalacionNuevaBean; import com.innovaciones.reporte.beans.ReporteBean; import com.innovaciones.reporte.model.AsignacionReparacion; import com.innovaciones.reporte.model.CabeceraCatalogoReporte; import com.innovaciones.reporte.model.Cliente; import com.innovaciones.reporte.model.DTO.NotificacionDTO; import com.innovaciones.reporte.model.DetalleCatalogoReporte; import com.innovaciones.reporte.model.DetalleReporteInstalacionNueva; import com.innovaciones.reporte.model.Marca; import com.innovaciones.reporte.model.Modelo; import com.innovaciones.reporte.model.Producto; import com.innovaciones.reporte.model.ProductoCliente; import com.innovaciones.reporte.model.ProductoClienteReporte; import com.innovaciones.reporte.model.ProductoDetalleReporte; import com.innovaciones.reporte.model.Reporte; import com.innovaciones.reporte.model.DTO.ReportesDTO; import com.innovaciones.reporte.model.DetalleReporteTemporal; import com.innovaciones.reporte.model.RepuestoModelo; import com.innovaciones.reporte.service.AsignacionReparacionService; import com.innovaciones.reporte.service.CabeceraCatalogoReporteService; import com.innovaciones.reporte.service.ClienteService; import com.innovaciones.reporte.service.ConsultasService; import com.innovaciones.reporte.service.DetalleCatalogoReporteService; import com.innovaciones.reporte.service.DetalleReporteInstalacionNuevaService; import com.innovaciones.reporte.service.DetalleReporteTemporalService; import com.innovaciones.reporte.service.MarcaService; import com.innovaciones.reporte.service.ModeloService; import com.innovaciones.reporte.service.ProductoClienteReporteService; import com.innovaciones.reporte.service.ProductoClienteService; import com.innovaciones.reporte.service.ProductoDetalleReporteService; import com.innovaciones.reporte.service.ProductoService; import com.innovaciones.reporte.service.ReporteMantenimientoService; import com.innovaciones.reporte.service.ReporteService; import com.innovaciones.reporte.service.RepuestoModeloService; import com.innovaciones.reporte.util.Enums; import com.innovaciones.reporte.util.EstadosEnum; import com.innovaciones.reporte.util.ReporteTecnico; import com.innovaciones.reporte.util.Utilities; import java.util.ArrayList; import java.util.Date; import javax.annotation.PostConstruct; import javax.faces.bean.ManagedBean; import javax.faces.bean.ManagedProperty; import javax.faces.bean.ViewScoped; import lombok.Getter; import lombok.Setter; import org.hibernate.exception.ConstraintViolationException; import org.primefaces.event.SelectEvent; import java.io.Serializable; /** * * @author Fernando */ @ManagedBean(name = "instalacionController") @ViewScoped public class InstalacionController extends Utilities implements Serializable { /** * Creates a new instance of InstalacionController */ @Getter @Setter @ManagedProperty("#{detalleCatalogoReporteService}") private DetalleCatalogoReporteService detalleCatalogoReporteService; @Getter @Setter @ManagedProperty("#{cabeceraCatalogoReporteService}") private CabeceraCatalogoReporteService cabeceraCatalogoReporteService; @Getter @Setter @ManagedProperty("#{productoClienteService}") private ProductoClienteService productoClienteService; @Getter @Setter @ManagedProperty("#{productoClienteReporteService}") private ProductoClienteReporteService productoClienteReporteService; @Getter @Setter @ManagedProperty("#{productoDetalleReporteService}") private ProductoDetalleReporteService productoDetalleReporteService; @Getter @Setter @ManagedProperty("#{reporteService}") private ReporteService reporteService; @Getter @Setter @ManagedProperty("#{modeloService}") private ModeloService modeloService; @Getter @Setter @ManagedProperty("#{clienteService}") private ClienteService clienteService; @Getter @Setter @ManagedProperty("#{marcaService}") private MarcaService marcaService; @Getter @Setter @ManagedProperty("#{productoService}") private ProductoService productoService; @Getter @Setter @ManagedProperty("#{reporteMantenimientoService}") private ReporteMantenimientoService reporteMantenimientoService; @Getter @Setter @ManagedProperty("#{reporteBean}") private ReporteBean reporteBean; @Getter @Setter @ManagedProperty("#{clienteBean}") private ClienteBean clienteBean; @Getter @Setter @ManagedProperty("#{detalleReporteInstalacionNuevaBean}") private DetalleReporteInstalacionNuevaBean detalleReporteInstalacionNuevaBean; @Getter @Setter @ManagedProperty("#{detalleReporteInstalacionNuevaService}") private DetalleReporteInstalacionNuevaService detalleReporteInstalacionNuevaService; @Getter @Setter @ManagedProperty("#{consultasService}") private ConsultasService consultasService; @Getter @Setter @ManagedProperty("#{consultasBean}") private ConsultasBean consultasBean; @Getter @Setter @ManagedProperty("#{sesionController}") private SesionController sesionController; @Getter @Setter @ManagedProperty("#{detalleCatalogoReporteBean}") private DetalleCatalogoReporteBean detalleCatalogoReporteBean; @Getter @Setter @ManagedProperty("#{asignacionReparacionService}") private AsignacionReparacionService asignacionReparacionService; @Getter @Setter @ManagedProperty("#{detalleReporteTemporalService}") private DetalleReporteTemporalService detalleReporteTemporalService; @Getter @Setter @ManagedProperty("#{repuestoModeloService}") private RepuestoModeloService repuestoModeloService; @Getter @Setter @ManagedProperty("#{asignacionReparacionBean}") private AsignacionReparacionBean asignacionReparacionBean; public void llenarDatos() { reporteBean.getReporte().setFactura("255555"); reporteBean.getReporte().setReferencia("referr"); clienteBean.setCliente(clienteService.getClienteByRuc("1791983580001")); reporteBean.getProductoClienteReporte().setAtencion("Atencjion "); reporteBean.getProductoClienteReporte().setCiudad("QUITO "); reporteBean.getProductoClienteReporte().setIpEquipo("192.16.18.156"); reporteBean.getProductoClienteReporte().setDepartamento("SISTEMAS"); reporteBean.getProductoClienteReporte().setDireccionEquipo("DIRECIO PRUWEBA"); reporteBean.getProductoClienteReporte().setTelefonoEquipo("00454564425"); reporteBean.getProductoClienteReporte().setCorreoEquipo("COM"); detalleReporteInstalacionNuevaBean.getDetalleReporteInstalacionNueva() .setDescripcionConsideraciones("DESCRIPCION CONSIDERACIONES "); detalleReporteInstalacionNuevaBean.getDetalleReporteInstalacionNueva().setFaseNeutro("FASE NEUTRO"); detalleReporteInstalacionNuevaBean.getDetalleReporteInstalacionNueva().setFaseTierra("FASE TIERRA "); detalleReporteInstalacionNuevaBean.getDetalleReporteInstalacionNueva().setNeutro("NEUTRO "); detalleReporteInstalacionNuevaBean.getDetalleReporteInstalacionNueva().setObservacion("OBSERVACIONES "); detalleReporteInstalacionNuevaBean.getDetalleReporteInstalacionNueva() .setNombreOperario("NOMBRE OPERARIO "); detalleReporteInstalacionNuevaBean.getDetalleReporteInstalacionNueva().setNota("NOTAA "); detalleReporteInstalacionNuevaBean.getDetalleReporteInstalacionNueva() .setVoltajePrevencion(new java.math.BigDecimal("45.02")); reporteBean.getProductoCliente().setSerie(java.util.UUID.randomUUID().toString().substring(1, 10)); /* reporteBean.setProducto(productoService.getProductoById(12)); reporteBean.getProducto().setVersionFirmware("VE54545"); reporteBean.setModelo(reporteBean.getProducto().getIdModelo()); reporteBean.setMarca(reporteBean.getModelo().getIdMarca());*/ reporteBean.getReporte().setNombreCliente("NOMBRE"); reporteBean.getDetalleReporteTemporal().setObservaciones("opbservaciones temportal"); } @PostConstruct private void init() { NotificacionDTO notificacionDTO = (NotificacionDTO) getValueInSession("notificacionSeleccionada"); if (notificacionDTO != null) { this.inicializarBeans(); asignacionReparacionBean.setAsignacionReparacionSelected( asignacionReparacionService.getAsignacionReparacionById(notificacionDTO.getId())); reporteBean.setProductoClienteReporteSelected(new ProductoClienteReporte()); reporteBean.setProductoClienteReporteSelected(productoClienteReporteService .getProductoClienteReporteByReportId(notificacionDTO.getIdClienteProducto())); sesionController.getSesionBean().setIsReporteEdit(Boolean.FALSE); if (reporteBean.getProductoClienteReporteSelected() != null) { reporteBean.setProductoClienteReporte(reporteBean.getProductoClienteReporteSelected()); this.llenarReporte(); } else { reporteBean.setProductoCliente( productoClienteService.getProductoClienteById(notificacionDTO.getIdClienteProducto())); reporteBean.setCliente(reporteBean.getProductoCliente().getIdCliente()); reporteBean.setProducto(reporteBean.getProductoCliente().getIdProducto()); reporteBean.setModelo(reporteBean.getProducto().getIdModelo()); reporteBean.setMarca(reporteBean.getModelo().getIdMarca()); } reporteBean.setUsuarios(sesionController.getSesionBean().getUsuarios()); reporteBean.setNumeroFacturaTecnico(this.numeroReporte(notificacionDTO.getTipoReporte())); reporteBean.setReporteActual(numeroFactura(reporteBean.getNumeroFacturaTecnico() + 1)); this.llenarCatalogos(); reporteBean.setEstadoActualMantenimiento(Enums.PREVENTIVO.getPropertyName()); reporteBean.getReporte().setSubtipo(sesionController.getSesionBean().getIsSubReporteTipo()); reporteBean.getReporte().setTipo(sesionController.getSesionBean().getIsReporteTipo()); reporteBean.setHabilitarGuardarConSerial( (NotificacionDTO) getValueInSession("notificacionSeleccionada") == null); } else { reporteBean.setHabilitarGuardarConSerial( (NotificacionDTO) getValueInSession("notificacionSeleccionada") == null); } if (getIdReporteSession() != 0) { reporteBean.setDisable(sesionController.getSesionBean().getIsReporteEdit()); this.llenarReportePorId(getIdReporteSession()); reporteBean.setNumeroFacturaTecnico(this.numeroReporte(reporteBean.getReporte().getTipo())); reporteBean.setReporteActual(numeroFactura(reporteBean.getReporte().getNumerofactura())); } else if (!getSessionText(Enums.PARAMETRO_TIPO_REPORTE.getValue()).isEmpty()) { reporteBean.setNumeroFacturaTecnico( this.numeroReporte(getSessionText(Enums.PARAMETRO_TIPO_REPORTE.getValue()))); //openModalBS("dlgFiltros"); this.inicializarBeans(); reporteBean.setUsuarios(sesionController.getSesionBean().getUsuarios()); reporteBean.setReporteActual(numeroFactura(reporteBean.getNumeroFacturaTecnico() + 1)); this.llenarCatalogos(); reporteBean.setEstadoActualMantenimiento(Enums.PREVENTIVO.getPropertyName()); reporteBean.getReporte().setSubtipo(sesionController.getSesionBean().getIsSubReporteTipo()); reporteBean.getReporte().setTipo(sesionController.getSesionBean().getIsReporteTipo()); llenarDatos(); } else if (getSessionText(Enums.PARAMETRO_TIPO_REPORTE.getValue()).isEmpty() && Enums.PAGINA_REPORTE.getValue().equals(getCurrentPage())) { redireccionar("paginas/menu/menu-principal.jsf"); } } protected Integer numeroReporte(String subtipo) { return reporteService.getReporteByUserByTipo(sesionController.getSesionBean().getUsuarios(), Enums.INSTALACION.getValue(), subtipo).size(); } public void deshabilitarFirma(Boolean estado) { reporteBean.setEstadoFirma(estado); } public void llenarCamposPorFiltro() { if (!reporteBean.getFiltroSerial().isEmpty()) { reporteBean.setProductoClienteSelected( productoClienteService.getProductoClienteBySerial(reporteBean.getFiltroSerial().trim())); if (reporteBean.getProductoClienteSelected() != null) { reporteBean.setProductoCliente(reporteBean.getProductoClienteSelected()); reporteBean.setCliente(reporteBean.getProductoCliente().getIdCliente()); reporteBean.setProducto(reporteBean.getProductoCliente().getIdProducto()); reporteBean.setModelo(reporteBean.getProducto().getIdModelo()); reporteBean.setMarca(reporteBean.getProducto().getIdModelo().getIdMarca()); reporteBean.setHabilitarGuardarConSerial(Boolean.FALSE); } else { warn("No se encontraron resultados"); } } if (!reporteBean.getFiltroCedula().isEmpty()) { reporteBean.setClienteSelected(clienteService.getClienteByRuc(reporteBean.getFiltroCedula().trim())); if (reporteBean.getClienteSelected() != null) { reporteBean.setCliente(reporteBean.getClienteSelected()); } else { warn("No se encontraron resultados"); } } if (!reporteBean.getFiltroProducto().isEmpty()) { reporteBean.setProductoSelected( productoService.getProductoByEquipo(reporteBean.getFiltroProducto().trim())); if (reporteBean.getProductoSelected() != null) { reporteBean.setProducto(reporteBean.getProductoSelected()); reporteBean.setModelo(reporteBean.getProducto().getIdModelo()); reporteBean.setMarca(reporteBean.getProducto().getIdModelo().getIdMarca()); } else { warn("No se encontraron resultados"); } } closeModalBS("dlgFiltros"); } public void llenarReportePorRuc() { consultasBean.setReportesDTOs(new ArrayList<ReportesDTO>()); consultasBean.setReportesDTOs(consultasService.reportesPorRuc(clienteBean.getCliente().getRuc())); openDialog("dlgReportesRuc"); } public void llenarClientePorRuc() { if (clienteBean.getCliente().getRuc() != null && !clienteBean.getCliente().getRuc().isEmpty()) { clienteBean.setClienteSelected(clienteService.getClienteByRuc(clienteBean.getCliente().getRuc())); if (clienteBean.getClienteSelected() != null) { clienteBean.setCliente(clienteBean.getClienteSelected()); } else { info("No se encontr resultados"); } } else { info("El campo ruc est vacio"); } } public void llenarProductoPorSerial(String tipo) { if (tipo.equals(Enums.DATOS_REEMPLAZO.getValue())) { if (reporteBean.getProductoCliente().getSerie() != null && !reporteBean.getProductoCliente().getSerie().isEmpty()) { reporteBean.setProductoClienteReporteSelected(productoClienteReporteService .getProductoClienteReporteBySerial(reporteBean.getProductoCliente().getSerie())); if (reporteBean.getProductoClienteReporteSelected() != null) { reporteBean.setProductoClienteReporte(reporteBean.getProductoClienteReporteSelected()); this.llenarReporte(); return; } reporteBean.setProductoClienteSelected(productoClienteService .getProductoClienteBySerial(reporteBean.getProductoCliente().getSerie())); if (reporteBean.getProductoClienteSelected() != null) { reporteBean.setProductoCliente(reporteBean.getProductoClienteSelected()); reporteBean.setProducto(reporteBean.getProductoCliente().getIdProducto()); reporteBean.setCliente(reporteBean.getProductoCliente().getIdCliente()); reporteBean.setModelo(reporteBean.getProducto().getIdModelo()); reporteBean.setHabilitarGuardarConSerial(Boolean.FALSE); } else { info("No se encontr resultados"); } } else { info("El campo serie est vacio"); } } if (tipo.equals(Enums.DATOS_TEMPORAL.getValue())) { if (reporteBean.getProductoClienteTemporal().getSerie() != null && !reporteBean.getProductoClienteTemporal().getSerie().isEmpty()) { reporteBean.setProductoClienteReporteTemporalSelected(productoClienteReporteService .getProductoClienteReporteBySerial(reporteBean.getProductoCliente().getSerie())); if (reporteBean.getProductoClienteReporteTemporalSelected() != null) { reporteBean.setProductoClienteReporte(reporteBean.getProductoClienteReporteTemporalSelected()); this.llenarReporte(); return; } reporteBean.setProductoClienteTemporalSelected(productoClienteService .getProductoClienteBySerial(reporteBean.getProductoClienteTemporal().getSerie())); if (reporteBean.getProductoClienteTemporalSelected() != null) { reporteBean.setProductoClienteTemporal(reporteBean.getProductoClienteTemporalSelected()); reporteBean .setProductoTemporal(reporteBean.getProductoClienteTemporalSelected().getIdProducto()); //errevisar reporteBean.setHabilitarGuardarConSerial(Boolean.FALSE); } else { info("No se encontr resultados"); } } else { info("El campo serie est vacio"); } } } public void llenarProductoTemporalPorSerial() { if (reporteBean.getProductoCliente().getSerie() != null && !reporteBean.getProductoCliente().getSerie().isEmpty()) { reporteBean.setProductoClienteReporteSelected(productoClienteReporteService .getProductoClienteReporteBySerial(reporteBean.getProductoCliente().getSerie())); if (reporteBean.getProductoClienteReporteSelected() != null) { reporteBean.setProductoClienteReporte(reporteBean.getProductoClienteReporteSelected()); this.llenarReporte(); return; } reporteBean.setProductoClienteSelected( productoClienteService.getProductoClienteBySerial(reporteBean.getProductoCliente().getSerie())); if (reporteBean.getProductoClienteSelected() != null) { reporteBean.setProductoCliente(reporteBean.getProductoClienteSelected()); reporteBean.setProducto(reporteBean.getProductoCliente().getIdProducto()); reporteBean.setCliente(reporteBean.getProductoCliente().getIdCliente()); reporteBean.setModelo(reporteBean.getProducto().getIdModelo()); reporteBean.setHabilitarGuardarConSerial(Boolean.FALSE); } else { info("No se encontr resultados"); } } else { info("El campo serie est vacio"); } } public void llenarReportePorId(Integer id) { this.inicializarBeans(); reporteBean.setProductoClienteReporte(new ProductoClienteReporte()); reporteBean .setProductoClienteReporte(productoClienteReporteService.getProductoClienteReporteByReportId(id)); this.llenarCatalogos(); if (reporteBean.getProductoClienteReporte() != null) { this.llenarReporte(); } } private void llenarReporte() { reporteBean.setProductoCliente(reporteBean.getProductoClienteReporte().getIdProductoCliente()); reporteBean.setReporte(reporteBean.getProductoClienteReporte().getIdReporte()); reporteBean.setEstadoActualMantenimiento(reporteBean.getReporte().getMantenimiento()); reporteBean.setReporteSelected(reporteBean.getReporte()); reporteBean .setProductoDetalleReporte(reporteBean.getProductoClienteReporte().getIdProductoDetalleReporte()); clienteBean.setCliente(reporteBean.getProductoClienteReporte().getIdProductoCliente().getIdCliente()); reporteBean.setProducto(reporteBean.getProductoClienteReporte().getIdProductoCliente().getIdProducto()); reporteBean.setModelo( reporteBean.getProductoClienteReporte().getIdProductoCliente().getIdProducto().getIdModelo()); reporteBean.setMarca(reporteBean.getProductoClienteReporte().getIdProductoCliente().getIdProducto() .getIdModelo().getIdMarca()); reporteBean.setUsuarios(reporteBean.getReporte().getIdUsuario()); if (sesionController.getSesionBean().getIsSubReporteTipo().equals(Enums.INSTALACION_NUEVA.getValue())) { detalleReporteInstalacionNuevaBean.setDetalleReporteInstalacionNueva( reporteBean.getProductoClienteReporte().getIdDetalleReporteInstalacionNueva()); } if (sesionController.getSesionBean().getIsSubReporteTipo().equals(Enums.INSTALACION_TEMPORAL.getValue())) { reporteBean.setDetalleReporteTemporal( reporteBean.getProductoClienteReporte().getIdDetalleReporteTemporal()); detalleReporteInstalacionNuevaBean.getDetalleReporteInstalacionNueva().setFaseNeutro( reporteBean.getProductoClienteReporte().getIdDetalleReporteTemporal().getFaseNeutro()); detalleReporteInstalacionNuevaBean.getDetalleReporteInstalacionNueva().setFaseTierra( reporteBean.getProductoClienteReporte().getIdDetalleReporteTemporal().getFaseTierra()); detalleReporteInstalacionNuevaBean.getDetalleReporteInstalacionNueva() .setNeutro(reporteBean.getProductoClienteReporte().getIdDetalleReporteTemporal().getNeutro()); detalleReporteInstalacionNuevaBean.getDetalleReporteInstalacionNueva().setObservacion( reporteBean.getProductoClienteReporte().getIdDetalleReporteTemporal().getObservacionMedicion()); reporteBean.getDetalleReporteTemporal().setIdProductoCliente( reporteBean.getProductoClienteReporte().getIdDetalleReporteTemporal().getIdProductoCliente()); // reporteBean.getProductoClienteTemporal().setIdProducto(idProducto); reporteBean.setProductoClienteTemporal( reporteBean.getProductoClienteReporte().getIdDetalleReporteTemporal().getIdProductoCliente()); reporteBean.setProductoTemporal(reporteBean.getProductoClienteReporte().getIdDetalleReporteTemporal() .getIdProductoCliente().getIdProducto()); } reporteBean.setListPreguntas(llenarRepuestosPreguntas(reporteBean.getListPreguntas(), reporteBean)); } public void PDF() { reporteBean.getReporte().setFecha(new Date()); if (getIdReporteSession() != 0) { llenarReportePorId(getIdReporteSession()); } new ReporteTecnico().descargarReporte(reporteBean, Enums.INSTALACION.getValue()); } public void cancelar() { try { inicializarBeans(); sesionController.getSesionBean().setIsReporteVer(Boolean.FALSE); sesionController.getSesionBean().setIsReporteTipo(null); killSession(Enums.PARAMETRO_TIPO_REPORTE.getValue()); redirectToPage("/paginas/instalaciones/administracion.jsf"); } catch (Exception e) { System.out.println("Error cancelar " + e.getMessage()); } } public void guardar() { try { if (sesionController.getSesionBean().getIsReporteEdit()) { reporteBean.getReporte().setId(reporteBean.getReporteSelected().getId()); reporteBean.getReporte().setMantenimiento(reporteBean.getReporteSelected().getMantenimiento()); reporteBean.getReporte().setFecha(reporteBean.getReporteSelected().getFecha()); reporteBean.getReporte().setSubtipo(reporteBean.getReporteSelected().getSubtipo()); reporteBean.getReporte().setTipo(reporteBean.getReporteSelected().getTipo()); reporteBean.getReporte().setEstado(reporteBean.getReporteSelected().getEstado()); reporteBean.getReporte().setUsuarioCreacion(reporteBean.getReporteSelected().getUsuarioCreacion()); reporteBean.getReporte().setFechaCreacion(reporteBean.getReporteSelected().getFechaCreacion()); reporteBean.getReporte() .setUsuarioModificacion(sesionController.getSesionBean().getUsuarios().getUsuario()); reporteBean.getReporte().setFechaModificacion(new Date()); reporteBean.getReporte().setIdUsuario(reporteBean.getUsuarios()); reporteBean.setProductoCliente(reporteBean.getProductoClienteReporte().getIdProductoCliente()); reporteBean.getProductoCliente().setIdProducto(reporteBean.getProducto()); reporteBean.getProductoCliente().setIdCliente(clienteBean.getCliente()); reporteBean.setProductoCliente( productoClienteService.updateProductoCliente(reporteBean.getProductoCliente())); reporteBean.setReporte(reporteService.updateReporte(reporteBean.getReporte())); reporteBean.getProductoClienteReporte().setIdReporte(reporteBean.getReporte()); reporteBean.getProductoClienteReporte().setIdProductoCliente(reporteBean.getProductoCliente()); if (sesionController.getSesionBean().getIsSubReporteTipo() .equals(Enums.INSTALACION_NUEVA.getValue())) { detalleReporteInstalacionNuevaBean.setDetalleReporteInstalacionNueva( detalleReporteInstalacionNuevaService.updateDetalleReporteInstalacionNueva( detalleReporteInstalacionNuevaBean.getDetalleReporteInstalacionNueva())); reporteBean.getProductoClienteReporte().setIdDetalleReporteInstalacionNueva( detalleReporteInstalacionNuevaBean.getDetalleReporteInstalacionNueva()); reporteBean.setProductoClienteReporte(productoClienteReporteService .updateProductoClienteReporte(reporteBean.getProductoClienteReporte())); reporteMantenimientoService.updateReporteMantenimientoInstalacionNueva( reporteBean.getProductoClienteReporte(), reporteBean.getListPreguntas(), sesionController.getSesionBean().getUsuarios()); } if (reporteBean.getReporte().getSubtipo().equals(Enums.INSTALACION_TEMPORAL.getValue())) { reporteBean.getDetalleReporteTemporal().setNeutro( detalleReporteInstalacionNuevaBean.getDetalleReporteInstalacionNueva().getNeutro()); reporteBean.getDetalleReporteTemporal().setFaseNeutro( detalleReporteInstalacionNuevaBean.getDetalleReporteInstalacionNueva().getFaseNeutro()); reporteBean.getDetalleReporteTemporal().setFaseTierra( detalleReporteInstalacionNuevaBean.getDetalleReporteInstalacionNueva().getFaseTierra()); reporteBean.getDetalleReporteTemporal() .setObservacionMedicion(detalleReporteInstalacionNuevaBean .getDetalleReporteInstalacionNueva().getObservacion()); reporteBean.getProductoClienteTemporal().setIdProducto(reporteBean.getProductoTemporal()); reporteBean.setProductoClienteTemporal( productoClienteService.updateProductoCliente(reporteBean.getProductoClienteTemporal())); reporteBean.getDetalleReporteTemporal() .setIdProductoCliente(reporteBean.getProductoClienteTemporal()); reporteBean.setDetalleReporteTemporal(detalleReporteTemporalService .updateDetalleReporteTemporal(reporteBean.getDetalleReporteTemporal())); ProductoClienteReporte productoClienteReporte = new ProductoClienteReporte(); productoClienteReporte.setId(reporteBean.getProductoClienteReporte().getId()); productoClienteReporte.setIdReporte(reporteBean.getReporte()); productoClienteReporte.setAtencion(reporteBean.getProductoClienteReporte().getAtencion()); productoClienteReporte .setDepartamento(reporteBean.getProductoClienteReporte().getDepartamento()); productoClienteReporte.setCiudad(reporteBean.getProductoClienteReporte().getCiudad()); productoClienteReporte.setIpEquipo(reporteBean.getProductoClienteReporte().getIpEquipo()); productoClienteReporte .setDireccionEquipo(reporteBean.getProductoClienteReporte().getDireccionEquipo()); productoClienteReporte .setTelefonoEquipo(reporteBean.getProductoClienteReporte().getTelefonoEquipo()); productoClienteReporte .setCorreoEquipo(reporteBean.getProductoClienteReporte().getCorreoEquipo()); productoClienteReporte.setIdProductoCliente(reporteBean.getProductoCliente()); productoClienteReporte.setIdDetalleReporteTemporal(reporteBean.getDetalleReporteTemporal()); productoClienteReporte.setIdProductoDetalleReporte(reporteBean.getProductoDetalleReporte()); reporteBean.setProductoClienteReporte( productoClienteReporteService.updateProductoClienteReporte(productoClienteReporte)); } } else { if (reporteBean.getHabilitarGuardarConSerial()) { if (productoClienteService .getProductoClienteBySerial(reporteBean.getProductoCliente().getSerie()) != null) { warn("Este serial ya existe"); return; } } else { setValueInSession("notificacionSeleccionada", null); } clienteBean.setClienteSelected(clienteService.getClienteByRuc(clienteBean.getCliente().getRuc())); if (clienteBean.getClienteSelected() == null) { clienteBean.getCliente().setEstado(1); clienteBean.setCliente(clienteService.addCliente(clienteBean.getCliente())); } else { clienteBean.setCliente(clienteBean.getClienteSelected()); } reporteBean.setMarcaSelected(marcaService.getMarcaByMarca(reporteBean.getMarca().getMarca())); if (reporteBean.getMarcaSelected() == null) { reporteBean.getMarca().setEstado(1); reporteBean .setMarca((Marca) toUpperCaseStrings(marcaService.saveMarca(reporteBean.getMarca()))); } else { reporteBean.setMarca(reporteBean.getMarcaSelected()); } reporteBean.setModeloSelected(modeloService.getModeloByModelo(reporteBean.getModelo().getModelo())); if (reporteBean.getModeloSelected() == null) { reporteBean.getModelo().setEstado(1); reporteBean.getModelo().setIdMarca(reporteBean.getMarca()); reporteBean.setModelo( modeloService.saveModelo((Modelo) toUpperCaseStrings(reporteBean.getModelo()))); } else { reporteBean.setModelo(reporteBean.getModeloSelected()); } reporteBean.getProducto().setIdModelo((Modelo) toUpperCaseStrings(reporteBean.getModelo())); reporteBean.getProducto().getIdModelo().setIdMarca(new Marca()); reporteBean.getProducto().getIdModelo() .setIdMarca((Marca) toUpperCaseStrings(reporteBean.getMarca())); reporteBean.setProductoSelected( productoService.getProductoByEquipo(reporteBean.getProducto().getEquipo())); if (reporteBean.getProductoSelected() == null) { reporteBean.getProducto().setEstado(EstadosEnum.ACTIVO.getValue()); reporteBean.setProducto( productoService.addProducto((Producto) toUpperCaseStrings(reporteBean.getProducto()))); } else { reporteBean.setProducto(reporteBean.getProductoSelected()); } reporteBean.getReporte().setFecha(new Date()); reporteBean.getReporte().setFechaCreacion(new Date()); reporteBean.getReporte() .setUsuarioCreacion(sesionController.getSesionBean().getUsuarios().getUsuario()); reporteBean.getReporte().setSubtipo(sesionController.getSesionBean().getIsSubReporteTipo()); reporteBean.getReporte().setTipo(sesionController.getSesionBean().getIsReporteTipo()); reporteBean.getReporte().setIdUsuario(reporteBean.getUsuarios()); reporteBean.getReporte().setNumerofactura(reporteBean.getNumeroFacturaTecnico() + 1); reporteBean.getReporte().setEstado(Enums.ESTADO_REPORTE_PROCESO.getValue()); reporteBean.setReporte( (Reporte) toUpperCaseStrings(reporteService.saveReporte(reporteBean.getReporte()))); reporteBean.getProducto().getIdModelo().setIdMarca(new Marca()); reporteBean.getProducto().getIdModelo().setIdMarca(reporteBean.getMarca()); reporteBean.getProductoCliente().setEstado(1); reporteBean.getProductoCliente().setSerie(reporteBean.getProductoCliente().getSerie()); reporteBean.getProductoCliente().setIdProducto(reporteBean.getProducto()); reporteBean.getProductoCliente().setIdCliente(clienteBean.getCliente()); reporteBean.getProductoCliente().setFecha(new Date()); reporteBean.setProductoCliente((ProductoCliente) toUpperCaseStrings( productoClienteService.addProductoCliente(reporteBean.getProductoCliente()))); reporteBean.getProductoClienteReporte().setIdProductoCliente(reporteBean.getProductoCliente()); reporteBean.getProductoClienteReporte().setIdReporte(reporteBean.getReporte()); if (sesionController.getSesionBean().getIsSubReporteTipo() .equals(Enums.INSTALACION_NUEVA.getValue())) { //reporteBean.productoDetalleReporte.contadorTotalAnterior detalleReporteInstalacionNuevaBean.setDetalleReporteInstalacionNueva( detalleReporteInstalacionNuevaService.addDetalleReporteInstalacionNueva( detalleReporteInstalacionNuevaBean.getDetalleReporteInstalacionNueva())); reporteBean.getProductoClienteReporte().setIdDetalleReporteInstalacionNueva( detalleReporteInstalacionNuevaBean.getDetalleReporteInstalacionNueva()); reporteBean.setProductoClienteReporte(productoClienteReporteService .saveOrUpdateProductoClienteReporte(reporteBean.getProductoClienteReporte())); reporteMantenimientoService.addReporteMantenimientoInstalacionNueva( reporteBean.getProductoClienteReporte(), reporteBean.getListPreguntas(), sesionController.getSesionBean().getUsuarios()); } if (sesionController.getSesionBean().getIsSubReporteTipo() .equals(Enums.INSTALACION_TEMPORAL.getValue())) { reporteBean.setProductoDetalleReporte(productoDetalleReporteService .addProductoDetalleReporte(reporteBean.getProductoDetalleReporte())); reporteBean.getProductoClienteTemporal().setIdCliente(clienteBean.getCliente()); reporteBean.getProductoClienteTemporal().setIdProducto(reporteBean.getProductoTemporal()); reporteBean.getProductoClienteTemporal().setEstado(1); reporteBean.getProductoClienteTemporal().setFecha(new Date()); reporteBean.setProductoClienteTemporal( productoClienteService.addProductoCliente(reporteBean.getProductoClienteTemporal())); reporteBean.getDetalleReporteTemporal().setNeutro( detalleReporteInstalacionNuevaBean.getDetalleReporteInstalacionNueva().getNeutro()); reporteBean.getDetalleReporteTemporal().setFaseNeutro( detalleReporteInstalacionNuevaBean.getDetalleReporteInstalacionNueva().getFaseNeutro()); reporteBean.getDetalleReporteTemporal().setFaseTierra( detalleReporteInstalacionNuevaBean.getDetalleReporteInstalacionNueva().getFaseTierra()); reporteBean.getDetalleReporteTemporal() .setObservacionMedicion(detalleReporteInstalacionNuevaBean .getDetalleReporteInstalacionNueva().getObservacion()); reporteBean.getDetalleReporteTemporal() .setIdProductoCliente(reporteBean.getProductoClienteTemporal()); reporteBean.setDetalleReporteTemporal(detalleReporteTemporalService .addDetalleReporteTemporal(reporteBean.getDetalleReporteTemporal())); reporteBean.getProductoClienteReporte() .setIdDetalleReporteTemporal(reporteBean.getDetalleReporteTemporal()); detalleReporteInstalacionNuevaBean .setDetalleReporteInstalacionNueva(new DetalleReporteInstalacionNueva()); reporteBean.getProductoClienteReporte() .setIdDetalleReporteInstalacionNueva(new DetalleReporteInstalacionNueva()); ProductoClienteReporte productoClienteReporte = new ProductoClienteReporte(); productoClienteReporte.setIdReporte(reporteBean.getReporte()); productoClienteReporte.setAtencion(reporteBean.getProductoClienteReporte().getAtencion()); productoClienteReporte .setDepartamento(reporteBean.getProductoClienteReporte().getDepartamento()); productoClienteReporte.setCiudad(reporteBean.getProductoClienteReporte().getCiudad()); productoClienteReporte.setIpEquipo(reporteBean.getProductoClienteReporte().getIpEquipo()); productoClienteReporte .setDireccionEquipo(reporteBean.getProductoClienteReporte().getDireccionEquipo()); productoClienteReporte .setTelefonoEquipo(reporteBean.getProductoClienteReporte().getTelefonoEquipo()); productoClienteReporte .setCorreoEquipo(reporteBean.getProductoClienteReporte().getCorreoEquipo()); productoClienteReporte.setIdProductoCliente(reporteBean.getProductoCliente()); productoClienteReporte.setIdDetalleReporteTemporal(reporteBean.getDetalleReporteTemporal()); productoClienteReporte.setIdProductoDetalleReporte(reporteBean.getProductoDetalleReporte()); reporteBean.setProductoClienteReporte(productoClienteReporteService .saveOrUpdateProductoClienteReporte(productoClienteReporte)); } if (asignacionReparacionBean.getAsignacionReparacionSelected() != null) { asignacionReparacionBean.setAsignacionReparacion(new AsignacionReparacion()); asignacionReparacionBean .setAsignacionReparacion(asignacionReparacionBean.getAsignacionReparacionSelected()); asignacionReparacionBean.getAsignacionReparacion() .setIdReporte(reporteBean.getReporte().getId()); asignacionReparacionBean.getAsignacionReparacion() .setEstado(reporteBean.getReporte().getEstado()); asignacionReparacionBean.setAsignacionReparacion(asignacionReparacionService .addAsignacionReparacion(asignacionReparacionBean.getAsignacionReparacion())); } } /* if (!new ReporteTecnico().enviarMailReporte(reporteBean, clienteBean.getCliente().getEmail(), "Reporte")) { System.out.println("No se pudo enviar el mail"); }*/ killSession(Enums.PARAMETRO_TIPO_REPORTE.getValue()); killIdReporteSession(); sesionController.getSesionBean().setIsSubReporteTipo(null); setMensajeSession("Guardado exitsamente"); redirectToPage("/paginas/instalaciones/administracion.jsf"); } catch (ConstraintViolationException e) { System.out.println("Error ConstraintViolationException " + e.getSQLException().getMessage()); } catch (Exception e) { error("No se pudo guardar"); System.out.println(" error guardar " + e.getMessage()); e.getStackTrace(); } } protected void inicializarBeans() { reporteBean.setReporte(new Reporte()); reporteBean.setDetalleCatalogoReporte(new DetalleCatalogoReporte()); reporteBean.setProductoCliente(new ProductoCliente()); reporteBean.setProductoClienteReporte(new ProductoClienteReporte()); reporteBean.setProductoDetalleReporte(new ProductoDetalleReporte()); reporteBean.setCliente(new Cliente()); reporteBean.getReporte().setFecha(new Date()); reporteBean.setDetalleReporteTemporal(new DetalleReporteTemporal()); reporteBean.setProducto(new Producto()); reporteBean.setProductoTemporal(new Producto()); reporteBean.setMarca(new Marca()); reporteBean.setModelo(new Modelo()); reporteBean.setProductoClienteTemporal(new ProductoCliente()); reporteBean.getProductoClienteTemporal().setIdProducto(new Producto()); reporteBean.getProductoClienteTemporal().getIdProducto().setIdModelo(new Modelo()); reporteBean.getProductoClienteTemporal().getIdProducto().getIdModelo().setIdMarca(new Marca()); reporteBean.getProductoClienteReporte().setIdProductoCliente(new ProductoCliente()); reporteBean.setFiltroCedula(new String()); reporteBean.setFiltroProducto(new String()); reporteBean.setFiltroSerial(new String()); detalleReporteInstalacionNuevaBean.setDetalleReporteInstalacionNueva(new DetalleReporteInstalacionNueva()); reporteBean.setListCliente(new ArrayList<Cliente>()); reporteBean.setListProducto(new ArrayList<Producto>()); reporteBean.setListMarca(new ArrayList<Marca>()); reporteBean.setListModelo(new ArrayList<Modelo>()); reporteBean.getReporte().setHoraInicio(new Date()); reporteBean.getReporte().setHoraFin(new Date()); reporteBean.getReporte().setFecha(new Date()); reporteBean.setDisable(Boolean.FALSE); reporteBean.setEstadoActualMantenimiento(new String()); reporteBean.setListcabeceraCatalogoReportesPreventivo(new ArrayList<CabeceraCatalogoReporte>()); reporteBean.setListProcesamiento(new ArrayList<DetalleCatalogoReporte>()); reporteBean.setListPreventivoImagen(new ArrayList<DetalleCatalogoReporte>()); reporteBean.setListPreventivoFijacion(new ArrayList<DetalleCatalogoReporte>()); reporteBean.setListPreventivoLimpieza(new ArrayList<DetalleCatalogoReporte>()); reporteBean.setListCorrectivoSuministros(new ArrayList<DetalleCatalogoReporte>()); reporteBean.setListCorrectivoImagen(new ArrayList<DetalleCatalogoReporte>()); reporteBean.setListCorrectivoFijacion(new ArrayList<DetalleCatalogoReporte>()); reporteBean.setListCorrectivoRevelado(new ArrayList<DetalleCatalogoReporte>()); reporteBean.setListCorrectivoAlimentacion(new ArrayList<DetalleCatalogoReporte>()); reporteBean.setListCorrectivoAlimentacionSelected(new ArrayList<DetalleCatalogoReporte>()); reporteBean.setListCorrectivoOtros(new ArrayList<DetalleCatalogoReporte>()); reporteBean.setListCliente(new ArrayList<Cliente>()); reporteBean.setListProducto(new ArrayList<Producto>()); reporteBean.setListMarca(new ArrayList<Marca>()); reporteBean.setListModelo(new ArrayList<Modelo>()); } protected void llenarCatalogos() { reporteBean.setListConsideraciones(detalleCatalogoReporteService .getDetalleCatalogoReporteByCabeceraCodigo(Enums.INSTALACION_CONSIDERACIONES.getValue())); reporteBean.setListPreguntas(repuestoModelo(repuestoModeloService .getRepuestoModelosByTipoDetalleCatalogo(Enums.INSTALACION_PREGUNTAS.getValue(), true))); reporteBean.setListCliente(clienteService.getClientesByEstado(EstadosEnum.ACTIVO.getValue())); reporteBean.setListProducto(productoService.getProductos()); reporteBean.setListMarca(marcaService.getMarcas()); reporteBean.setListModelo(modeloService.getModelos()); } public void abrirModalMantenimientosOtros() { detalleCatalogoReporteBean.setListDetalleCatalogoReporte(new ArrayList<DetalleCatalogoReporte>()); detalleCatalogoReporteBean.setListDetalleCatalogoReporte(detalleCatalogoReporteService .getDetalleCatalogoReporteByCabeceraCodigo(Enums.MANTENIMIENTO_OTROS.getValue())); update("formRepuestosOtros"); openModalBS("dlgRepuestosOtros"); } public void rowDblselectOtroRepuesto(SelectEvent event) { DetalleCatalogoReporte obj = (DetalleCatalogoReporte) event.getObject(); if (obj.getTipoRepuesto() == null || obj.getTipoRepuesto().isEmpty()) { warn("Seleccione tipo de repuesto"); return; } for (DetalleCatalogoReporte detalle : reporteBean.getListCorrectivoOtros()) { if (detalle.getDescripcion().equals(obj.getDescripcion())) { warn("El repuesto ya ha sido asignado"); return; } } int c = 0; for (DetalleCatalogoReporte detalle : reporteBean.getListCorrectivoOtros()) { if (detalle.getTipoRepuesto() != null && !detalle.getTipoRepuesto().isEmpty()) { ++c; } } if (c >= reporteBean.getListCorrectivoOtros().size()) { warn("Repuestos fuera de lmite"); } else { reporteBean.getListCorrectivoOtros().set(c, obj); } closeModalBS("dlgRepuestosOtros"); } public void abrirDialogClientes() { openModalBS("dlgClientes"); // update("dialogCliente");; } public void seleccionarDialogCliente(Cliente cliente) { reporteBean.setCliente(new Cliente()); if (!cliente.getRuc().isEmpty()) { clienteBean.setCliente(clienteService.getClienteByRuc(cliente.getRuc())); } else if (!cliente.getCliente().isEmpty()) { clienteBean.setCliente(clienteService.getClienteByNombre(cliente.getCliente())); } clearTableFilters("clienteswv"); // closeDialog("dlgClientes"); closeModalBS("dlgClientes"); } public void abrirDialogProductos(String tipo) { sesionController.getSesionBean().setTipoInstalacion(tipo); openModalBS("dlgProductos"); } public void seleccionarDialogProducto(Producto producto) { reporteBean.setProducto(new Producto()); reporteBean.setProducto(producto); reporteBean.setModelo(producto.getIdModelo()); reporteBean.setMarca(producto.getIdModelo().getIdMarca()); clearTableFilters("productoswv"); closeModalBS("dlgProductos"); } public void rowDblselectProducto(SelectEvent event) { reporteBean.setProducto(new Producto()); Producto obj = (Producto) event.getObject(); if (sesionController.getSesionBean().getTipoInstalacion().equals(Enums.DATOS_REEMPLAZO.getValue())) { reporteBean.setProducto(obj); reporteBean.setModelo(new Modelo()); // reporteBean.getModelo().setRepuestoModeloList(new ArrayList<RepuestoModelo>()); reporteBean.setModelo(obj.getIdModelo()); reporteBean.setMarca(obj.getIdModelo().getIdMarca()); System.out.println("PRODUCTO " + reporteBean.getProducto()); //update("idColumnaEquipoDatos"); updateMany("idEquipo,idMarca,idModelo,idFirmware,idCampo1,idCampo2"); } if (sesionController.getSesionBean().getTipoInstalacion().equals(Enums.DATOS_TEMPORAL.getValue())) { reporteBean.setProductoTemporal(obj); updateMany( "idEquipoTemporal,idMarcaTemporal,idModeloTemporal,idFirmwareTemporal,idCampo1Temporal,idCampo2Temporal"); } clearTableFilters("productoswv"); closeModalBS("dlgProductos"); } public void rowDblselectClientes(SelectEvent event) { reporteBean.setCliente(new Cliente()); Cliente obj = (Cliente) event.getObject(); if (!obj.getRuc().isEmpty()) { clienteBean.setCliente(clienteService.getClienteByRuc(obj.getRuc())); } else if (!obj.getCliente().isEmpty()) { clienteBean.setCliente(clienteService.getClienteByNombre(obj.getCliente())); } clearTableFilters("clienteswv"); closeModalBS("dlgClientes"); } }