quinta-feira, 21 de dezembro de 2017

12º Passo - Criar Relatórios e Impressões de Pedidos - NetBeans JAVA - XAMPP MySQL - Jaspersoft Studio

Sistema para Controle de Pedidos de Fast Foods.

Curta ✔ Comente ✔ Compartilhe ✔ Inscreva-se ✔
Material de apoio/Certificado: http://aulaead.com/course/curso-de-java/
Aprenda Java e MySQL de forma prática e descontraída desenvolvendo um Sistema de Controle de Pedidos para Fest Foods " Lanchonetes, Pizzarias, Pastelarias e afins..."
Este Sistema fornece uma base sólida da linguagem de programação Java e do banco de dados MySQL.

Aluno do 6º Periodo do Curso de Analise e Desenvolvimento de Sistemas da Fatec " Arthur de Azevedo" - Mogi Mirim - São Paulo

Este Sistema de Controle de Pedidos de Fast Foods foi desenvolvido na Ide NetBeans:
Download NetBeans: https://netbeans.org/downloads/

Para o Desenvolvimento do Banco de Dados MySql utilizado o Workbench:

O Sistema Gerenciador de Banco de Dados o XAMPP Control Panel:

A Ferramenta de Desenvolvimento de Relatórios foi utilizado o Jaspersoft Studio:

Aconselho que assistam as vídeo-aulas abaixo.
Segue o Link da vídeo aula 29 a 31 do Professor José de Assis, para maior entendimento sobre a IDE NetBeans, onde ele explica boas práticas, convenção de programação para Emitir OS

Observação: As regras de Emissão de OS são diferentes das regras de Pedidos par Fast Foods.

Java-MySql Sistema OS Emitir OS 
Aula 29:            https://youtu.be/ZfaLhHYaz_0
Aula 30:         https://youtu.be/nKHJ5FHdvCo
Aula 31:         https://youtu.be/Hq2YnBWCJsU

ATENÇÃO !!! ANTES DE DAR INICIO NA IDE NETBEANS CRIAR O BANCO DE DADOS


12º Passo Relatórios e Impressões de Pedidos Elaborados Jaspersoft Studio vinculando a IDE NetBeans


Na IDE NetBeans na Classe TelaPrincipal  :


// metodo para imprimir pedido
    private void imprimir_pedido() {
        // imprimrido um pedido
        int confirma = JOptionPane.showConfirmDialog(null, "Confirma a Impressão deste Pedido ?", "Atenção !!!", JOptionPane.YES_NO_OPTION);
        if (confirma == JOptionPane.YES_OPTION) {
            // Emitindo o relatório com o Jaspersoft Studio
            try {
                // usando a classe HashMap para criar um filtro
                HashMap filtro = new HashMap();
                filtro.put("NumeroPedido", Integer.parseInt(txtIdVenda.getText()));
                // usando a classe JasperPrint para preparar a impressão do relatório
                JasperPrint print = JasperFillManager.fillReport("C:/reports/MyReports/Pedido.jasper", filtro, conexao);
                // a linha abaixo apresenta o relatótio através do JasperViewr
                JasperViewer.viewReport(print, false);
            } catch (Exception e) {
                JOptionPane.showMessageDialog(null, e);
            }
        }

    }


Comando de SQL para a Impressão de Pedido no Jaspersoft Studio:


select * from tbvenda
 inner join tbitensvenda 
 on tbvenda.idvenda = $P{NumeroPedido} 
where tbitensvenda.nomecli = tbvenda.nomecli

and tbitensvenda.tipo = tbvenda.tipo ;



Na IDE NetBeans na Classe TelaPrincipal  :


 // metodo para imprimir pedido Delivery
    private void imprimir_pedido_Delivery() {
        // imprimrido um pedido
        int confirma = JOptionPane.showConfirmDialog(null, "Confirma a Impressão deste Pedido ?", "Atenção !!!", JOptionPane.YES_NO_OPTION);
        if (confirma == JOptionPane.YES_OPTION) {
            // Emitindo o relatório com o Jaspersoft Studio
            try {
                // usando a classe HashMap para criar um filtro
                HashMap filtro = new HashMap();
                filtro.put("NumPedido", Integer.parseInt(txtIdVenda.getText()));
                // usando a classe JasperPrint para preparar a impressão do relatório
                JasperPrint print = JasperFillManager.fillReport("C:/reports/MyReports/Delivery.jasper", filtro, conexao);
                // a linha abaixo apresenta o relatótio através do JasperViewr
                JasperViewer.viewReport(print, false);
            } catch (Exception e) {
                JOptionPane.showMessageDialog(null, "Atenção Opção Válida Para Delivery ");
            }
        }

    }


