Inicio

viernes, 30 de septiembre de 2016

Sistema de Ventas en Primefaces y mysql

Sistema de Venta



APLICACIÓN WEB

Login para acceder al sistema


Menú Princiapal
Formulario de Boleta de Venta

Formulario de Factura 

Consulta de clientes por cobrar

Formulario de mantenimiento de Clientes

Formulario de Mantenimiento de Productos

Formulario de Factura


Reporte de Clientes 


Formulario de Mantenimiento de Marca


Total a pagar a los proveedores

Formulario de pedido

Mantenimiento de Productos


Formulario de Mantenimiento de Proveedores

Boleta de Venta en pdf

Factura


tambien te puede interesar este articulo



martes, 27 de septiembre de 2016

Reporte en jsf con parametros

En este ejemplo eseñaremos como generar reporte con Irreport en el siguiere esta el código

Codigo de xhtml
Reporte en pdf


Tambien te puede interesar 





https://www.toptal.com/javascript/init-js-una-gu-a-de-los-por-qu-y-c-mos-en-el-conjunto-de-tecnolog-as-de-javascript/es

Grafico utilizando PieChartModel del primefaces

En este ejemplo enseñaremos como mostrar PieCharModel en primefaces con hibernate y la base de datos Mysql tal como se observa la img
.


















Para ello creamos un ManagedBean con el nombre GraficoBean

declaramos siguientes variables

    private PedidoEntity selectedEntity;
    private List<PedidoEntity> list;
    private PieChartModel pieodel;

Crear los metodos de acceso get y set

crear un medoto graficar tal como esta el codigo

 public void graficar() {
        String valor = "REPORTE GENERAL";
        pieodel = new PieChartModel();
        PedidoDao dao = new PedidoDaoImpl();
        list = dao.findPedido(selectedEntity);
        for (PedidoEntity p : list) {
pieodel.set(p.getClienteEntity().getNombres() + " " + p.getClienteEntity().getApellidos(), p.getTotal());
        }
        pieodel.setShowDataLabels(true);
        pieodel.setFill(true);
        pieodel.setTitle(valor);
        pieodel.setLegendPosition("w");

    }

pasamos a ver el html


lunes, 26 de septiembre de 2016

Pedido y su detalle en primefaces

En este tutorial vamos a ver registrar un pedido y su detalle tal como se muestra la imagen
para ello se utilizara primefaces jsf

veamos el ejemplocrear el siguiente diagrama





este tutorial continuara ...

viernes, 23 de septiembre de 2016

Subir archivo en jsf

En este tutorial vamos a ver un ejemplo como subir archivos al servidor, para ello utilizaremos primefaces y mysql

1. Crear un managedbean con el nombre  que sea combeniente

el siguiente código

 public void uploadPhoto(FileUploadEvent e) throws IOException {
        uploadedFile = e.getFile();
        ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext();
        String filePath = ec.getRealPath(String.format("/resources/img/%s", uploadedFile.getFileName()));
        if (null != uploadedFile) {
            FileOutputStream fos = new FileOutputStream(filePath);
            fos.write(uploadedFile.getContents());
            fos.flush();
            fos.close();
        }
        FacesContext.getCurrentInstance().addMessage("messages", new FacesMessage(FacesMessage.SEVERITY_INFO, "subio elvideo con exito " + uploadedFile.getFileName(), ""));
    }

el ejemplo

jueves, 22 de septiembre de 2016

Personal

Erasmo Saavedra Robles


Desarrollar e implementar aplicaciones web a la medida usando las nuevas tecnologías, tendencias y estrategias competitivas. 

Cubrir la necesidad de información actualizada y oportuna e implementar aplicación para satisfaces las necesidades de las empresas, haciendo más eficiente sus labores lo que lleva a ser mas competitivo.

Leer Archivo CVS en Primefaces

En este tutorial vamos a mostrar como leer archivos CVS y posteriomente montraremos en una lista de Datatable utilizando el Primefaces

