funcoes.funcoes.java Source code

Java tutorial

Introduction

Here is the source code for funcoes.funcoes.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 funcoes;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Types;
import java.text.NumberFormat;
import java.text.ParseException;
import java.util.Calendar;
import java.util.Vector;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.swing.JOptionPane;
import javax.swing.JTable;

import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;

/**
 *
 * @author celiobj
 */
public class funcoes {

    public static String paraFormatoDinheiro(Double valor) {

        NumberFormat formato2 = NumberFormat.getInstance();
        //JOptionPane.showMessageDialog(null, valor);
        //JOptionPane.showMessageDialog(null, formato2);
        return formato2.format(valor);

    }

    public static String formatoParaInserir(String valor) throws ParseException {

        NumberFormat formato2 = NumberFormat.getNumberInstance();
        return formato2.parse(valor).toString();

    }

    public static String paraFormatoDinheiroRelatorio(Double valor) {

        NumberFormat formato2 = NumberFormat.getCurrencyInstance();
        //JOptionPane.showMessageDialog(null, valor);
        //JOptionPane.showMessageDialog(null, formato2);
        return formato2.format(valor);

    }

    public static String ajustarDinheiroDigitado(Double valor) {

        NumberFormat formato2 = NumberFormat.getCurrencyInstance();

        String retorno = formato2.format(valor);
        return retorno.substring(3, retorno.length());

    }

    public static String ajustarDinheiroTabela(Double valor) {

        NumberFormat formato2 = NumberFormat.getCurrencyInstance();
        String ValorTexto = valor.toString();
        String retorno;
        if (ValorTexto.charAt(0) == '-') {

            String aux = formato2.format(valor);
            retorno = "-" + aux.substring(4);

        } else {
            retorno = formato2.format(valor).substring(3);
        }

        return retorno;

    }

    public static String paraInserirData(String data) {

        String retorno, dia, mes, ano;
        dia = data.substring(0, 2);
        mes = data.substring(3, 5);
        ano = data.substring(6, 10);
        retorno = ano + mes + dia;
        return retorno;

    }

    public static String paraRecuperarData(String data) {

        String retorno, dia, mes, ano;
        dia = data.substring(8, 10);
        mes = data.substring(5, 7);
        ano = data.substring(0, 4);
        retorno = dia + "/" + mes + "/" + ano;
        return retorno;

    }

    public static String pegarNumeroMes(String mes) {

        String numeroMes;
        numeroMes = null;

        switch (mes) {

        case "Janeiro": {
            numeroMes = "01";
            break;
        }
        case "Fevereiro": {
            numeroMes = "02";
            break;
        }
        case "Maro": {
            numeroMes = "03";
            break;
        }
        case "Abril": {
            numeroMes = "04";
            break;
        }
        case "Maio": {
            numeroMes = "05";
            break;
        }
        case "Junho": {
            numeroMes = "06";
            break;
        }
        case "Julho": {
            numeroMes = "07";
            break;
        }
        case "Agosto": {
            numeroMes = "08";
            break;
        }
        case "Setembro": {
            numeroMes = "09";
            break;
        }
        case "Outubro": {
            numeroMes = "10";
            break;
        }
        case "Novembro": {
            numeroMes = "11";
            break;
        }
        case "Dezembro": {
            numeroMes = "12";
            break;
        }
        }

        return numeroMes;

    }

    public static String diasNoMes(String mes) {

        String diasNoMes;
        diasNoMes = null;

        switch (mes) {

        case "Janeiro": {
            diasNoMes = "31";
            break;
        }
        case "Fevereiro": {
            diasNoMes = "28";
            break;
        }
        case "Maro": {
            diasNoMes = "31";
            break;
        }
        case "Abril": {
            diasNoMes = "30";
            break;
        }
        case "Maio": {
            diasNoMes = "31";
            break;
        }
        case "Junho": {
            diasNoMes = "30";
            break;
        }
        case "Julho": {
            diasNoMes = "31";
            break;
        }
        case "Agosto": {
            diasNoMes = "31";
            break;
        }
        case "Setembro": {
            diasNoMes = "30";
            break;
        }
        case "Outubro": {
            diasNoMes = "31";
            break;
        }
        case "Novembro": {
            diasNoMes = "30";
            break;
        }
        case "Dezembro": {
            diasNoMes = "31";
            break;
        }
        }

        return diasNoMes;

    }

    public static String dataInicioMes(String mes) {

        String dataInicioMes;
        dataInicioMes = null;

        switch (mes) {

        case "Janeiro": {
            dataInicioMes = "01/01";
            break;
        }
        case "Fevereiro": {
            dataInicioMes = "01/02";
            break;
        }
        case "Maro": {
            dataInicioMes = "01/03";
            break;
        }
        case "Abril": {
            dataInicioMes = "01/04";
            break;
        }
        case "Maio": {
            dataInicioMes = "01/05";
            break;
        }
        case "Junho": {
            dataInicioMes = "01/06";
            break;
        }
        case "Julho": {
            dataInicioMes = "01/07";
            break;
        }
        case "Agosto": {
            dataInicioMes = "01/08";
            break;
        }
        case "Setembro": {
            dataInicioMes = "01/09";
            break;
        }
        case "Outubro": {
            dataInicioMes = "01/10";
            break;
        }
        case "Novembro": {
            dataInicioMes = "01/11";
            break;
        }
        case "Dezembro": {
            dataInicioMes = "01/12";
            break;
        }
        }

        return dataInicioMes;

    }

