com.siapa.managedbean.IngresoProductoManagedBean.java Source code

Java tutorial

Introduction

Here is the source code for com.siapa.managedbean.IngresoProductoManagedBean.java

Source

/*
 * 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.siapa.managedbean;

import com.siapa.managedbean.generic.GenericManagedBean;
import com.siapa.managedbean.lazymodel.IngresoProductoLazyModel;
import com.siapa.model.IngresoProducto;
import com.siapa.model.Jaula;
import com.siapa.model.Producto;
import com.siapa.service.IngresoProductoService;
import com.siapa.service.JaulaService;
import com.siapa.service.ProductoService;
import com.siapa.service.generic.GenericService;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.inject.Named;
import org.primefaces.model.LazyDataModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Scope;
import org.springframework.web.context.WebApplicationContext;

/**
 *
 * @author Jarvis
 */
@Named("ingresoProductoManagedBean")
@Scope(WebApplicationContext.SCOPE_SESSION)
public class IngresoProductoManagedBean extends GenericManagedBean<IngresoProducto, Integer> {

    @Autowired
    @Qualifier(value = "IngresoProductoService")
    private IngresoProductoService ingresoProductoService;

    @Autowired
    @Qualifier(value = "jaulaService")
    private JaulaService jaulaService;

    @Autowired
    @Qualifier(value = "productoService")
    private ProductoService productoService;

    private Producto producto;
    private Jaula jaula;
    private IngresoProducto ingresoProducto;
    private List<Producto> productos;
    private List<Jaula> jaulas;

    @PostConstruct
    public void init() {
        loadLazyModels();
        jaulas = jaulaService.findAll();
        productos = productoService.findAll();
        ingresoProducto = new IngresoProducto();
    }

    public IngresoProductoService getIngresoProductoService() {
        return ingresoProductoService;
    }

    public void setIngresoProductoService(IngresoProductoService ingresoProductoService) {
        this.ingresoProductoService = ingresoProductoService;
    }

    public JaulaService getJaulaService() {
        return jaulaService;
    }

    public void setJaulaService(JaulaService jaulaService) {
        this.jaulaService = jaulaService;
    }

    public ProductoService getProductoService() {
        return productoService;
    }

    public void setProductoService(ProductoService productoService) {
        this.productoService = productoService;
    }

    public Producto getProducto() {
        return producto;
    }

    public void setProducto(Producto producto) {
        this.producto = producto;
    }

    public Jaula getJaula() {
        return jaula;
    }

    public void setJaula(Jaula jaula) {
        this.jaula = jaula;
    }

    public IngresoProducto getIngresoProducto() {
        return ingresoProducto;
    }

    public void setIngresoProducto(IngresoProducto ingresoProducto) {
        this.ingresoProducto = ingresoProducto;
    }

    public List<Producto> getProductos() {
        return productos;
    }

    public void setProductos(List<Producto> productos) {
        this.productos = productos;
    }

    public List<Jaula> getJaulas() {
        return jaulas;
    }

    public void setJaulas(List<Jaula> jaulas) {
        this.jaulas = jaulas;
    }

    @Override
    public GenericService<IngresoProducto, Integer> getService() {
        return ingresoProductoService;
    }

    @Override
    public LazyDataModel<IngresoProducto> getNewLazyModel() {
        return new IngresoProductoLazyModel(ingresoProductoService);
    }

    public void toCreateIngresoProducto(ActionEvent event) {
        try {
            FacesContext contex = FacesContext.getCurrentInstance();
            jaulas = jaulaService.findAll();
            productos = productoService.findAll();
            setSelected(new IngresoProducto());
            contex.getExternalContext().redirect("/siapa/views/ingresoProducto/Create.xhtml");
        } catch (IOException ex) {
            //   log.error("Error al rederigir a la pagina de asesoria", null, ex);
        }
    }

    public Boolean updateStoc() {
        Boolean isOk;
        Integer existencia = 0;
        Integer existenciaActual = jaula.getVentaJaula();
        BigDecimal cantActual = new BigDecimal(existenciaActual);
        BigDecimal aumento = ingresoProducto.getCantidadIngresoProducto();
        int suma = aumento.intValue();
        //if (cantActual.compareTo(reduccion) == -1) {
        //    FacesContext context = FacesContext.getCurrentInstance();
        //    context.addMessage(null, new FacesMessage("La cantidad es mayor a la almacenada"));
        // isOk = false;
        //} else {
        Jaula newJaula = getJaula();
        Jaula idJaula = ingresoProducto.getIdJaula();
        Jaula cactual = jaulaService.findById(idJaula.getIdJaula());
        existencia = cactual.getVentaJaula() + suma;
        newJaula.setVentaJaula(existencia);
        jaulaService.merge(newJaula);
        isOk = true;
        //}

        return isOk;
    }

    public void llenar() {
        //System.out.println("punto");

    }

    @Override
    public void saveNew(ActionEvent event) {

        IngresoProducto ingresoProducto = getIngresoProducto();
        ingresoProducto.setIdJaula(jaula);
        ingresoProducto.setIdProducto(producto);
        ingresoProducto.setUsuarioIngresoProducto(getUsuario());
        Boolean validar = updateStoc();
        if (validar) {
            ingresoProductoService.save(ingresoProducto);
            FacesContext context = FacesContext.getCurrentInstance();
            context.addMessage(null, new FacesMessage("Insercion completada"));
            try {
                FacesContext contex = FacesContext.getCurrentInstance();
                contex.getExternalContext().redirect("/siapa/views/ingresoProducto/index.xhtml");
            } catch (IOException ex) {
                //   log.error("Error al rederigir a la pagina de asesoria", null, ex);
            }
        }
    }
}