Procedimientos a seguir, crear una clase llamada Leer con los siguientes atributos

   private String codigo;
    private String dni;
    private  String nombres;
    private String especialidad;

crear los métos de accedo get y set

Posteriormente crear un controller  llamado LeerBean con los atributos
private List<Leer> lista;

crear los métos de accedo get y set

Crear un un método llamado handleFileCVS

con el siguiente codigo

 public void handleFileCVS(FileUploadEvent event) {
         UploadedFile uploadedFile = (UploadedFile) event.getFile();
        InputStream inputStr;
        lista.clear();
        try {
             inputStr = uploadedFile.getInputstream();
            String lineas;
            Scanner dato = new Scanner(inputStr);
            dato.nextLine();
             while (dato.hasNext()) {
                 Leer l = new Leer();
                  lineas = dato.nextLine();
                String[] valores = lineas.split(",");
                 l.setCodigo(valores[0]);
                 l.setDni(valores[1]);
                 l.setNombres(valores[2]);
                 l.setEspecialidad(valores[3]);
                 lista.add(l);
             }
        } catch (Exception e) {
            System.out.println("Error: " + e.getMessage().toString());
        }
         FacesMessage msg = new FacesMessage(event.getFile().getFileName() + " Carga correcta.");
        FacesContext.getCurrentInstance().addMessage(null, msg);
    }

Crear lee.xhtml tal como puestra en la img































Resultados






miércoles, 21 de septiembre de 2016

Combos Depenedientes

En este ejemplo vamos a publicar Combo dependiente de otro, para ello se utilizara Netbeans primefaces y jsf pasos a seguir.

1. Crear una Entidad llamado UbigeoEntity con los siguientes atributos

    private Integer id;
    private String cod_dpto;
    private String cod_prov;
    private String cod_dist;
    private String nombre;

y crear los métodos de accedo get y set

2. Crear un interfaz llamada UbigeoDao con los siguientes metodos

 public List<UbigeoEntity> findDepartamento();
    public List<UbigeoEntity> findProvincia(UbigeoEntity v);
    public List<UbigeoEntity> findDistrito(UbigeoEntity v);

3. Crear una clase UbigeoDaoImpl e implementar todos los metos de UbigeoDao el siguiente código


public class UbigeoDaoImpl implements UbigeoDao{
   private SessionFactory sessionFactory;

    public SessionFactory getSessionFactory() {
        return sessionFactory;
    }

    public void setSessionFactory(SessionFactory sessionFactory) {
        this.sessionFactory = sessionFactory;
    }
    @Override
    public List<UbigeoEntity> findDepartamento() {
          List<UbigeoEntity> listado = null;
          Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        try {
            session.beginTransaction();
            Criteria crit = session.createCriteria(UbigeoEntity.class);
            crit.add(Restrictions.eq("cod_prov", "00"));
            listado = crit.list();
            session.beginTransaction().commit();
        } catch (Exception e) {
            System.out.println("Error: " + e.getMessage());
            session.beginTransaction().rollback();
        }
        return listado;
    }

    @Override
    public List<UbigeoEntity> findProvincia(UbigeoEntity v) {
          List<UbigeoEntity> listado = null;
          Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        try {
            session.beginTransaction();
            Criteria crit = session.createCriteria(UbigeoEntity.class);
            crit.add(Restrictions.eq("cod_dpto", v.getCod_dpto()));
            crit.add(Restrictions.eq("cod_dist", "00"));
            crit.add(Restrictions.not(Restrictions.in("cod_prov",new String[] {"00"})));
            listado = crit.list();
            session.beginTransaction().commit();
        } catch (Exception e) {
            System.out.println("Error: " + e.getMessage());
            session.beginTransaction().rollback();
        }
        return listado;
    }