    public static String dataFimMes(String mes) {

        String dataFimMes;
        dataFimMes = null;

        switch (mes) {

        case "Janeiro": {
            dataFimMes = "31/01";
            break;
        }
        case "Fevereiro": {
            dataFimMes = "28/02";
            break;
        }
        case "Maro": {
            dataFimMes = "31/03";
            break;
        }
        case "Abril": {
            dataFimMes = "30/04";
            break;
        }
        case "Maio": {
            dataFimMes = "31/05";
            break;
        }
        case "Junho": {
            dataFimMes = "30/06";
            break;
        }
        case "Julho": {
            dataFimMes = "31/07";
            break;
        }
        case "Agosto": {
            dataFimMes = "31/08";
            break;
        }
        case "Setembro": {
            dataFimMes = "30/09";
            break;
        }
        case "Outubro": {
            dataFimMes = "31/10";
            break;
        }
        case "Novembro": {
            dataFimMes = "30/11";
            break;
        }
        case "Dezembro": {
            dataFimMes = "31/12";
            break;
        }
        }

        return dataFimMes;

    }

    public static void enviardEmailSimpes(String emailPara, String nomePara, String assunto, String mensagem)
            throws EmailException {

        SimpleEmail email = new SimpleEmail();
        //Utilize o hostname do seu provedor de email
        //System.out.println("alterando hostname...");

        email.setHostName("smtp.gmail.com");
        //Quando a porta utilizada no  a padro (gmail = 465)
        email.setSmtpPort(465);
        //Adicione os destinatrios
        email.addTo(emailPara, nomePara);
        //Configure o seu email do qual enviar
        email.setFrom("cbjsolutions@gmail.com", "CBJ Solutions");
        //Adicione um assunto
        email.setSubject(assunto);
        //Adicione a mensagem do email
        email.setMsg(mensagem);
        //Para autenticar no servidor  necessrio chamar os dois mtodos abaixo
        //System.out.println("autenticando...");
        email.setSSL(true);
        email.setAuthentication("cbjsolutions", "slipclown");
        //System.out.println("enviando...");
        email.send();
        //System.out.println("Email enviado!");

    }

    public static String pesquisarDiaSemana(int _diaSemana) {

        String diaSemana = null;

        switch (_diaSemana) {

        case 1: {
            diaSemana = "Domingo";
            break;
        }
        case 2: {
            diaSemana = "Segunda";
            break;
        }
        case 3: {
            diaSemana = "Tera";
            break;
        }
        case 4: {
            diaSemana = "Quarta";
            break;
        }
        case 5: {
            diaSemana = "Quinta";
            break;
        }
        case 6: {
            diaSemana = "Sexta";
            break;
        }
        case 7: {
            diaSemana = "Sbado";
            break;
        }

        }
        return diaSemana;

    }

    public static void geraLog(String nome, String log) {

        int dia, mes, ano;
        String data_log;
        Calendar data;
        data = Calendar.getInstance();
        dia = data.get(Calendar.DAY_OF_MONTH);
        mes = data.get(Calendar.MONTH);
        ano = data.get(Calendar.YEAR);
        data_log = +dia + "_" + (mes + 1) + "_" + ano;
        if (dia < 10 && mes < 10) {
            data_log = "0" + dia + "_0" + (mes + 1) + "_" + ano;
        } else if (dia < 10 && mes >= 10) {
            data_log = "0" + dia + "_" + (mes + 1) + "_" + ano;
        } else if (dia >= 10 && mes < 10) {
            data_log = dia + "_0" + (mes + 1) + "_" + ano;
        } else {
            data_log = dia + "_" + (mes + 1) + "_" + ano;
        }

        File arquivo = new File("C:/SOVIONG/log/log_" + data_log + ".txt");

        try {
            if (!arquivo.exists()) {
                //cria um arquivo (vazio)
                arquivo.createNewFile();
            }

            //caso seja um diretrio,  possvel listar seus arquivos e diretrios
            //File[] arquivos = arquivo.listFiles();
            //escreve no arquivo
            FileWriter fw = new FileWriter(arquivo, true);
            BufferedWriter bw = new BufferedWriter(fw);
            bw.write(log + " "
                    + data.getTime().toLocaleString().substring(10, data.getTime().toLocaleString().length())
                    + " do dia: " + data.getTime().toLocaleString().substring(0, 10));
            bw.newLine();
            bw.close();
            fw.close();

        } catch (IOException ex) {
            JOptionPane.showMessageDialog(null, ex.getMessage());
        }

    }

