public boolean validaDataInicialDigitada(String dataInicial, String dataFinal) {

        if (dataInicial.equals("  /  /    ") || dataInicial.trim().equals("/  /")) {
            JOptionPane.showMessageDialog(null, "Informar a data inicial!");
            jFTInicioLote.grabFocus();
            return false;
        } else if (dataFinal.equals("  /  /    ") || dataFinal.trim().equals("/  /")) {
            JOptionPane.showMessageDialog(null, "Informar a data inicial!");
            jFTDataFinalLote.grabFocus();
            return false;

        } else {

            //data inicial
            int dia = Integer.parseInt(dataInicial.substring(0, 2));
            int mes = Integer.parseInt(dataInicial.substring(3, 5));
            int ano = Integer.parseInt(dataInicial.substring(6, 10));

            Calendar dataInicialCal = Calendar.getInstance();
            dataInicialCal.set(Calendar.DAY_OF_MONTH, dia);
            dataInicialCal.set(Calendar.MONTH, Validacoes.retornaMes(mes));
            dataInicialCal.set(Calendar.YEAR, ano);
            dataInicialCal.set(Calendar.HOUR_OF_DAY, 00);
            dataInicialCal.set(Calendar.MINUTE, 00);
            dataInicialCal.set(Calendar.SECOND, 00);
            Date dataInicialDate = dataInicialCal.getTime();

            //data final
            int diaFinal = Integer.parseInt(dataFinal.substring(0, 2));
            int mesFinal = Integer.parseInt(dataFinal.substring(3, 5));
            int anoFinal = Integer.parseInt(dataFinal.substring(6, 10));

            Calendar dataFinalCal = Calendar.getInstance();
            dataFinalCal.set(Calendar.DAY_OF_MONTH, diaFinal);
            dataFinalCal.set(Calendar.MONTH, Validacoes.retornaMes(mesFinal));
            dataFinalCal.set(Calendar.YEAR, anoFinal);
            dataFinalCal.set(Calendar.HOUR_OF_DAY, 00);
            dataFinalCal.set(Calendar.MINUTE, 00);
            dataFinalCal.set(Calendar.SECOND, 00);
            Date dataFinalDate = dataFinalCal.getTime();

            //data sistema
            Calendar dataSistema = Calendar.getInstance();
            dataSistema.set(Calendar.HOUR_OF_DAY, 00);
            dataSistema.set(Calendar.MINUTE, 00);
            dataSistema.set(Calendar.SECOND, 00);
            Date dataSistemaDate = dataSistema.getTime();

            //data sistema menos 2 dias
            dataSistema.add(Calendar.DAY_OF_MONTH, -2);
            Date dataSistemaMenosDoisDias = dataSistema.getTime();

            //data sistema menos 1 dias
            dataSistema.add(Calendar.DAY_OF_MONTH, 1);
            Date dataSistemaMenosUmDias = dataSistema.getTime();

            if (dataInicialDate.getTime() != dataFinalDate.getTime()) {

                if (dataInicialDate.getTime() <= dataSistemaMenosDoisDias.getTime()) {
                    int resp = JOptionPane.showConfirmDialog(null, "A data inicial é menor que a data do sistema, está correto?", "Atenção",
                            JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
                    if (resp == JOptionPane.YES_OPTION) {
                        return true;
                    } else {
                        jFTInicioLote.setText("");
                        jFTDataFinalLote.setText("");
                        jFTInicioLote.grabFocus();
                        return false;
                    }

                } else {
                    return true;
                }
            } else {  //valida somente um dia a menos

                if (dataInicialDate.getTime() <= dataSistemaMenosUmDias.getTime()) {

                    int resp = JOptionPane.showConfirmDialog(null, "A data inicial é menor que a data do sistema, está correto?", "Atenção",
                            JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
                    if (resp == JOptionPane.YES_OPTION) {
                        return true;
                    } else {
                        jFTInicioLote.setText("");
                        jFTDataFinalLote.setText("");
                        jFTInicioLote.grabFocus();
                        return false;
                    }

                } else {
                    return true;
                }
            }
        }
    }