    @Override
    public List<UbigeoEntity> findDistrito(UbigeoEntity v) {
        List<UbigeoEntity> listado = null;
          Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        try {
            session.beginTransaction();
            Criteria crit = session.createCriteria(UbigeoEntity.class);
            crit.add(Restrictions.eq("cod_dpto", v.getCod_dpto()));
            crit.add(Restrictions.eq("cod_prov", v.getCod_prov()));
             crit.add(Restrictions.not(Restrictions.in("cod_dist",new String[] {"00"})));
            listado = crit.list();
            session.beginTransaction().commit();
        } catch (Exception e) {
            System.out.println("Error: " + e.getMessage());
            session.beginTransaction().rollback();
        }
        return listado;
    }

4. Crear una mabagedbean con el nombre RegistroBean tal como esta

@ManagedBean
@SessionScoped
public class RegistroBean {

private List<SelectItem> selectItemsOneDepartamento;
    private List<SelectItem> selectItemsOneProvincia;
    private List<SelectItem> selectItemsOneDistrito;

  public List<SelectItem> getSelectItemsOneDepartamento() {
        this.selectItemsOneDepartamento = new ArrayList<SelectItem>();
        VideoDao dao = new VideoDaoImpl();
        List<UbigeoEntity> p = dao.findDpto();
        selectItemsOneDepartamento.clear();
        for (UbigeoEntity dpt : p) {
            SelectItem dptItem = new SelectItem(dpt.getCod_dpto(), dpt.getNombre());
            this.selectItemsOneDepartamento.add(dptItem);
        }
        return selectItemsOneDepartamento;
    }

    public void setSelectItemsOneDepartamento(List<SelectItem> selectItemsOneDepartamento) {
        this.selectItemsOneDepartamento = selectItemsOneDepartamento;
    }

    public List<SelectItem> getSelectItemsOneProvincia() {
        this.selectItemsOneProvincia = new ArrayList<SelectItem>();
        VideoDao dao = new VideoDaoImpl();
        List<UbigeoEntity> p = dao.findProvincia(this.selectedEntity);
        selectItemsOneProvincia.clear();
        for (UbigeoEntity t : p) {
            SelectItem dptItem = new SelectItem(t.getCod_prov(), t.getNombre());
            this.selectItemsOneProvincia.add(dptItem);
        }
        return selectItemsOneProvincia;
    }

    public void setSelectItemsOneProvincia(List<SelectItem> selectItemsOneProvincia) {
        this.selectItemsOneProvincia = selectItemsOneProvincia;
    }

    public List<SelectItem> getSelectItemsOneDistrito() {
        this.selectItemsOneDistrito = new ArrayList<SelectItem>();
        VideoDao dao = new VideoDaoImpl();
        List<UbigeoEntity> p = dao.findDistrito(this.selectedEntity);
        selectItemsOneDistrito.clear();
        for (UbigeoEntity t : p) {
            SelectItem dptItem = new SelectItem(t.getId(), t.getNombre());
            this.selectItemsOneDistrito.add(dptItem);
        }
        return selectItemsOneDistrito;

    }