    public static boolean validaEmail(String email) {

        Pattern p = Pattern.compile("^[\\w-]+(\\.[\\w-]+)*@([\\w-]+\\.)+[a-zA-Z]{2,7}$");
        Matcher m = p.matcher(email);
        return m.find();
    }

    public static double calculaTotalMedia(JTable tabela, int coluna, String tipo, int denominador)
            throws ParseException {
        double valorTotal = 0.0;
        double valorAdd = 0.0;

        for (int a = 1; a <= tabela.getRowCount(); a++) {

            try {
                valorAdd = Double
                        .parseDouble(funcoes.formatoParaInserir(tabela.getValueAt(a - 1, coluna).toString()));
                if (valorAdd < 0.0 && tipo.equalsIgnoreCase("-")) {

                    valorTotal = valorTotal + valorAdd;

                } else {
                    if (valorAdd >= 0.0 && tipo.equalsIgnoreCase("+")) {

                        valorTotal = valorTotal + valorAdd;

                    } else {
                        if (tipo.equalsIgnoreCase("0")) {
                            valorTotal = valorTotal + valorAdd;

                        }
                    }

                }

            } catch (NullPointerException ex) {
            }
        }
        return valorTotal / denominador;

    }

    public static String calculaTotal(JTable tabela, int coluna, String tipo) throws ParseException {
        double valorTotal = 0.0;
        double valorAdd = 0.0;
        String retorno = null;

        for (int a = 1; a <= tabela.getRowCount(); a++) {

            try {
                valorAdd = Double
                        .parseDouble(funcoes.formatoParaInserir(tabela.getValueAt(a - 1, coluna).toString()));
                if (valorAdd < 0.0 && tipo.equalsIgnoreCase("-")) {

                    valorTotal = valorTotal + valorAdd;
                    retorno = "R$ " + funcoes.paraFormatoDinheiro(valorTotal);

                } else {
                    if (valorAdd >= 0.0 && tipo.equalsIgnoreCase("+")) {

                        valorTotal = valorTotal + valorAdd;
                        retorno = "R$ " + funcoes.paraFormatoDinheiro(valorTotal);

                    } else {
                        if (tipo.equalsIgnoreCase("0")) {
                            valorTotal = valorTotal + valorAdd;
                            retorno = "R$ " + funcoes.paraFormatoDinheiro(valorTotal);

                        }
                    }

                }

            } catch (NullPointerException ex) {
            }
        }
        return retorno;

    }

    public static String calculaTotalFormatoDinheiro(JTable tabela, int coluna, String tipo) throws ParseException {
        double valorTotal = 0.0;
        double valorAdd = 0.0;
        String retorno = null;

        for (int a = 1; a <= tabela.getRowCount(); a++) {

            valorAdd = Double.parseDouble(funcoes.formatoParaInserir(tabela.getValueAt(a - 1, coluna).toString()
                    .substring(3, tabela.getValueAt(a - 1, coluna).toString().length())));
            if (valorAdd < 0.0 && tipo.equalsIgnoreCase("-")) {

                valorTotal = valorTotal + valorAdd;
                retorno = "R$ " + funcoes.paraFormatoDinheiro(valorTotal);

            } else {
                if (valorAdd >= 0.0 && tipo.equalsIgnoreCase("+")) {

                    valorTotal = valorTotal + valorAdd;
                    retorno = "R$ " + funcoes.paraFormatoDinheiro(valorTotal);

                } else {
                    if (tipo.equalsIgnoreCase("0")) {
                        valorTotal = valorTotal + valorAdd;
                        retorno = "R$ " + funcoes.paraFormatoDinheiro(valorTotal);

                    }
                }

            }

        }
        return retorno;

    }

    @SuppressWarnings("rawtypes")
    public static Vector<Comparable> proximaLinha(ResultSet rs, ResultSetMetaData rsmd) throws SQLException {
        Vector<Comparable> LinhaAtual = new Vector<Comparable>();

        try {
            for (int i = 1; i <= rsmd.getColumnCount(); ++i) {
                switch (rsmd.getColumnType(i)) {

                case Types.VARCHAR:
                    LinhaAtual.addElement(rs.getString(i));
                    break;
                case Types.TIMESTAMP:
                    LinhaAtual.addElement(rs.getDate(i).toLocaleString().substring(0, 10));
                    break;
                case Types.INTEGER:
                    LinhaAtual.addElement(rs.getInt(i));
                    break;
                case Types.DECIMAL:
                    LinhaAtual.addElement(funcoes.paraFormatoDinheiro(rs.getDouble(i)));
                    break;
                case Types.DOUBLE:
                    LinhaAtual.addElement(funcoes.paraFormatoDinheiro(rs.getDouble(i)));
                    break;

                }
            }
        } catch (SQLException e) {
        }
        return LinhaAtual;

    }

}