Comando de SQL para a Impressão de Pedido Delivery no Jaspersoft Studio:


select * from tbvenda 
inner join tbitensvenda 
on tbitensvenda.nomecli = tbvenda.nomecli
inner join tbclientes 
on tbclientes.nomecli = tbvenda.nomecli
where tbvenda.idvenda =  $P{NumPedido} 
and tbitensvenda.tipo = tbvenda.tipo

and tbvenda.tipo = 'Delivery' ;



Na IDE NetBeans na Classe TelaPrincipal  :


 private void menRelCliActionPerformed(java.awt.event.ActionEvent evt) {                                          
        //Gerando um Relatório de Clientes
        int confirma = JOptionPane.showConfirmDialog(null, "Confirma a Impressão deste Relatório ?", "Atenção", JOptionPane.YES_NO_OPTION);
        if (confirma == JOptionPane.YES_OPTION) {
            // imprimindo Relatório de Clientes com o framework JasperStudio
            try {
                // Usando a classe JasperPrint para preparar a impressão do relatório
                JasperPrint print = JasperFillManager.fillReport("C:/reports/MyReports/ClientesLanchonete.jasper", null, conexao);
                // A linha abaixo exibe o relatório Cliente através da classe JasperViewer
                JasperViewer.viewReport(print, false);

            } catch (Exception e) {
                JOptionPane.showMessageDialog(null, e);
            }
        }

    }        




Comando de SQL para a Relatório de Clientes no Jaspersoft Studio:


select * from tbclientes order by nomecli;



Na IDE NetBeans na Classe TelaPrincipal  :



private void menRelFinalizadoActionPerformed(java.awt.event.ActionEvent evt) {                                                 
        //Gerando um Relatório de Pedidos Finalizados
        int confirma = JOptionPane.showConfirmDialog(null, "Confirma a Impressão deste Relatório ?", "Atenção", JOptionPane.YES_NO_OPTION);
        if (confirma == JOptionPane.YES_OPTION) {
            // imprimindo Relatório de Clientes com o framework JasperStudio
            try {
                // Usando a classe JasperPrint para preparar a impressão do relatório
                JasperPrint print = JasperFillManager.fillReport("C:/reports/MyReports/Finalizado.jasper", null, conexao);
                // A linha abaixo exibe o relatório Cliente através da classe JasperViewer
                JasperViewer.viewReport(print, false);

            } catch (Exception e) {
                JOptionPane.showMessageDialog(null, e);
            }
        }

    }              


Comando de SQL para a Relatório de Pedidos Finalizados no Jaspersoft Studio:


select tbvenda.datavenda as Data,
tbvenda.idvenda as Pedido, 
tbvenda.nomecli as Cliente, 
tbvenda.situacao as Status, 
tbvenda.tipo as Tipo, 
tbvenda.totalvenda as Valor
from tbvenda 

where  tbvenda.situacao = 'Finalizado';



Na IDE NetBeans na Classe TelaPrincipal  :


 private void menRelAbertoActionPerformed(java.awt.event.ActionEvent evt) {                                             
        //Gerando um Relatório de Pedidos Abertos
        int confirma = JOptionPane.showConfirmDialog(null, "Confirma a Impressão deste Relatório ?", "Atenção", JOptionPane.YES_NO_OPTION);
        if (confirma == JOptionPane.YES_OPTION) {
            // imprimindo Relatório de Clientes com o framework JasperStudio
            try {
                // Usando a classe JasperPrint para preparar a impressão do relatório
                JasperPrint print = JasperFillManager.fillReport("C:/reports/MyReports/Aberto.jasper", null, conexao);
                // A linha abaixo exibe o relatório Cliente através da classe JasperViewer
                JasperViewer.viewReport(print, false);

            } catch (Exception e) {
                JOptionPane.showMessageDialog(null, e);
            }
        }

    }               



Comando de SQL para a Relatório de Pedidos Abertos no Jaspersoft Studio:


select tbvenda.datavenda as Data,
tbvenda.idvenda as Pedido, 
tbvenda.nomecli as Cliente, 
tbvenda.situacao as Status, 
tbvenda.tipo as Tipo, 
tbvenda.totalvenda as Valor
from tbvenda 

where  tbvenda.situacao = 'Aberto';

Nenhum comentário:

Postar um comentário