    public void setSelectItemsOneDistrito(List<SelectItem> selectItemsOneDistrito) {
        this.selectItemsOneDistrito = selectItemsOneDistrito;
    }

5 En xtml crear el siguiente código







martes, 20 de septiembre de 2016

Jdbc

JDBC

Procedimiento y Resultados:
Modelo entidad relación: “tienda”

1. Acceso a BD desde una aplicación de consola
Aplicacion1.java
package proyecto.dao;
import java.sql.* ;
public class Aplicacion1 {
public static voidmain(String[] args) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/tienda", "root", "");
Statement stmt = con.createStatement();
String idUsuario = "esaavedra";
ResultSet rs = stmt.executeQuery("select id_usuario,clave,nombres,paterno,materno,correo,direccion,telefono,estado from usuario where id_usuario=' " + idUsuario + " ' ");
if(rs.next()) {
System.out.println("Nombres: " + rs.getString(3));
System.out.println("Paterno: " + rs.getString("paterno"));
System.out.println("Correo: " + rs.getString("correo"));
}
rs.close();
stmt.close();
con.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}

}

2. Acceso a BD desde una aplicación de consola usando DAO
Usuario.java
package proyecto.modelo;
public class Usuario {
privateString idUsuario;
privateString clave;
privateString nombres;
privateString paterno;
privateString materno;
privateString correo;
privateString direccion;
privateString telefono;
privateString estado;
/* CREAR LOS MÉTODOS GET Y SET PARA CADA ATRIBUTO */
}
UsuarioDAO.java
package proyecto.dao;
import java.sql.*;
public class UsuarioDAO {
public Usuario obtenerPorIdUsuario(String idUsuario){
Usuario vo = new Usuario();
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/tienda", "root", "");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select id_usuario,clave,nombres,paterno,materno,correo,direccion,telefono,estado from usuario where id_usuario='"+
idUsuario + "'");
if(rs.next()) {
vo.setIdUsuario(rs.getString("id_usuario"));
vo.setClave(rs.getString("clave"));
vo.setNombres(rs.getString("nombres"));
vo.setPaterno(rs.getString("paterno"));
vo.setMaterno(rs.getString("materno"));
vo.setCorreo(rs.getString("correo"));
vo.setDireccion(rs.getString("direccion"));
vo.setTelefono(rs.getString("telefono"));
vo.setEstado(rs.getString("estado"));
}
rs.close();
stmt.close();
con.close();
} catch(ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return vo;
}
}
Aplicacion2.java
package proyecto.dao;
public classAplicacion2 {
public static void main(String[] args) {
UsuarioDAO dao = new UsuarioDAO();
Usuario u = dao.obtenerPorIdUsuario("esaavedra");
System.out.println(u.getNombres());
System.out.println(u.getPaterno());
System.out.println(u.getMaterno());
}
}
Creando una clase conexión y los métodos del DAO:
· Crear la clase ConexionBD
package proyecto.dao;
import java.sql.*;
public final class ConexionBD {
public static Connection obtenerConexion() throws SQLException {
Connection con = null;
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
con = DriverManager.getConnection("jdbc:mysql://localhost/tienda", "root", "");
return con;
}
}

