Package controleEstoque.arquivos

Source Code of controleEstoque.arquivos.ControlRelatorios

package controleEstoque.arquivos;

import controleEstoque.entidades.EntradaProduto;
import controleEstoque.entidades.Fornecedor;
import controleEstoque.entidades.Produto;
import controleEstoque.entidades.SaidaProduto;
import controleEstoque.estruturaDados.ListaFornecedor;
import controleEstoque.estruturaDados.No;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

public class ControlRelatorios {   
  
    /**
     * A partir de um determinado produto e de uma lista de fornecedores é gerado um relatório dos Fornecedores
     * por este produto.
     * @param produto produto especifico
     * @param listaFornecedor lista de fornecedores do produto
     * @return O local do arquivo de texto
     */
    public String geraRelatorioFornecedor(Produto produto, ListaFornecedor listaFornecedor ){
        File file = new File(produto.getNome() + ".txt");              
        No aux;
         
            try {               
                BufferedWriter writer = new BufferedWriter(new FileWriter(file));
                writer.write("---------- Relatório Fornecedor ----------");
                writer.newLine();
                writer.write("Produto: " + produto.getNome());
                writer.newLine();
                writer.write("---------- Fornecedores ------------------");
                writer.newLine();
                aux = listaFornecedor.getInicio();
               
                int i = 1;
               
                while(aux != null){
                    Fornecedor fornecedor = (Fornecedor) aux.getObjeto();
                    writer.write("Nome: " + fornecedor.getNome());
                    writer.newLine();
                    writer.write("Telefone: " + fornecedor.getTelefone());
                    writer.newLine();
                    writer.newLine();
                    aux = aux.getProx();
                    i++;
                }
               
                writer.write("-----------------------------------------");
                writer.newLine();
                writer.write("Total: " + Integer.toString(i));
                writer.newLine();
                writer.write("Data: " + new SimpleDateFormat("dd/mm/yyyy").format(new Date()));
                writer.close();
               
            } catch (Exception e) {
                return "";
            }
           
            return file.getPath();
     
   
    }
   
    int total = 0;   
    /**
     * Gera relatório de entrada de produtos
     * @param produto
     * @param entradaProduto
     * @return
     */
    public String geraRelatorioProdutos(Produto produto, EntradaProduto entradaProduto){
        File arquivoProduto = new File("Produtos/EntradaProdutos/entradaProduto" + Integer.toString(produto.getId())+".txt");
        File arquivoRelatorio = new File("Produtos/EntradaProdutos/RelatorioProduto" + produto.getNome() + Integer.toString(produto.getId()) + ".txt");
        if(arquivoProduto.exists()){           
            try {
                BufferedWriter writer = new BufferedWriter(new FileWriter(arquivoRelatorio));
                writer.write("--- Relatório Entrada Produto ----------");
                writer.newLine();
                writer.write("Produto: " + produto.getNome());
                writer.newLine();
                writer.write("---------- Entradas --------------------");
                writer.newLine();
                writer.write(leArquivoEntrada(arquivoProduto));
                writer.write("----------------------------------------");
                writer.newLine();
                writer.write("Total: " + Integer.toString(total));
                writer.newLine();
                writer.write("Data: " + new SimpleDateFormat("dd/mm/yyyy").format(new Date()));
                writer.close();
            } catch (Exception e) {
                JOptionPane.showMessageDialog(null, e);
            }
          
           
           
        }
        return new ControlCarregaArquivos().retornaStringArquivo(arquivoRelatorio.getPath());
    }   
   
    /**
     * Le o arquivo de texto de entrada de produtos
     * @param arquivoProduto
     * @return
     */
    public String leArquivoEntrada(File arquivoProduto){
        String strRetorno = "";       
        try {
            BufferedReader reader = new BufferedReader(new FileReader(arquivoProduto));
            String strReader = reader.readLine();
           
            int i = 0;  
            total = 0;
            while(strReader != null){
                switch (i){
                    case 0:
                        strRetorno += "Data: " + strReader;
                    break;
                    case 1:
                        strRetorno += "Fornecedor: " + strReader;
                    break;
                    case 2:
                        strRetorno += "Telefone: " + strReader;
                    break;
                    case 3:
                        i = 0;
                        total++;
                    break;
                }
                i++;              
                strRetorno += "\n";
                strReader = reader.readLine();
                   
            }
            reader.close();
        } catch (Exception ex) {
            Logger.getLogger(ControlRelatorios.class.getName()).log(Level.SEVERE, null, ex);
        }
               
               
        return strRetorno;
    }  
   
    /**
     * Le o arquivo de saída de produto
     * @param arquivoProduto
     * @return
     */
   
    public String leArquivoSaida(File arquivoProduto){
        String strRetorno = "";       
        try {
            BufferedReader reader = new BufferedReader(new FileReader(arquivoProduto));
            String strReader = reader.readLine();
           
            int i = 0;  
            total = 0;
            while(strReader != null){
                switch (i){
                    case 0:
                        strRetorno += "Quantidade: " + strReader;
                    break;
                    case 1:
                        strRetorno += "Funcionario: " + strReader;
                    break;
                    case 2:
                        strRetorno += "Data: " + strReader;
                    break;
                    case 3:
                        i = 0;
                        total++;
                    break;
                }
                i++;              
                strRetorno += "\n";
                strReader = reader.readLine();
                   
            }
            reader.close();
        } catch (Exception ex) {
            Logger.getLogger(ControlRelatorios.class.getName()).log(Level.SEVERE, null, ex);
        }
               
               
        return strRetorno;
    }  
   
    /**
     * Cria o arquivo de saida de produtos
     * @param produto
     * @param saidaProduto
     * @return
     */
    public String geraRelatorioProdutos(Produto produto, SaidaProduto saidaProduto){
        File arquivoProduto = new File("Produtos/SaidaProdutos/saidaProduto" + Integer.toString(produto.getId())+".txt");
        File arquivoRelatorio = new File("Produtos/SaidaProdutos/RelatorioProduto" + produto.getNome() + Integer.toString(produto.getId()) + ".txt");
        if(arquivoProduto.exists()){           
            try {
                BufferedWriter writer = new BufferedWriter(new FileWriter(arquivoRelatorio));
                writer.write("--- Relatório Saída Produto ----------");
                writer.newLine();
                writer.write("Produto: " + produto.getNome());
                writer.newLine();
                writer.write("---------- Saídas --------------------");
                writer.newLine();
                writer.write(leArquivoSaida(arquivoProduto));
                writer.write("----------------------------------------");
                writer.newLine();
                writer.write("Total: " + Integer.toString(total));
                writer.newLine();
                writer.write("Data: " + new SimpleDateFormat("dd/mm/yyyy").format(new Date()));
                writer.close();
            } catch (Exception e) {
                JOptionPane.showMessageDialog(null, e);
            }
          
           
           
        }
        return new ControlCarregaArquivos().retornaStringArquivo(arquivoRelatorio.getPath());
    }
   
    /**
     * Gera o relatório de consumo dos funcionários
     * @return String com o valor do relatório
     */
    public String relatorioConsumoFuncionario(){
        return "";
    }
   
   
}
TOP

Related Classes of controleEstoque.arquivos.ControlRelatorios

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.