· En la clase UsuarioDAO, implementar los siguientes métodos:
public Collection<Usuario> buscarPorNombre(String nombre) {
String query = "select id_usuario,clave,nombres,paterno,materno,correo,direccion,telefono,estado from usuario where nombres like '%"+nombre +"%'";
Collection<Usuario> c = new ArrayList<Usuario>();
try {
Connection con = ConexionBD.obtenerConexion();
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
while(rs.next()) {
Usuario vo = new Usuario();
vo.setIdUsuario(rs.getString("id_usuario"));
vo.setClave(rs.getString("clave"));
vo.setNombres(rs.getString("nombres"));
vo.setPaterno(rs.getString("paterno"));
vo.setMaterno(rs.getString("materno"));
vo.setCorreo(rs.getString("correo"));
vo.setDireccion(rs.getString("direccion"));
vo.setTelefono(rs.getString("telefono"));
vo.setEstado(rs.getString("estado"));
c.add(vo);
}
rs.close();
stmt.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
return c;
}
public Usuario insertar(Usuario vo) {
String query = "INSERT INTO usuario (id_usuario,clave,nombres,paterno,materno,correo,direccion, telefono,estado) "
+ "VALUES (?,?,?,?,?,?,?,?,?)";
System.err.println(query);
Connection con = null;
PreparedStatement stmt = null;
try {
con = ConexionBD.obtenerConexion();
stmt = con.prepareStatement(query);
stmt.setString(1, vo.getIdUsuario());
stmt.setString(2, vo.getClave());
stmt.setString(3, vo.getNombres());
stmt.setString(4, vo.getPaterno());
stmt.setString(5, vo.getMaterno());
stmt.setString(6, vo.getCorreo());
stmt.setString(7, vo.getDireccion());
stmt.setString(8, vo.getTelefono());
stmt.setString(9, vo.getEstado());
int i = stmt.executeUpdate();
if (i != 1) {
throw new SQLException("No se pudo insertar");
}
stmt.close();
con.close();
} catch (SQLException e) {
System.err.println(e.getMessage());
}
return vo;
}
public Usuario actualizar(Usuario vo) {
String query = "UPDATE usuario SET clave=?, nombres=?, paterno=?, materno=?, correo=?, direccion=?, telefono=?, estado=? WHERE id_usuario=?";
try {
Connection con = ConexionBD.obtenerConexion();
PreparedStatement stmt = con.prepareStatement(query);
stmt.setString(1, vo.getClave());
stmt.setString(2, vo.getNombres());
stmt.setString(3, vo.getPaterno());
stmt.setString(4, vo.getMaterno());
stmt.setString(5, vo.getCorreo());
stmt.setString(6, vo.getDireccion());
stmt.setString(7, vo.getTelefono());
stmt.setString(8, vo.getEstado());
stmt.setString(9, vo.getIdUsuario());
int i = stmt.executeUpdate();
if(i != 1){
throw new SQLException("No se pudo actualizar");
}
stmt.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
return vo;
}

public void eliminar(String idUsuario) {
String query = "DELETE FROM usuario WHERE id_usuario=?";
try {
Connection con = ConexionBD.obtenerConexion();
PreparedStatement stmt = con.prepareStatement(query);
stmt.setString(1, idUsuario);
int i = stmt.executeUpdate();
if(i != 1){
throw new SQLException("No se pudo eliminar");
}
stmt.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public Collection<Usuario> listarTodos() {
Collection<Usuario> c = new ArrayList<Usuario>();
try {
Connection con = ConexionBD.obtenerConexion();
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select id_usuario,clave,nombres,paterno,materno,correo,direccion,telefono,estado from usuario");
while (rs.next()) {
Usuario vo = new Usuario();
vo.setIdUsuario(rs.getString("id_usuario"));
vo.setClave(rs.getString("clave"));
vo.setNombres(rs.getString("nombres"));
vo.setPaterno(rs.getString("paterno"));
vo.setMaterno(rs.getString("materno"));
vo.setCorreo(rs.getString("correo"));
vo.setDireccion(rs.getString("direccion"));
vo.setTelefono(rs.getString("telefono"));
vo.setEstado(rs.getString("estado"));
c.add(vo);
}
rs.close();
stmt.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
return c;
}

3. Acceso a BD desde una aplicación Web usando capas
Se rehusarán las clases Usuario y UsuarioDAO del ejercicio 2.
Estructura del proyecto
/src
|- / proyecto.dao
|-UsuarioDAO
|-ConexionBD
|- / proyecto.servlet
|-UsuarioBuscarServlet
|- /proyecto.modelo
|-Usuario
Agregar el método en UsuarioBuscarServlet.java
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
UsuarioDAO dao = new UsuarioDAO();
Collection c = dao.buscarPorNombre(request.getParameter("nombre"));
request.setAttribute("USUARIOS", c);
RequestDispatcher rd = request.getRequestDispatcher("/usuario_buscar.jsp");
rd.forward(request, response);
}
usuario_buscar.jsp
<%@page import="java.util.*, proyecto.modelo.Usuario" %>
<html>
<head>
<title>Usuario Buscar</title>
</head>
<body>
<form name="f1" action="UsuarioBuscarServlet" method="post">
Nombre: <input type="text" name="nombre"/>
<input type="submit" name="enviar"value="Buscar"/>
</form>
<table border="1">
<tr>
<th>Id</th><th>Nombre</th><th>Paterno</th><th>Email</th>
</tr>
<%
Collection<Usuario> c = (ArrayList<Usuario>)request.getAttribute("USUARIOS");
if(c != null) {
for(Usuario vo : c) {
out.println("<tr><td>"+vo.getIdUsuario()+"</td>");
out.println("<td>"+vo.getNombres()+"</td>");
out.println("<td>"+vo.getPaterno()+"</td>");
out.println("<td>"+vo.getCorreo()+"</td></tr>");
}
}
%>
</table>
</body>
</html>